Repository: qdm12/gluetun Branch: master Commit: 5e6c11b04587 Files: 796 Total size: 9.3 MB Directory structure: gitextract_eckrvmuz/ ├── .devcontainer/ │ ├── .dockerignore │ ├── Dockerfile │ ├── README.md │ └── devcontainer.json ├── .dockerignore ├── .github/ │ ├── CODEOWNERS │ ├── CONTRIBUTING.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.yml │ │ ├── config.yml │ │ ├── feature_request.yml │ │ └── provider.md │ ├── dependabot.yml │ ├── labels.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── ci-skip.yml │ ├── ci.yml │ ├── closed-issue.yml │ ├── configs/ │ │ └── mlc-config.json │ ├── labels.yml │ ├── markdown-skip.yml │ ├── markdown.yml │ ├── opened-issue.yml │ └── update-servers-list.yml ├── .gitignore ├── .golangci.yml ├── .markdownlint-cli2.jsonc ├── .vscode/ │ ├── extensions.json │ ├── settings.json │ └── tasks.json ├── Dockerfile ├── LICENSE ├── README.md ├── ci/ │ ├── cmd/ │ │ └── main.go │ ├── go.mod │ ├── go.sum │ └── internal/ │ ├── mullvad.go │ ├── protonvpn.go │ ├── secrets.go │ └── simple.go ├── cmd/ │ └── gluetun/ │ └── main.go ├── go.mod ├── go.sum ├── internal/ │ ├── alpine/ │ │ ├── alpine.go │ │ ├── users.go │ │ └── version.go │ ├── amneziawg/ │ │ ├── constructor.go │ │ ├── constructor_test.go │ │ ├── helpers_test.go │ │ ├── log.go │ │ ├── log_mock_test.go │ │ ├── netlinker.go │ │ ├── netlinker_mock_test.go │ │ ├── run.go │ │ └── settings.go │ ├── boringpoll/ │ │ ├── boringpoll.go │ │ └── interfaces.go │ ├── cleanup/ │ │ ├── cleanup.go │ │ ├── cleanup_test.go │ │ ├── interfaces.go │ │ ├── mocks_generate_test.go │ │ └── mocks_test.go │ ├── cli/ │ │ ├── ci.go │ │ ├── cli.go │ │ ├── clientkey.go │ │ ├── formatservers.go │ │ ├── genkey.go │ │ ├── healthcheck.go │ │ ├── interfaces.go │ │ ├── nooplogger.go │ │ ├── openvpnconfig.go │ │ ├── update.go │ │ └── warner.go │ ├── command/ │ │ ├── cmder.go │ │ ├── interfaces.go │ │ ├── interfaces_local.go │ │ ├── mocks_generate_test.go │ │ ├── mocks_local_test.go │ │ ├── run.go │ │ ├── run_test.go │ │ ├── split.go │ │ ├── split_test.go │ │ ├── start.go │ │ ├── start_test.go │ │ └── startnlog.go │ ├── configuration/ │ │ ├── settings/ │ │ │ ├── amneziawg.go │ │ │ ├── boringpoll.go │ │ │ ├── deprecated.go │ │ │ ├── dns.go │ │ │ ├── dns_test.go │ │ │ ├── dnsblacklist.go │ │ │ ├── errors.go │ │ │ ├── firewall.go │ │ │ ├── firewall_test.go │ │ │ ├── health.go │ │ │ ├── helpers/ │ │ │ │ └── belong.go │ │ │ ├── helpers.go │ │ │ ├── helpers_test.go │ │ │ ├── httpproxy.go │ │ │ ├── interfaces.go │ │ │ ├── iptables.go │ │ │ ├── log.go │ │ │ ├── mocks_generate_test.go │ │ │ ├── mocks_reader_test.go │ │ │ ├── mocks_test.go │ │ │ ├── nordvpn_retro.go │ │ │ ├── openvpn.go │ │ │ ├── openvpn_test.go │ │ │ ├── openvpnselection.go │ │ │ ├── pmtud.go │ │ │ ├── portforward.go │ │ │ ├── portforward_test.go │ │ │ ├── provider.go │ │ │ ├── publicip.go │ │ │ ├── publicip_test.go │ │ │ ├── server.go │ │ │ ├── serverselection.go │ │ │ ├── settings.go │ │ │ ├── settings_test.go │ │ │ ├── shadowsocks.go │ │ │ ├── storage.go │ │ │ ├── surfshark_retro.go │ │ │ ├── system.go │ │ │ ├── updater.go │ │ │ ├── validation/ │ │ │ │ ├── servers.go │ │ │ │ └── surfshark.go │ │ │ ├── version.go │ │ │ ├── vpn.go │ │ │ ├── wireguard.go │ │ │ └── wireguardselection.go │ │ └── sources/ │ │ ├── files/ │ │ │ ├── amneziawg.go │ │ │ ├── amneziawg_test.go │ │ │ ├── helpers.go │ │ │ ├── interfaces.go │ │ │ ├── reader.go │ │ │ ├── wireguard.go │ │ │ └── wireguard_test.go │ │ └── secrets/ │ │ ├── amneziawg.go │ │ ├── helpers.go │ │ ├── interfaces.go │ │ ├── reader.go │ │ ├── reader_test.go │ │ └── wireguard.go │ ├── constants/ │ │ ├── colors.go │ │ ├── countries.go │ │ ├── openvpn/ │ │ │ ├── auth.go │ │ │ ├── ciphers.go │ │ │ ├── paths.go │ │ │ └── versions.go │ │ ├── paths.go │ │ ├── protocol.go │ │ ├── providers/ │ │ │ ├── providers.go │ │ │ └── providers_test.go │ │ ├── status.go │ │ └── vpn/ │ │ └── protocol.go │ ├── dns/ │ │ ├── leak.go │ │ ├── leak_test.go │ │ ├── logger.go │ │ ├── loop.go │ │ ├── plaintext.go │ │ ├── run.go │ │ ├── settings.go │ │ ├── setup.go │ │ ├── state/ │ │ │ ├── settings.go │ │ │ └── state.go │ │ ├── status.go │ │ ├── ticker.go │ │ └── update.go │ ├── firewall/ │ │ ├── enable.go │ │ ├── firewall.go │ │ ├── interfaces.go │ │ ├── iptables/ │ │ │ ├── atomic.go │ │ │ ├── cmd_matcher_test.go │ │ │ ├── delete.go │ │ │ ├── delete_test.go │ │ │ ├── firewall.go │ │ │ ├── interfaces.go │ │ │ ├── ip6tables.go │ │ │ ├── iptables.go │ │ │ ├── iptablesmix.go │ │ │ ├── list.go │ │ │ ├── list_test.go │ │ │ ├── mocks_generate_test.go │ │ │ ├── mocks_test.go │ │ │ ├── parse.go │ │ │ ├── parse_test.go │ │ │ ├── support.go │ │ │ ├── support_test.go │ │ │ └── tcp.go │ │ ├── logger.go │ │ ├── outboundsubnets.go │ │ ├── ports.go │ │ ├── redirect.go │ │ ├── vpn.go │ │ └── wrappers.go │ ├── format/ │ │ ├── duration.go │ │ └── duration_test.go │ ├── healthcheck/ │ │ ├── checker.go │ │ ├── checker_test.go │ │ ├── client.go │ │ ├── dns/ │ │ │ └── dns.go │ │ ├── handler.go │ │ ├── icmp/ │ │ │ ├── apple_ipv4.go │ │ │ ├── echo.go │ │ │ ├── interfaces.go │ │ │ └── listen.go │ │ ├── interfaces.go │ │ ├── run.go │ │ └── server.go │ ├── httpproxy/ │ │ ├── accept.go │ │ ├── auth.go │ │ ├── handler.go │ │ ├── handler_test.go │ │ ├── http.go │ │ ├── https.go │ │ ├── logger.go │ │ ├── loop.go │ │ ├── run.go │ │ ├── server.go │ │ ├── settings.go │ │ ├── state/ │ │ │ ├── settings.go │ │ │ └── state.go │ │ └── status.go │ ├── httpserver/ │ │ ├── address.go │ │ ├── helpers_test.go │ │ ├── logger.go │ │ ├── logger_mock_test.go │ │ ├── run.go │ │ ├── run_test.go │ │ ├── server.go │ │ ├── server_test.go │ │ ├── settings.go │ │ └── settings_test.go │ ├── loopstate/ │ │ ├── apply.go │ │ ├── get.go │ │ ├── lock.go │ │ ├── set.go │ │ └── state.go │ ├── mod/ │ │ ├── configgz_linux.go │ │ ├── info_linux.go │ │ ├── load_linux.go │ │ ├── probe_linux.go │ │ └── probe_unspecified.go │ ├── models/ │ │ ├── alias.go │ │ ├── build.go │ │ ├── connection.go │ │ ├── filters.go │ │ ├── markdown.go │ │ ├── markdown_test.go │ │ ├── publicip.go │ │ ├── server.go │ │ ├── server_test.go │ │ ├── servers.go │ │ ├── servers_test.go │ │ └── sort.go │ ├── natpmp/ │ │ ├── checks.go │ │ ├── checks_test.go │ │ ├── externaladdress.go │ │ ├── externaladdress_test.go │ │ ├── helpers_test.go │ │ ├── natpmp.go │ │ ├── natpmp_test.go │ │ ├── portmapping.go │ │ ├── portmapping_test.go │ │ ├── rpc.go │ │ └── rpc_test.go │ ├── netlink/ │ │ ├── address.go │ │ ├── conntrack_linux.go │ │ ├── conntrack_unspecified.go │ │ ├── conversion.go │ │ ├── conversion_test.go │ │ ├── family.go │ │ ├── family_linux.go │ │ ├── helpers_test.go │ │ ├── interfaces.go │ │ ├── ipv6.go │ │ ├── link.go │ │ ├── link_linux.go │ │ ├── link_test.go │ │ ├── netlink.go │ │ ├── netlink_unspecified.go │ │ ├── route.go │ │ ├── route_linux.go │ │ ├── rule.go │ │ ├── rule_linux.go │ │ ├── rule_test.go │ │ ├── wireguard_linux.go │ │ └── wireguard_test.go │ ├── openvpn/ │ │ ├── auth.go │ │ ├── config.go │ │ ├── extract/ │ │ │ ├── data.go │ │ │ ├── extract.go │ │ │ ├── extract_test.go │ │ │ ├── extractor.go │ │ │ ├── helpers_test.go │ │ │ ├── pem.go │ │ │ ├── pem_test.go │ │ │ ├── read.go │ │ │ └── read_test.go │ │ ├── interfaces.go │ │ ├── logger.go │ │ ├── logs.go │ │ ├── logs_test.go │ │ ├── openvpn.go │ │ ├── paths.go │ │ ├── pkcs8/ │ │ │ ├── algorithms.go │ │ │ ├── algorithms_test.go │ │ │ ├── descbc.go │ │ │ ├── testdata/ │ │ │ │ ├── readme.txt │ │ │ │ ├── rsa_pkcs8_aes128cbc_decrypted.pem │ │ │ │ ├── rsa_pkcs8_aes128cbc_encrypted.pem │ │ │ │ ├── rsa_pkcs8_descbc_decrypted.pem │ │ │ │ └── rsa_pkcs8_descbc_encrypted.pem │ │ │ ├── upgrade.go │ │ │ └── upgrade_test.go │ │ ├── run.go │ │ ├── start.go │ │ ├── start_linux.go │ │ ├── start_unspecified.go │ │ ├── stream.go │ │ └── version.go │ ├── pmtud/ │ │ ├── constants/ │ │ │ ├── lengths.go │ │ │ ├── syscall_unix.go │ │ │ └── syscall_windows.go │ │ ├── icmp/ │ │ │ ├── apple_ipv4.go │ │ │ ├── check.go │ │ │ ├── df_linux.go │ │ │ ├── df_unspecified.go │ │ │ ├── df_windows.go │ │ │ ├── errors.go │ │ │ ├── icmp.go │ │ │ ├── interfaces.go │ │ │ ├── ipv4.go │ │ │ ├── ipv6.go │ │ │ ├── message.go │ │ │ └── multi.go │ │ ├── interfaces.go │ │ ├── ip/ │ │ │ ├── family.go │ │ │ ├── ipheader.go │ │ │ ├── ipheader_darwin.go │ │ │ ├── ipheader_unspecified.go │ │ │ ├── ipv4_unix.go │ │ │ ├── ipv4_unspecified.go │ │ │ ├── ipv4_windows.go │ │ │ ├── source.go │ │ │ ├── source_unix.go │ │ │ └── source_windows.go │ │ ├── nooplogger.go │ │ ├── pmtud.go │ │ ├── pmtud_integration_test.go │ │ ├── tcp/ │ │ │ ├── helpers_test.go │ │ │ ├── interfaces.go │ │ │ ├── mocks_generate_test.go │ │ │ ├── mocks_test.go │ │ │ ├── mss.go │ │ │ ├── mss_test.go │ │ │ ├── multi.go │ │ │ ├── packet.go │ │ │ ├── tcp.go │ │ │ ├── tcp_darwin.go │ │ │ ├── tcp_integration_test.go │ │ │ ├── tcp_linux.go │ │ │ ├── tcp_notdarwin.go │ │ │ ├── tcp_test.go │ │ │ ├── tcp_unix.go │ │ │ ├── tcp_unspecified.go │ │ │ ├── tcp_windows.go │ │ │ ├── tcpheader.go │ │ │ └── tracker.go │ │ ├── test/ │ │ │ ├── mtu.go │ │ │ └── mtu_test.go │ │ └── vpn.go │ ├── portforward/ │ │ ├── interfaces.go │ │ ├── loop.go │ │ ├── service/ │ │ │ ├── command.go │ │ │ ├── command_test.go │ │ │ ├── fs.go │ │ │ ├── helpers.go │ │ │ ├── helpers_test.go │ │ │ ├── interfaces.go │ │ │ ├── mocks_generate_test.go │ │ │ ├── mocks_test.go │ │ │ ├── service.go │ │ │ ├── settings.go │ │ │ ├── start.go │ │ │ └── stop.go │ │ └── settings.go │ ├── pprof/ │ │ ├── helpers_test.go │ │ ├── logger_mock_test.go │ │ ├── server.go │ │ ├── server_test.go │ │ ├── settings.go │ │ └── settings_test.go │ ├── provider/ │ │ ├── airvpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── common/ │ │ │ ├── mocks.go │ │ │ ├── mocks_generate_test.go │ │ │ ├── portforward.go │ │ │ ├── storage.go │ │ │ └── updater.go │ │ ├── custom/ │ │ │ ├── connection.go │ │ │ ├── interfaces.go │ │ │ ├── openvpnconf.go │ │ │ ├── openvpnconf_test.go │ │ │ └── provider.go │ │ ├── cyberghost/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── constants.go │ │ │ ├── countries.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── example/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── expressvpn/ │ │ │ ├── connection.go │ │ │ ├── connection_test.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── hardcoded.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── fastestvpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── api_test.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── giganews/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── filename.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── hidemyass/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── hosts.go │ │ │ ├── hosttourl.go │ │ │ ├── index.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ ├── updater.go │ │ │ └── url.go │ │ ├── ipvanish/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── filename.go │ │ │ ├── filename_test.go │ │ │ ├── hosttoserver.go │ │ │ ├── hosttoserver_test.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ ├── servers_test.go │ │ │ └── updater.go │ │ ├── ivpn/ │ │ │ ├── connection.go │ │ │ ├── connection_test.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── api_test.go │ │ │ ├── resolve.go │ │ │ ├── roundtrip_test.go │ │ │ ├── servers.go │ │ │ ├── servers_test.go │ │ │ └── updater.go │ │ ├── mullvad/ │ │ │ ├── connection.go │ │ │ ├── connection_test.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── hosttoserver.go │ │ │ ├── ips.go │ │ │ ├── ips_test.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── nordvpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── models.go │ │ │ ├── name.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── perfectprivacy/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── portforward.go │ │ │ ├── portforward_test.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── citytoserver.go │ │ │ ├── filename.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── privado/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── privateinternetaccess/ │ │ │ ├── connection.go │ │ │ ├── httpclient.go │ │ │ ├── httpclient_test.go │ │ │ ├── openvpnconf.go │ │ │ ├── portforward.go │ │ │ ├── portforward_test.go │ │ │ ├── presets/ │ │ │ │ └── presets.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── hosttoserver.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── privatevpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── portforward.go │ │ │ ├── portforward_test.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── countries.go │ │ │ ├── filename.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── protonvpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── portforward.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── countries.go │ │ │ ├── iptoserver.go │ │ │ ├── servers.go │ │ │ ├── updater.go │ │ │ └── version.go │ │ ├── provider.go │ │ ├── providers.go │ │ ├── purevpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── compare.go │ │ │ ├── compare_test.go │ │ │ ├── hosttoserver.go │ │ │ ├── parse.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── slickvpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── surfshark/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ ├── servers/ │ │ │ │ └── locationdata.go │ │ │ └── updater/ │ │ │ ├── api.go │ │ │ ├── api_test.go │ │ │ ├── hosttoserver.go │ │ │ ├── location.go │ │ │ ├── remaining.go │ │ │ ├── resolve.go │ │ │ ├── roundtrip_test.go │ │ │ ├── servers.go │ │ │ ├── updater.go │ │ │ └── zip.go │ │ ├── torguard/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── filename.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── utils/ │ │ │ ├── cipher.go │ │ │ ├── cipher_test.go │ │ │ ├── connection.go │ │ │ ├── connection_test.go │ │ │ ├── filtering.go │ │ │ ├── filtering_test.go │ │ │ ├── logger.go │ │ │ ├── nofetcher.go │ │ │ ├── openvpn.go │ │ │ ├── pick.go │ │ │ ├── pick_test.go │ │ │ ├── port.go │ │ │ ├── port_test.go │ │ │ ├── portforward.go │ │ │ ├── protocol.go │ │ │ └── protocol_test.go │ │ ├── vpnsecure/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── helpers_test.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ ├── testdata/ │ │ │ │ └── index.html │ │ │ ├── updater.go │ │ │ ├── website.go │ │ │ └── website_test.go │ │ ├── vpnunlimited/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── constants.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ ├── vyprvpn/ │ │ │ ├── connection.go │ │ │ ├── openvpnconf.go │ │ │ ├── provider.go │ │ │ └── updater/ │ │ │ ├── filename.go │ │ │ ├── hosttoserver.go │ │ │ ├── resolve.go │ │ │ ├── servers.go │ │ │ └── updater.go │ │ └── windscribe/ │ │ ├── connection.go │ │ ├── connection_test.go │ │ ├── openvpnconf.go │ │ ├── provider.go │ │ └── updater/ │ │ ├── api.go │ │ ├── servers.go │ │ └── updater.go │ ├── publicip/ │ │ ├── api/ │ │ │ ├── api.go │ │ │ ├── api_test.go │ │ │ ├── cloudflare.go │ │ │ ├── echoip.go │ │ │ ├── errors.go │ │ │ ├── interfaces.go │ │ │ ├── ip2location.go │ │ │ ├── ipinfo.go │ │ │ ├── multi.go │ │ │ ├── resilient.go │ │ │ └── resilient_test.go │ │ ├── data.go │ │ ├── fs.go │ │ ├── interfaces.go │ │ ├── loop.go │ │ └── update.go │ ├── routing/ │ │ ├── conversion.go │ │ ├── conversion_test.go │ │ ├── default.go │ │ ├── enable.go │ │ ├── errors.go │ │ ├── inbound.go │ │ ├── ip.go │ │ ├── ip_test.go │ │ ├── local.go │ │ ├── logger.go │ │ ├── mocks_generate_test.go │ │ ├── mocks_test.go │ │ ├── outbound.go │ │ ├── routes.go │ │ ├── routing.go │ │ ├── rules.go │ │ ├── rules_test.go │ │ ├── tables_linux.go │ │ ├── tables_unspecified.go │ │ └── vpn.go │ ├── server/ │ │ ├── dns.go │ │ ├── handler.go │ │ ├── handlerv0.go │ │ ├── handlerv1.go │ │ ├── helpers.go │ │ ├── interfaces.go │ │ ├── logger.go │ │ ├── middlewares/ │ │ │ ├── auth/ │ │ │ │ ├── apikey.go │ │ │ │ ├── basic.go │ │ │ │ ├── configfile.go │ │ │ │ ├── configfile_test.go │ │ │ │ ├── format.go │ │ │ │ ├── interfaces.go │ │ │ │ ├── interfaces_local.go │ │ │ │ ├── lookup.go │ │ │ │ ├── lookup_test.go │ │ │ │ ├── middleware.go │ │ │ │ ├── middleware_test.go │ │ │ │ ├── mocks_generate_test.go │ │ │ │ ├── mocks_test.go │ │ │ │ ├── none.go │ │ │ │ └── settings.go │ │ │ └── log/ │ │ │ ├── interfaces.go │ │ │ └── middleware.go │ │ ├── openvpn.go │ │ ├── portforward.go │ │ ├── publicip.go │ │ ├── server.go │ │ ├── updater.go │ │ ├── vpn.go │ │ └── wrappers.go │ ├── shadowsocks/ │ │ ├── logger.go │ │ ├── loop.go │ │ └── state.go │ ├── storage/ │ │ ├── choices.go │ │ ├── copy.go │ │ ├── copy_test.go │ │ ├── filter.go │ │ ├── flush.go │ │ ├── formatting.go │ │ ├── hardcoded.go │ │ ├── hardcoded_test.go │ │ ├── helpers.go │ │ ├── merge.go │ │ ├── mocks_generate_test.go │ │ ├── mocks_test.go │ │ ├── read.go │ │ ├── read_test.go │ │ ├── servers.go │ │ ├── servers.json │ │ ├── storage.go │ │ └── sync.go │ ├── subnet/ │ │ └── subsets.go │ ├── tun/ │ │ ├── check.go │ │ ├── check_unspecified.go │ │ ├── create.go │ │ ├── create_unspecified.go │ │ ├── tun.go │ │ └── tun_test.go │ ├── updater/ │ │ ├── html/ │ │ │ ├── attribute.go │ │ │ ├── bfs.go │ │ │ ├── css.go │ │ │ ├── errors.go │ │ │ ├── fetch.go │ │ │ ├── fetch_test.go │ │ │ └── match.go │ │ ├── interfaces.go │ │ ├── loop/ │ │ │ ├── loop.go │ │ │ └── state.go │ │ ├── openvpn/ │ │ │ ├── extract.go │ │ │ ├── fetch.go │ │ │ └── multifetch.go │ │ ├── providers.go │ │ ├── resolver/ │ │ │ ├── interfaces.go │ │ │ ├── ips.go │ │ │ ├── ips_test.go │ │ │ ├── net.go │ │ │ ├── parallel.go │ │ │ └── repeat.go │ │ ├── unzip/ │ │ │ ├── extract.go │ │ │ ├── fetch.go │ │ │ └── unzip.go │ │ └── updater.go │ ├── version/ │ │ ├── github.go │ │ └── version.go │ ├── vpn/ │ │ ├── amneziawg.go │ │ ├── cleanup.go │ │ ├── helpers.go │ │ ├── interfaces.go │ │ ├── loop.go │ │ ├── openvpn.go │ │ ├── portforward.go │ │ ├── run.go │ │ ├── settings.go │ │ ├── state/ │ │ │ ├── state.go │ │ │ └── vpn.go │ │ ├── status.go │ │ ├── tunnelup.go │ │ ├── wireguard.go │ │ └── wireguard_test.go │ └── wireguard/ │ ├── address.go │ ├── address_test.go │ ├── config.go │ ├── config_test.go │ ├── constructor.go │ ├── constructor_test.go │ ├── helpers_test.go │ ├── log.go │ ├── log_mock_test.go │ ├── log_test.go │ ├── netlink_integration_test.go │ ├── netlinker.go │ ├── netlinker_mock_test.go │ ├── route.go │ ├── route_test.go │ ├── rule.go │ ├── rule_test.go │ ├── run.go │ ├── settings.go │ ├── settings_test.go │ ├── wireguard_linux.go │ └── wireguard_unspecified.go └── maintenance.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: .devcontainer/.dockerignore ================================================ .dockerignore devcontainer.json Dockerfile README.md ================================================ FILE: .devcontainer/Dockerfile ================================================ FROM ghcr.io/qdm12/godevcontainer:v0.21-alpine RUN apk add wireguard-tools htop openssl tcpdump iptables ================================================ FILE: .devcontainer/README.md ================================================ # Development container Development container that can be used with VSCode. It works on Linux, Windows (WSL2) and OSX. ## Requirements - [VS code](https://code.visualstudio.com/download) installed - [VS code dev containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) installed - [Docker](https://www.docker.com/products/docker-desktop) installed and running ## Setup 1. Create the following files and directory on your host if you don't have them: ```sh touch ~/.gitconfig ~/.zsh_history mkdir -p ~/.ssh ``` 1. **For OSX hosts**: ensure the project directory and your home directory `~` are accessible by Docker. 1. Open the command palette in Visual Studio Code (CTRL+SHIFT+P). 1. Select `Dev-Containers: Open Folder in Container...` and choose the project directory. ## Customization For any customization to take effect, you should "rebuild and reopen": 1. Open the command palette in Visual Studio Code (CTRL+SHIFT+P) 2. Select `Dev-Containers: Rebuild Container` Changes you can make are notably: - Changes to the Docker image in [Dockerfile](Dockerfile) - Changes to VSCode **settings** and **extensions** in [devcontainer.json](devcontainer.json). - Change the entrypoint script by adding a bind mount in [devcontainer.json](devcontainer.json) of a shell script to `/root/.welcome.sh` to replace the [current welcome script](https://github.com/qdm12/godevcontainer/blob/master/shell/.welcome.sh). For example: ```json // Welcome script { "source": "/yourpath/.welcome.sh", "target": "/root/.welcome.sh", "type": "bind" }, ``` - More options are documented in the [devcontainer.json reference](https://containers.dev/implementors/json_reference/). ================================================ FILE: .devcontainer/devcontainer.json ================================================ { "name": "gluetun-dev", // User defined settings "containerEnv": { "TZ": "" }, // Fixed settings "build": { "dockerfile": "./Dockerfile" }, "postCreateCommand": "~/.windows.sh && go mod download", "capAdd": [ "NET_ADMIN", // Gluetun specific "SYS_PTRACE" // for dlv Go debugging ], "securityOpt": [ "seccomp=unconfined" // for dlv Go debugging ], "mounts": [ // Zsh commands history persistence { "source": "${localEnv:HOME}/.zsh_history", "target": "/root/.zsh_history", "type": "bind" }, // Git configuration file { "source": "${localEnv:HOME}/.gitconfig", "target": "/root/.gitconfig", "type": "bind" }, // SSH directory for Linux, OSX and WSL // On Linux and OSX, a symlink /mnt/ssh <-> ~/.ssh is // created in the container. On Windows, files are copied // from /mnt/ssh to ~/.ssh to fix permissions. { "source": "${localEnv:HOME}/.ssh", "target": "/mnt/ssh", "type": "bind" }, // Docker socket to access the host Docker server { "source": "/var/run/docker.sock", "target": "/var/run/docker.sock", "type": "bind" } ], "customizations": { "vscode": { "extensions": [ "golang.go", "eamodio.gitlens", // IDE Git information "davidanson.vscode-markdownlint", "ms-azuretools.vscode-docker", // Docker integration and linting "shardulm94.trailing-spaces", // Show trailing spaces "Gruntfuggly.todo-tree", // Highlights TODO comments "bierner.emojisense", // Emoji sense for markdown "stkb.rewrap", // rewrap comments after n characters on one line "vscode-icons-team.vscode-icons", // Better file extension icons "github.vscode-pull-request-github", // Github interaction "redhat.vscode-yaml", // Kubernetes, Drone syntax highlighting "bajdzis.vscode-database", // Supports connections to mysql or postgres, over SSL, socked "IBM.output-colorizer", // Colorize your output/test logs "github.copilot" // AI code completion ], "settings": { "files.eol": "\n", "remote.extensionKind": { "ms-azuretools.vscode-docker": "workspace" }, "go.useLanguageServer": true, "[go]": { "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } }, "[go.mod]": { "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } }, "gopls": { "usePlaceholders": false, "staticcheck": true, "ui.diagnostic.analyses": { "ST1000": false }, "formatting.gofumpt": true, }, "go.lintTool": "golangci-lint", "go.lintOnSave": "package", "editor.formatOnSave": true, "go.buildTags": "linux", "go.toolsEnvVars": { "CGO_ENABLED": "0" }, "go.testEnvVars": { "CGO_ENABLED": "1" }, "go.testFlags": [ "-v", "-race" ], "go.testTimeout": "10s", "go.coverOnSingleTest": true, "go.coverOnSingleTestFile": true, "go.coverOnTestPackage": true } } } } ================================================ FILE: .dockerignore ================================================ .devcontainer .git .github doc docker-compose.yml Dockerfile LICENSE README.md title.svg ================================================ FILE: .github/CODEOWNERS ================================================ @qdm12 ================================================ FILE: .github/CONTRIBUTING.md ================================================ # Contributing Contributions are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [open source license of this project](../LICENSE). ## Submitting a pull request 1. [Fork](https://github.com/qdm12/gluetun/fork) and clone the repository 1. Create a new branch `git checkout -b my-branch-name` 1. Modify the code 1. Ensure the docker build succeeds `docker build .` (you might need `export DOCKER_BUILDKIT=1`) 1. Commit your modifications 1. Push to your fork and [submit a pull request](https://github.com/qdm12/gluetun/compare) ## Resources - [Gluetun guide on development](https://github.com/qdm12/gluetun-wiki/blob/main/contributing/development.md) - [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) ================================================ FILE: .github/FUNDING.yml ================================================ github: [qdm12] ================================================ FILE: .github/ISSUE_TEMPLATE/bug.yml ================================================ name: Bug description: Report a bug title: "Bug: " labels: [":bug: bug"] body: - type: markdown attributes: value: | Thanks for taking the time to fill out this bug report! ⚠️ Your issue will be instantly closed as not planned WITHOUT explanation if: - you do not fill out **the title of the issue** ☝️ - you do not provide the **Gluetun version** as requested below - you provide **less than 10 lines of logs** as requested below - type: dropdown id: urgent attributes: label: Is this urgent? description: | Is this a critical bug, or do you need this fixed urgently? If this is urgent, note you can use one of the [image tags available](https://github.com/qdm12/gluetun-wiki/blob/main/setup/docker-image-tags.md) if that can help. options: - "No" - "Yes" - type: input id: host-os attributes: label: Host OS description: What is your host OS? placeholder: "Debian Buster" - type: dropdown id: cpu-arch attributes: label: CPU arch description: You can find it on Linux with `uname -m`. options: - x86_64 - aarch64 - armv7l - "386" - s390x - ppc64le - type: dropdown id: vpn-service-provider attributes: label: VPN service provider options: - AirVPN - Custom - Cyberghost - ExpressVPN - FastestVPN - Giganews - HideMyAss - IPVanish - IVPN - Mullvad - NordVPN - Privado - Private Internet Access - PrivateVPN - ProtonVPN - PureVPN - SlickVPN - Surfshark - TorGuard - VPNSecure.me - VPNUnlimited - VyprVPN - Windscribe validations: required: true - type: dropdown id: docker attributes: label: What are you using to run the container options: - docker run - docker-compose - Portainer - Kubernetes - Podman - Unraid - Other validations: required: true - type: input id: version attributes: label: What is the version of Gluetun description: | Copy paste the version line at the top of your logs. It MUST be in the form `Running version latest built on 2020-03-13T01:30:06Z (commit d0f678c)`. validations: required: true - type: textarea id: problem attributes: label: "What's the problem 🤔" placeholder: "That feature does not work..." validations: required: true - type: textarea id: logs attributes: label: Share your logs (at least 10 lines) description: No sensitive information is logged out except when running with `LOG_LEVEL=debug`. render: plain text validations: required: true - type: textarea id: config attributes: label: Share your configuration description: Share your configuration such as `docker-compose.yml`. Ensure to remove credentials. render: yml ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false contact_links: - name: Report a Wiki issue url: https://github.com/qdm12/gluetun-wiki/issues/new/choose about: Please create an issue on the gluetun-wiki repository. - name: Configuration help? url: https://github.com/qdm12/gluetun/discussions/new/choose about: Please create a Github discussion. - name: Unraid template issue url: https://github.com/qdm12/gluetun/discussions/550 about: Please read the relevant Github discussion. ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.yml ================================================ name: Feature request description: Suggest a feature to add to Gluetun title: "Feature request: " labels: [":bulb: feature request"] body: - type: textarea id: description attributes: label: "What's the feature 🧐" placeholder: "Make the tunnel resistant to earth quakes" validations: required: true - type: textarea id: extra attributes: label: "Extra information and references" placeholder: | - I tried `docker run something` and it doesn't work - That [url](https://github.com/qdm12/gluetun) is interesting ================================================ FILE: .github/ISSUE_TEMPLATE/provider.md ================================================ --- name: Support a VPN provider about: Suggest a VPN provider to be supported title: 'VPN provider support: NAME OF THE PROVIDER' labels: ":bulb: New provider" --- Important notes: - There is no need to support both OpenVPN and Wireguard for a provider, but it's better to support both if possible - We do **not** implement authentication to access servers information behind a login. This is way too time consuming unfortunately - If it's not possible to support a provider natively, you can still use the [the custom provider](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/custom.md) ## For Wireguard Wireguard can be natively supported ONLY if: - the `PrivateKey` field value is the same across all servers for one user account - the `Address` field value is: - can be found in a structured (JSON etc.) list of servers publicly available; OR - the same across all servers for one user account - the `PublicKey` field value is: - can be found in a structured (JSON etc.) list of servers publicly available; OR - the same across all servers for one user account - the `Endpoint` field value: - can be found in a structured (JSON etc.) list of servers publicly available - can be determined using a pattern, for example using country codes in hostnames If any of these conditions are not met, Wireguard cannot be natively supported or there is no advantage compared to using a custom Wireguard configuration file. If **all** of these conditions are met, please provide an answer for each of them. ## For OpenVPN OpenVPN can be natively supported ONLY if one of the following can be provided, by preference in this order: - Publicly accessible URL to a structured (JSON etc.) list of servers **and attach** an example Openvpn configuration file for both TCP and UDP; OR - Publicly accessible URL to a zip file containing the Openvpn configuration files; OR - Publicly accessible URL to the list of servers **and attach** an example Openvpn configuration file for both TCP and UDP ================================================ FILE: .github/dependabot.yml ================================================ version: 2 updates: # Maintain dependencies for GitHub Actions - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" - package-ecosystem: docker directory: / schedule: interval: "daily" - package-ecosystem: gomod directory: / schedule: interval: "daily" ================================================ FILE: .github/labels.yml ================================================ - name: "Status: 🗯️ Waiting for feedback" color: "f7d692" - name: "Status: 🔴 Blocked" color: "f7d692" description: "Blocked by another issue or pull request" - name: "Status: 📌 Before next release" color: "f7d692" description: "Has to be done before the next release" - name: "Status: 🔒 After next release" color: "f7d692" description: "Will be done after the next release" - name: "Status: 🟡 Nearly resolved" color: "f7d692" description: "This might be resolved or is about to be resolved" - name: "Closed: ⚰️ Inactive" color: "959a9c" description: "No answer was received for weeks" - name: "Closed: 👥 Duplicate" color: "959a9c" description: "Issue duplicates an existing issue" - name: "Closed: 🗑️ Bad issue" color: "959a9c" - name: "Closed: ☠️ cannot be done" color: "959a9c" - name: "Priority: 🚨 Urgent" color: "03adfc" - name: "Priority: 💤 Low priority" color: "03adfc" - name: "Complexity: ☣️ Hard to do" color: "ff9efc" - name: "Complexity: 🟩 Easy to do" color: "ff9efc" - name: "Popularity: ❤️‍🔥 extreme" color: "ffc7ea" - name: "Popularity: ❤️ high" color: "ffc7ea" # VPN providers - name: "☁️ AirVPN" color: "cfe8d4" - name: "☁️ Custom" color: "cfe8d4" - name: "☁️ Cyberghost" color: "cfe8d4" - name: "☁️ Giganews" color: "cfe8d4" - name: "☁️ HideMyAss" color: "cfe8d4" - name: "☁️ IPVanish" color: "cfe8d4" - name: "☁️ IVPN" color: "cfe8d4" - name: "☁️ ExpressVPN" color: "cfe8d4" - name: "☁️ FastestVPN" color: "cfe8d4" - name: "☁️ Mullvad" color: "cfe8d4" - name: "☁️ NordVPN" color: "cfe8d4" - name: "☁️ Perfect Privacy" color: "cfe8d4" - name: "☁️ PIA" color: "cfe8d4" - name: "☁️ Privado" color: "cfe8d4" - name: "☁️ PrivateVPN" color: "cfe8d4" - name: "☁️ ProtonVPN" color: "cfe8d4" - name: "☁️ PureVPN" color: "cfe8d4" - name: "☁️ SlickVPN" color: "cfe8d4" - name: "☁️ Surfshark" color: "cfe8d4" - name: "☁️ Torguard" color: "cfe8d4" - name: "☁️ VPNSecure.me" color: "cfe8d4" - name: "☁️ VPNUnlimited" color: "cfe8d4" - name: "☁️ Vyprvpn" color: "cfe8d4" - name: "☁️ Windscribe" color: "cfe8d4" - name: "Category: User error 🤦" from_name: "Category: Config problem 📝" color: "ffc7ea" - name: "Category: Healthcheck 🩺" color: "ffc7ea" - name: "Category: Documentation ✒️" description: "A problem with the readme or a code comment." color: "ffc7ea" - name: "Category: Maintenance ⛓️" description: "Anything related to code or other maintenance" color: "ffc7ea" - name: "Category: Logs 📚" description: "Something to change in logs" color: "ffc7ea" - name: "Category: Good idea 🎯" description: "This is a good idea, judged by the maintainers" color: "ffc7ea" - name: "Category: Motivated! 🙌" description: "Your pumpness makes me pumped! The issue or PR shows great motivation!" color: "ffc7ea" - name: "Category: Foolproof settings 👼" color: "ffc7ea" - name: "Category: Label missing ❗" color: "ffc7ea" - name: "Category: updater ♻️" color: "ffc7ea" description: "Concerns the code to update servers data" - name: "Category: New provider 🆕" color: "ffc7ea" - name: "Category: OpenVPN 🔐" color: "ffc7ea" - name: "Category: Wireguard 🔐" color: "ffc7ea" - name: "Category: DNS 📠" color: "ffc7ea" - name: "Category: Firewall ⛓️" color: "ffc7ea" - name: "Category: MTU discovery 🔦" color: "ffc7ea" - name: "Category: Routing 🛤️" color: "ffc7ea" - name: "Category: IPv6 🛰️" color: "ffc7ea" - name: "Category: VPN port forwarding 📥" color: "ffc7ea" - name: "Category: HTTP proxy 🔁" color: "ffc7ea" - name: "Category: Shadowsocks 🔁" color: "ffc7ea" - name: "Category: control server ⚙️" color: "ffc7ea" - name: "Category: kernel 🧠" color: "ffc7ea" - name: "Category: public IP service 💬" color: "ffc7ea" - name: "Category: servers storage 📦" color: "ffc7ea" - name: "Category: Performance 🚀" color: "ffc7ea" - name: "Category: Investigation 🔍" color: "ffc7ea" ================================================ FILE: .github/pull_request_template.md ================================================ # Description # Issue # Assertions * [ ] I am aware that we do not accept manual changes to the servers.json file * [ ] I am aware that any changes to settings should be reflected in the [wiki](https://github.com/qdm12/gluetun-wiki/) ================================================ FILE: .github/workflows/ci-skip.yml ================================================ name: No trigger file paths on: push: branches: - master paths-ignore: - .github/workflows/ci.yml - cmd/** - internal/** - pkg/** - .dockerignore - .golangci.yml - Dockerfile - go.mod - go.sum pull_request: paths-ignore: - .github/workflows/ci.yml - cmd/** - internal/** - pkg/** - .dockerignore - .golangci.yml - Dockerfile - go.mod - go.sum jobs: verify: runs-on: ubuntu-latest permissions: actions: read steps: - name: No trigger path triggered for required verify workflow. run: exit 0 ================================================ FILE: .github/workflows/ci.yml ================================================ name: CI on: release: types: - published push: branches: - master paths: - .github/workflows/ci.yml - cmd/** - internal/** - pkg/** - .dockerignore - .golangci.yml - Dockerfile - go.mod - go.sum pull_request: paths: - .github/workflows/ci.yml - cmd/** - internal/** - pkg/** - .dockerignore - .golangci.yml - Dockerfile - go.mod - go.sum jobs: verify: runs-on: ubuntu-latest permissions: actions: read contents: read env: DOCKER_BUILDKIT: "1" steps: - uses: actions/checkout@v6 - uses: reviewdog/action-misspell@v1 with: locale: "US" level: error exclude: | ./internal/storage/servers.json ./.golangci.yml *.md - name: Linting run: docker build --target lint . - name: Mocks check run: docker build --target mocks . - name: Build test image run: docker build --target test -t test-container . - name: Run tests in test container run: | touch coverage.txt docker run --rm --cap-add=NET_ADMIN --device /dev/net/tun \ -v "$(pwd)/coverage.txt:/tmp/gobuild/coverage.txt" \ test-container - name: Verify dev cross platform compatibility run: docker build --target xcompile . - name: Build final image run: docker build -t final-image . verify-private: if: | github.repository == 'qdm12/gluetun' && ( github.event_name == 'push' || github.event_name == 'release' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]') ) needs: [verify] runs-on: ubuntu-latest environment: secrets steps: - uses: actions/checkout@v6 - run: docker build -t qmcgaw/gluetun . - name: Setup Go for CI utility uses: actions/setup-go@v6 with: go-version-file: ci/go.mod - name: Build utility run: go build -C ./ci -o runner ./cmd/main.go - name: Run Gluetun container with Mullvad configuration run: echo -e "${{ secrets.MULLVAD_WIREGUARD_PRIVATE_KEY }}\n${{ secrets.MULLVAD_WIREGUARD_ADDRESS }}" | ./ci/runner mullvad - name: Run Gluetun container with ProtonVPN configuration run: echo -e "${{ secrets.PROTONVPN_WIREGUARD_PRIVATE_KEY }}" | ./ci/runner protonvpn codeql: runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version-file: go.mod - uses: github/codeql-action/init@v4 with: languages: go - uses: github/codeql-action/autobuild@v4 - uses: github/codeql-action/analyze@v4 publish: if: | github.repository == 'qdm12/gluetun' && ( github.event_name == 'push' || github.event_name == 'release' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]') ) needs: [verify, verify-private, codeql] permissions: actions: read contents: read packages: write runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 # extract metadata (tags, labels) for Docker # https://github.com/docker/metadata-action - name: Extract Docker metadata id: meta uses: docker/metadata-action@v6 with: flavor: | latest=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} images: | ghcr.io/qdm12/gluetun qmcgaw/gluetun qmcgaw/private-internet-access tags: | type=ref,event=pr type=semver,pattern=v{{major}}.{{minor}}.{{patch}} type=semver,pattern=v{{major}}.{{minor}} type=semver,pattern=v{{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }} type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} - uses: docker/setup-qemu-action@v4 - uses: docker/setup-buildx-action@v4 - uses: docker/login-action@v4 with: username: qmcgaw password: ${{ secrets.DOCKERHUB_PASSWORD }} - uses: docker/login-action@v4 with: registry: ghcr.io username: qdm12 password: ${{ github.token }} - name: Short commit id: shortcommit run: | # Use the PR head SHA if it exists, otherwise fallback to GITHUB_SHA FULL_SHA="${{ github.event.pull_request.head.sha || github.sha }}" SHORT_SHA= echo "value=$(echo $FULL_SHA | cut -c1-7)" >> $GITHUB_OUTPUT - name: Build and push final image uses: docker/build-push-action@v7 with: platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v6,linux/arm/v7,linux/ppc64le labels: ${{ steps.meta.outputs.labels }} build-args: | CREATED=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }} COMMIT=${{ steps.shortcommit.outputs.value }} VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} tags: ${{ steps.meta.outputs.tags }} push: true ================================================ FILE: .github/workflows/closed-issue.yml ================================================ name: Closed issue on: issues: types: [closed] jobs: comment: permissions: issues: write runs-on: ubuntu-latest steps: - uses: peter-evans/create-or-update-comment@v5 with: token: ${{ github.token }} issue-number: ${{ github.event.issue.number }} body: | Closed issues are **NOT** monitored, so commenting here will likely NOT be seen. If you think this is *still unresolved* and have **more information** to bring, please either re-open this issue or create another issue. ❤️😠 temporarily help the Gluetun community and fight the AI slop scam website `gluetun[dot]com` by setting `BORINGPOLL_GLUETUNCOM=on` on the latest image. See [the option in the wiki for more information](https://github.com/qdm12/gluetun-wiki/blob/main/setup/options/others.md) This is an automated comment setup because @qdm12 is the sole maintainer of this project which became too popular to monitor closed issues. ================================================ FILE: .github/workflows/configs/mlc-config.json ================================================ { "ignorePatterns": [ { "pattern": "^https://console.substack.com/p/console-72$" } ], "timeout": "20s", "retryOn429": false, "fallbackRetryDelay": "30s", "aliveStatusCodes": [ 200, 429 ] } ================================================ FILE: .github/workflows/labels.yml ================================================ name: labels on: push: branches: [master] paths: - .github/labels.yml - .github/workflows/labels.yml jobs: labeler: permissions: issues: write runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: crazy-max/ghaction-github-labeler@v6 with: yaml-file: .github/labels.yml ================================================ FILE: .github/workflows/markdown-skip.yml ================================================ name: Markdown on: push: branches: - master paths-ignore: - "**.md" - .github/workflows/markdown.yml pull_request: paths-ignore: - "**.md" - .github/workflows/markdown.yml jobs: markdown: runs-on: ubuntu-latest permissions: actions: read steps: - name: No trigger path triggered for required markdown workflow. run: exit 0 ================================================ FILE: .github/workflows/markdown.yml ================================================ name: Markdown on: push: branches: - master paths: - "**.md" - .github/workflows/markdown.yml pull_request: paths: - "**.md" - .github/workflows/markdown.yml jobs: markdown: runs-on: ubuntu-latest permissions: actions: read contents: read steps: - uses: actions/checkout@v6 - uses: DavidAnson/markdownlint-cli2-action@v22 with: globs: "**.md" config: .markdownlint-cli2.jsonc - uses: reviewdog/action-misspell@v1 with: locale: "US" level: error pattern: | *.md - uses: gaurav-nelson/github-action-markdown-link-check@v1 with: use-quiet-mode: yes config-file: .github/workflows/configs/mlc-config.json - uses: peter-evans/dockerhub-description@v5 if: github.repository == 'qdm12/gluetun' && github.event_name == 'push' with: username: qmcgaw password: ${{ secrets.DOCKERHUB_PASSWORD }} repository: qmcgaw/gluetun short-description: Lightweight Swiss-knife VPN client to connect to several VPN providers readme-filepath: README.md ================================================ FILE: .github/workflows/opened-issue.yml ================================================ name: Opened issue on: issues: types: [opened] jobs: comment: permissions: issues: write runs-on: ubuntu-latest steps: - uses: peter-evans/create-or-update-comment@v5 with: token: ${{ github.token }} issue-number: ${{ github.event.issue.number }} body: | @qdm12 is more or less the only maintainer of this project and works on it in his free time. Please: - **do not** ask for updates, be patient - :+1: the issue to show your support instead of commenting @qdm12 usually checks issues at least once a week, if this is a new urgent bug, [revert to an older tagged container image](https://github.com/qdm12/gluetun-wiki/blob/main/setup/docker-image-tags.md) ================================================ FILE: .github/workflows/update-servers-list.yml ================================================ name: Update servers list on: workflow_dispatch: inputs: provider: description: "VPN Provider to update" required: true default: "all" type: choice options: - all - airvpn - cyberghost - expressvpn - fastestvpn - giganews - hidemyass - ipvanish - ivpn - mullvad - nordvpn - perfect privacy - privado - private internet access - privatevpn - protonvpn - purevpn - slickvpn - surfshark - torguard - vpnsecure - vpn unlimited - vyprvpn - windscribe schedule: - cron: "11 3 1 */2 *" # Run at 03:11 on the 1st of every 2nd month jobs: update-servers-list: if: github.repository == 'qdm12/gluetun' runs-on: ubuntu-latest permissions: actions: read contents: write pull-requests: write steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version-file: go.mod - name: Update servers list run: | SELECTED_PROVIDER="${{ github.event.inputs.provider || 'all' }}" if [ "$SELECTED_PROVIDER" = "all" ]; then FLAGS="-all" else FLAGS="-providers $SELECTED_PROVIDER" fi go run ./cmd/gluetun/main.go update $FLAGS \ -maintainer \ -proton-email "${{ secrets.PROTON_EMAIL }}" \ -proton-password "${{ secrets.PROTON_PASSWORD }}" - name: Check for changes run: | if git diff --exit-code internal/storage/servers.json >/dev/null; then echo "Error: internal/storage/servers.json was not modified." exit 1 fi - name: Check no other file changes run: | if ! git diff --exit-code --quiet ':!internal/storage/servers.json'; then echo "Error: Unexpected changes detected in files other than servers.json" git status --short exit 1 fi - name: Create Pull Request id: createpr uses: peter-evans/create-pull-request@v8 with: branch-suffix: timestamp branch: bot/update-servers-list base: master delete-branch: true title: "feat(providers/${{ github.event.inputs.provider || 'all' }}): servers data update" body: | This PR was automatically generated by the [Update servers list](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) workflow run. # - name: Merge Pull Request # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # run: | # gh pr merge ${{ steps.createpr.outputs.pull-request-number }} --auto -m -d ================================================ FILE: .gitignore ================================================ scratch.txt .DS_Store ================================================ FILE: .golangci.yml ================================================ version: "2" formatters: enable: - gci - gofumpt - goimports exclusions: generated: lax paths: - third_party$ - builtin$ - examples$ linters: settings: misspell: locale: US goconst: ignore-string-values: # commonly used settings strings - "^disabled$" # Firewall and routing strings - "^(ACCEPT|DROP)$" - "^--append$" - "^--delete$" - "^all$" - "^(tcp|udp)$" # Server route strings - "^/status$" exclusions: generated: lax presets: - comments - common-false-positives - legacy - std-error-handling rules: - linters: - containedctx - dupl - err113 - maintidx path: _test\.go - linters: - dupl path: internal\/server\/.+\.go - linters: - ireturn text: returns interface \(golang\.org\/x\/sys\/unix\.Sockaddr\) - linters: - ireturn path: internal\/openvpn\/pkcs8\/descbc\.go text: newCipherDESCBCBlock returns interface \(github\.com\/youmark\/pkcs8\.Cipher\) - linters: - revive path: internal\/provider\/(common|utils)\/.+\.go text: "var-naming: avoid (bad|meaningless) package names" - linters: - lll source: "^// https://.+$" - linters: - mnd source: "^ cleanups\\.Add.+$" path: internal\/(wireguard|amneziawg)\/run\.go - linters: - err113 - mnd path: ci\/.+\.go paths: - third_party$ - builtin$ - examples$ enable: # - cyclop # - errorlint - asasalint - asciicheck - bidichk - bodyclose - containedctx - copyloopvar - decorder - dogsled - dupl - dupword - durationcheck - err113 - errchkjson - errname - exhaustive - fatcontext - forcetypeassert - gocheckcompilerdirectives - gochecknoglobals - gochecknoinits - gocognit - goconst - gocritic - gocyclo - godot - goheader - gomoddirectives - goprintffuncname - gosec - gosmopolitan - grouper - importas - interfacebloat - intrange - ireturn - lll - maintidx - makezero - mirror - misspell - mnd - musttag - nakedret - nestif - nilerr - nilnil - noctx - nolintlint - nosprintfhostport - paralleltest - prealloc - predeclared - promlinter - reassign - revive - rowserrcheck - sqlclosecheck - tagalign - thelper - tparallel - unconvert - unparam - usestdlibvars - wastedassign - whitespace - zerologlint ================================================ FILE: .markdownlint-cli2.jsonc ================================================ { "config": { "default": true, "MD013": false, }, "ignores": [ ".github/pull_request_template.md" ] } ================================================ FILE: .vscode/extensions.json ================================================ { // This list should be kept to the strict minimum // to develop this project. "recommendations": [ "golang.go", "davidanson.vscode-markdownlint", ], } ================================================ FILE: .vscode/settings.json ================================================ { // The settings should be kept to the strict minimum // to develop this project. "files.eol": "\n", "editor.formatOnSave": true, "go.buildTags": "linux", "go.toolsEnvVars": { "CGO_ENABLED": "0" }, "go.testEnvVars": { "CGO_ENABLED": "1" }, "go.testFlags": [ "-v", "-race" ], "go.testTimeout": "10s", "go.coverOnSingleTest": true, "go.coverOnSingleTestFile": true, "go.coverOnTestPackage": true, "go.useLanguageServer": true, "[go]": { "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } }, "go.lintTool": "golangci-lint", "go.lintOnSave": "package" } ================================================ FILE: .vscode/tasks.json ================================================ { "version": "2.0.0", "tasks": [ { "label": "Update a VPN provider servers data", "type": "shell", "command": "go", "args": [ "run", "./cmd/gluetun/main.go", "update", "${input:updateMode}", "-providers", "${input:provider}" ], }, { "label": "Add a Gluetun Github Git remote", "type": "shell", "command": "git", "args": [ "remote", "add", "${input:githubRemoteUsername}", "git@github.com:${input:githubRemoteUsername}/gluetun.git" ], } ], "inputs": [ { "id": "provider", "type": "promptString", "description": "Please enter a provider (or comma separated list of providers)", }, { "id": "updateMode", "type": "pickString", "description": "Update mode to use", "options": [ "-maintainer", "-enduser" ], "default": "-maintainer" }, { "id": "githubRemoteUsername", "type": "promptString", "description": "Please enter a Github username", }, ] } ================================================ FILE: Dockerfile ================================================ ARG ALPINE_VERSION=3.23 ARG GO_ALPINE_VERSION=3.23 ARG GO_VERSION=1.25 ARG XCPUTRANSLATE_VERSION=v0.9.0 ARG GOLANGCI_LINT_VERSION=v2.4.0 ARG MOCKGEN_VERSION=v1.6.0 ARG BUILDPLATFORM=linux/amd64 FROM --platform=${BUILDPLATFORM} ghcr.io/qdm12/xcputranslate:${XCPUTRANSLATE_VERSION} AS xcputranslate FROM --platform=${BUILDPLATFORM} ghcr.io/qdm12/binpot:golangci-lint-${GOLANGCI_LINT_VERSION} AS golangci-lint FROM --platform=${BUILDPLATFORM} ghcr.io/qdm12/binpot:mockgen-${MOCKGEN_VERSION} AS mockgen FROM --platform=${BUILDPLATFORM} golang:${GO_VERSION}-alpine${GO_ALPINE_VERSION} AS base COPY --from=xcputranslate /xcputranslate /usr/local/bin/xcputranslate # Note: findutils needed to have xargs support `-d` flag for mocks stage. RUN apk --update add git g++ findutils iptables ENV CGO_ENABLED=0 COPY --from=golangci-lint /bin /go/bin/golangci-lint COPY --from=mockgen /bin /go/bin/mockgen WORKDIR /tmp/gobuild COPY go.mod go.sum ./ RUN go mod download COPY cmd/ ./cmd/ COPY internal/ ./internal/ FROM --platform=${BUILDPLATFORM} base AS test # Note on the go race detector: # - we set CGO_ENABLED=1 to have it enabled # - we installed g++ to support the race detector ENV CGO_ENABLED=1 ENTRYPOINT go test -race -coverpkg=./... -coverprofile=coverage.txt -covermode=atomic ./... FROM --platform=${BUILDPLATFORM} base AS lint COPY .golangci.yml ./ RUN golangci-lint run FROM --platform=${BUILDPLATFORM} base AS mocks RUN git init && \ git config user.email ci@localhost && \ git config user.name ci && \ git config core.fileMode false && \ git add -A && \ git commit -m "snapshot" && \ grep -lr -E '^// Code generated by MockGen\. DO NOT EDIT\.$' . | xargs -r -d '\n' rm && \ go generate -run "mockgen" ./... && \ git diff --exit-code && \ rm -rf .git/ FROM --platform=${BUILDPLATFORM} base AS xcompile RUN GOOS=darwin go build -o /dev/null ./... RUN GOOS=windows go build -o /dev/null ./... FROM --platform=${BUILDPLATFORM} base AS build ARG TARGETPLATFORM ARG VERSION=unknown ARG CREATED="an unknown date" ARG COMMIT=unknown RUN GOARCH="$(xcputranslate translate -field arch -targetplatform ${TARGETPLATFORM})" \ GOARM="$(xcputranslate translate -field arm -targetplatform ${TARGETPLATFORM})" \ go build -trimpath -ldflags="-s -w \ -X 'main.version=$VERSION' \ -X 'main.created=$CREATED' \ -X 'main.commit=$COMMIT' \ " -o entrypoint cmd/gluetun/main.go FROM alpine:${ALPINE_VERSION} ARG VERSION=unknown ARG CREATED="an unknown date" ARG COMMIT=unknown LABEL \ org.opencontainers.image.authors="quentin.mcgaw@gmail.com" \ org.opencontainers.image.created=$CREATED \ org.opencontainers.image.version=$VERSION \ org.opencontainers.image.revision=$COMMIT \ org.opencontainers.image.url="https://github.com/qdm12/gluetun" \ org.opencontainers.image.documentation="https://github.com/qdm12/gluetun" \ org.opencontainers.image.source="https://github.com/qdm12/gluetun" \ org.opencontainers.image.title="VPN swiss-knife like client for multiple VPN providers" \ org.opencontainers.image.description="VPN swiss-knife like client to tunnel to multiple VPN servers using OpenVPN, IPtables, DNS over TLS, Shadowsocks, an HTTP proxy and Alpine Linux" ENV VPN_SERVICE_PROVIDER=pia \ VPN_TYPE=openvpn \ # Common VPN options VPN_INTERFACE=tun0 \ # OpenVPN OPENVPN_ENDPOINT_IP= \ OPENVPN_ENDPOINT_PORT= \ OPENVPN_PROTOCOL=udp \ OPENVPN_USER= \ OPENVPN_PASSWORD= \ OPENVPN_USER_SECRETFILE=/run/secrets/openvpn_user \ OPENVPN_PASSWORD_SECRETFILE=/run/secrets/openvpn_password \ OPENVPN_VERSION=2.6 \ OPENVPN_VERBOSITY=1 \ OPENVPN_FLAGS= \ OPENVPN_CIPHERS= \ OPENVPN_AUTH= \ OPENVPN_PROCESS_USER=root \ OPENVPN_MSSFIX= \ OPENVPN_CUSTOM_CONFIG= \ # Wireguard WIREGUARD_ENDPOINT_IP= \ WIREGUARD_ENDPOINT_PORT= \ WIREGUARD_CONF_SECRETFILE=/run/secrets/wg0.conf \ WIREGUARD_PRIVATE_KEY= \ WIREGUARD_PRIVATE_KEY_SECRETFILE=/run/secrets/wireguard_private_key \ WIREGUARD_PRESHARED_KEY= \ WIREGUARD_PRESHARED_KEY_SECRETFILE=/run/secrets/wireguard_preshared_key \ WIREGUARD_PUBLIC_KEY= \ WIREGUARD_ALLOWED_IPS= \ WIREGUARD_PERSISTENT_KEEPALIVE_INTERVAL=0 \ WIREGUARD_ADDRESSES= \ WIREGUARD_ADDRESSES_SECRETFILE=/run/secrets/wireguard_addresses \ WIREGUARD_MTU= \ WIREGUARD_IMPLEMENTATION=auto \ # Amnezia AMNEZIAWG_ENDPOINT_IP= \ AMNEZIAWG_ENDPOINT_PORT= \ AMNEZIAWG_CONF_SECRETFILE=/run/secrets/wg0.conf \ AMNEZIAWG_PRIVATE_KEY= \ AMNEZIAWG_PRIVATE_KEY_SECRETFILE=/run/secrets/wireguard_private_key \ AMNEZIAWG_PRESHARED_KEY= \ AMNEZIAWG_PRESHARED_KEY_SECRETFILE=/run/secrets/wireguard_preshared_key \ AMNEZIAWG_PUBLIC_KEY= \ AMNEZIAWG_ALLOWED_IPS= \ AMNEZIAWG_PERSISTENT_KEEPALIVE_INTERVAL=0 \ AMNEZIAWG_ADDRESSES= \ AMNEZIAWG_ADDRESSES_SECRETFILE=/run/secrets/wireguard_addresses \ AMNEZIAWG_MTU= \ AMNEZIAWG_JC=0 \ AMNEZIAWG_JMIN=0 \ AMNEZIAWG_JMAX=0 \ AMNEZIAWG_S1=0 \ AMNEZIAWG_S2=0 \ AMNEZIAWG_S3=0 \ AMNEZIAWG_S4=0 \ AMNEZIAWG_H1= \ AMNEZIAWG_H2= \ AMNEZIAWG_H3= \ AMNEZIAWG_H4= \ AMNEZIAWG_I1= \ AMNEZIAWG_I2= \ AMNEZIAWG_I3= \ AMNEZIAWG_I4= \ AMNEZIAWG_I5= \ # Wireguard AmneziaWG userspace obfuscation (requires WIREGUARD_IMPLEMENTATION=amneziawg) AMNEZIAWG_JC=0 \ AMNEZIAWG_JMIN=0 \ AMNEZIAWG_JMAX=0 \ AMNEZIAWG_S1=0 \ AMNEZIAWG_S2=0 \ AMNEZIAWG_S3=0 \ AMNEZIAWG_S4=0 \ AMNEZIAWG_H1= \ AMNEZIAWG_H2= \ AMNEZIAWG_H3= \ AMNEZIAWG_H4= \ AMNEZIAWG_I1= \ AMNEZIAWG_I2= \ AMNEZIAWG_I3= \ AMNEZIAWG_I4= \ AMNEZIAWG_I5= \ # VPN server port forwarding VPN_PORT_FORWARDING=off \ VPN_PORT_FORWARDING_PROVIDER= \ VPN_PORT_FORWARDING_UP_COMMAND= \ VPN_PORT_FORWARDING_DOWN_COMMAND= \ VPN_PORT_FORWARDING_LISTENING_PORT=0 \ VPN_PORT_FORWARDING_STATUS_FILE="/tmp/gluetun/forwarded_port" \ # PMTUD PMTUD_ICMP_ADDRESSES=1.1.1.1,8.8.8.8 \ PMTUD_TCP_ADDRESSES=1.1.1.1:443,8.8.8.8:443,1.1.1.1:53,8.8.8.8:53,[2606:4700:4700::1111]:53,[2001:4860:4860::8888]:53,[2606:4700:4700::1111]:443,[2001:4860:4860::8888]:443 \ # VPN server filtering SERVER_REGIONS= \ SERVER_COUNTRIES= \ SERVER_CITIES= \ SERVER_HOSTNAMES= \ SERVER_CATEGORIES= \ # # Mullvad only: ISP= \ OWNED_ONLY=no \ # # Private Internet Access only: PRIVATE_INTERNET_ACCESS_OPENVPN_ENCRYPTION_PRESET= \ VPN_PORT_FORWARDING_USERNAME= \ VPN_PORT_FORWARDING_PASSWORD= \ # # Cyberghost only: OPENVPN_CERT= \ OPENVPN_KEY= \ OPENVPN_CLIENTCRT_SECRETFILE=/run/secrets/openvpn_clientcrt \ OPENVPN_CLIENTKEY_SECRETFILE=/run/secrets/openvpn_clientkey \ # # VPNSecure only: OPENVPN_ENCRYPTED_KEY= \ OPENVPN_ENCRYPTED_KEY_SECRETFILE=/run/secrets/openvpn_encrypted_key \ OPENVPN_KEY_PASSPHRASE= \ OPENVPN_KEY_PASSPHRASE_SECRETFILE=/run/secrets/openvpn_key_passphrase \ # # Nordvpn only: SERVER_NUMBER= \ # # PIA only: SERVER_NAMES= \ # # VPNUnlimited and ProtonVPN only: STREAM_ONLY= \ FREE_ONLY= \ # # ProtonVPN only: SECURE_CORE_ONLY= \ TOR_ONLY= \ # # Surfshark only: MULTIHOP_ONLY= \ # # VPN Secure only: PREMIUM_ONLY= \ # # PIA and ProtonVPN only: PORT_FORWARD_ONLY= \ # Firewall FIREWALL_ENABLED_DISABLING_IT_SHOOTS_YOU_IN_YOUR_FOOT=on \ FIREWALL_VPN_INPUT_PORTS= \ FIREWALL_INPUT_PORTS= \ FIREWALL_OUTBOUND_SUBNETS= \ FIREWALL_IPTABLES_LOG_LEVEL=info \ # Logging LOG_LEVEL=info \ # Health HEALTH_SERVER_ADDRESS=127.0.0.1:9999 \ HEALTH_TARGET_ADDRESSES=cloudflare.com:443,github.com:443 \ HEALTH_ICMP_TARGET_IPS=1.1.1.1,8.8.8.8 \ HEALTH_SMALL_CHECK_TYPE=icmp \ HEALTH_RESTART_VPN=on \ # DNS DNS_UPSTREAM_RESOLVER_TYPE=DoT \ # Note: DNS_UPSTREAM_RESOLVERS defaults to cloudflare in code if DNS_UPSTREAM_PLAIN_ADDRESSES is empty DNS_UPSTREAM_RESOLVERS= \ DNS_BLOCK_IPS= \ DNS_BLOCK_IP_PREFIXES= \ DNS_CACHING=on \ DNS_UPSTREAM_IPV6=off \ BLOCK_MALICIOUS=on \ BLOCK_SURVEILLANCE=off \ BLOCK_ADS=off \ DNS_UNBLOCK_HOSTNAMES= \ DNS_REBINDING_PROTECTION_EXEMPT_HOSTNAMES= \ DNS_UPDATE_PERIOD=24h \ DNS_UPSTREAM_PLAIN_ADDRESSES= \ # HTTP proxy HTTPPROXY= \ HTTPPROXY_LOG=off \ HTTPPROXY_LISTENING_ADDRESS=":8888" \ HTTPPROXY_STEALTH=off \ HTTPPROXY_USER= \ HTTPPROXY_PASSWORD= \ HTTPPROXY_USER_SECRETFILE=/run/secrets/httpproxy_user \ HTTPPROXY_PASSWORD_SECRETFILE=/run/secrets/httpproxy_password \ # Shadowsocks SHADOWSOCKS=off \ SHADOWSOCKS_LOG=off \ SHADOWSOCKS_LISTENING_ADDRESS=":8388" \ SHADOWSOCKS_PASSWORD= \ SHADOWSOCKS_PASSWORD_SECRETFILE=/run/secrets/shadowsocks_password \ SHADOWSOCKS_CIPHER=chacha20-ietf-poly1305 \ # Control server HTTP_CONTROL_SERVER_LOG=on \ HTTP_CONTROL_SERVER_ADDRESS=":8000" \ HTTP_CONTROL_SERVER_AUTH_CONFIG_FILEPATH=/gluetun/auth/config.toml \ HTTP_CONTROL_SERVER_AUTH_DEFAULT_ROLE="{}" \ # Server data updater UPDATER_PERIOD=0 \ UPDATER_MIN_RATIO=0.8 \ UPDATER_VPN_SERVICE_PROVIDERS= \ UPDATER_PROTONVPN_EMAIL= \ UPDATER_PROTONVPN_PASSWORD= \ # Public IP PUBLICIP_FILE="/tmp/gluetun/ip" \ PUBLICIP_ENABLED=on \ PUBLICIP_API=ipinfo,ifconfigco,ip2location,cloudflare \ PUBLICIP_API_TOKEN= \ # Storage STORAGE_FILEPATH=/gluetun/servers.json \ # Pprof PPROF_ENABLED=no \ PPROF_BLOCK_PROFILE_RATE=0 \ PPROF_MUTEX_PROFILE_RATE=0 \ PPROF_HTTP_SERVER_ADDRESS=":6060" \ # Extras VERSION_INFORMATION=on \ BORINGPOLL_GLUETUNCOM=off \ TZ= \ PUID=1000 \ PGID=1000 ENTRYPOINT ["/gluetun-entrypoint"] EXPOSE 8000/tcp 8888/tcp 8388/tcp 8388/udp HEALTHCHECK --interval=5s --timeout=5s --start-period=10s --retries=3 CMD /gluetun-entrypoint healthcheck ARG TARGETPLATFORM RUN apk add --no-cache --update -l wget && \ apk add --no-cache --update -X "https://dl-cdn.alpinelinux.org/alpine/v3.17/main" openvpn\~2.5 && \ mv /usr/sbin/openvpn /usr/sbin/openvpn2.5 && \ apk del openvpn && \ apk add --no-cache --update openvpn ca-certificates iptables iptables-legacy tzdata && \ mv /usr/sbin/openvpn /usr/sbin/openvpn2.6 && \ rm -rf /var/cache/apk/* /etc/openvpn/*.sh /usr/lib/openvpn/plugins/openvpn-plugin-down-root.so && \ deluser openvpn && \ mkdir /gluetun COPY --from=build /tmp/gobuild/entrypoint /gluetun-entrypoint ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2018 Quentin McGaw Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Gluetun VPN client ⚠️ This and [gluetun-wiki](https://github.com/qdm12/gluetun-wiki) are the only websites for Gluetun, other websites claiming to be official are scams ⚠️ 💁 You can optionally set `BORINGPOLL_GLUETUNCOM=on` to... [poll](./internal/boringpoll/boringpoll.go) that **scammy AI slop** website every few minutes so it costs them too much to keep it up. My gentle email reminders to take it down are being grossly ignored 🤷 This would make me very happy and serve this community. Lightweight swiss-army-knife-like VPN client to multiple VPN service providers ![Title image](https://raw.githubusercontent.com/qdm12/gluetun/master/title.svg) [![Build status](https://github.com/qdm12/gluetun/actions/workflows/ci.yml/badge.svg)](https://github.com/qdm12/gluetun/actions/workflows/ci.yml) [![Docker pulls qmcgaw/gluetun](https://img.shields.io/docker/pulls/qmcgaw/gluetun.svg)](https://hub.docker.com/r/qmcgaw/gluetun) [![Docker pulls qmcgaw/private-internet-access](https://img.shields.io/docker/pulls/qmcgaw/private-internet-access.svg)](https://hub.docker.com/r/qmcgaw/gluetun) [![Docker stars qmcgaw/gluetun](https://img.shields.io/docker/stars/qmcgaw/gluetun.svg)](https://hub.docker.com/r/qmcgaw/gluetun) [![Docker stars qmcgaw/private-internet-access](https://img.shields.io/docker/stars/qmcgaw/private-internet-access.svg)](https://hub.docker.com/r/qmcgaw/gluetun) ![Last release](https://img.shields.io/github/release/qdm12/gluetun?label=Last%20release) ![Last Docker tag](https://img.shields.io/docker/v/qmcgaw/gluetun?sort=semver&label=Last%20Docker%20tag) [![Last release size](https://img.shields.io/docker/image-size/qmcgaw/gluetun?sort=semver&label=Last%20released%20image)](https://hub.docker.com/r/qmcgaw/gluetun/tags?page=1&ordering=last_updated) ![GitHub last release date](https://img.shields.io/github/release-date/qdm12/gluetun?label=Last%20release%20date) ![Commits since release](https://img.shields.io/github/commits-since/qdm12/gluetun/latest?sort=semver) [![Latest size](https://img.shields.io/docker/image-size/qmcgaw/gluetun/latest?label=Latest%20image)](https://hub.docker.com/r/qmcgaw/gluetun/tags) [![GitHub last commit](https://img.shields.io/github/last-commit/qdm12/gluetun.svg)](https://github.com/qdm12/gluetun/commits/master) [![GitHub commit activity](https://img.shields.io/github/commit-activity/y/qdm12/gluetun.svg)](https://github.com/qdm12/gluetun/graphs/contributors) [![GitHub closed PRs](https://img.shields.io/github/issues-pr-closed/qdm12/gluetun.svg)](https://github.com/qdm12/gluetun/pulls?q=is%3Apr+is%3Aclosed) [![GitHub issues](https://img.shields.io/github/issues/qdm12/gluetun.svg)](https://github.com/qdm12/gluetun/issues) [![GitHub closed issues](https://img.shields.io/github/issues-closed/qdm12/gluetun.svg)](https://github.com/qdm12/gluetun/issues?q=is%3Aissue+is%3Aclosed) ![Code size](https://img.shields.io/github/languages/code-size/qdm12/gluetun) ![GitHub repo size](https://img.shields.io/github/repo-size/qdm12/gluetun) ![Go version](https://img.shields.io/github/go-mod/go-version/qdm12/gluetun) ![Visitors count](https://visitor-badge.laobi.icu/badge?page_id=gluetun.readme) ## Quick links - [Setup](#setup) - [Features](#features) - Problem? - Check the Wiki [common errors](https://github.com/qdm12/gluetun-wiki/tree/main/errors) and [faq](https://github.com/qdm12/gluetun-wiki/tree/main/faq) - [Start a discussion](https://github.com/qdm12/gluetun/discussions) - [Fix the Unraid template](https://github.com/qdm12/gluetun/discussions/550) - Suggestion? - [Create an issue](https://github.com/qdm12/gluetun/issues) - Happy? - Sponsor me on [github.com/sponsors/qdm12](https://github.com/sponsors/qdm12) - Donate to [paypal.me/qmcgaw](https://www.paypal.me/qmcgaw) - Drop me [an email](mailto:quentin.mcgaw@gmail.com) - **Want to add a VPN provider?** check [the development page](https://github.com/qdm12/gluetun-wiki/blob/main/contributing/development.md) and [add a provider page](https://github.com/qdm12/gluetun-wiki/blob/main/contributing/add-a-provider.md) - Video: [![Video Gif](https://i.imgur.com/CetWunc.gif)](https://youtu.be/0F6I03LQcI4) - [Substack Console interview](https://console.substack.com/p/console-72) ## Features - Based on Alpine 3.23 for a small Docker image of 43.1MB - Supports: **AirVPN**, **Cyberghost**, **ExpressVPN**, **FastestVPN**, **Giganews**, **HideMyAss**, **IPVanish**, **IVPN**, **Mullvad** (Wireguard only), **NordVPN**, **Perfect Privacy**, **Privado**, **Private Internet Access**, **PrivateVPN**, **ProtonVPN**, **PureVPN**, **SlickVPN**, **Surfshark**, **TorGuard**, **VPNSecure.me**, **VPNUnlimited**, **Vyprvpn**, **Windscribe** servers - Supports OpenVPN for all providers listed - Supports Wireguard both kernelspace and userspace - For **AirVPN**, **FastestVPN**, **Ivpn**, **Mullvad**, **NordVPN**, **Perfect privacy**, **ProtonVPN**, **Surfshark** and **Windscribe** - For **Cyberghost**, **Private Internet Access**, **PrivateVPN**, **PureVPN**, **Torguard**, **VPN Unlimited** and **VyprVPN** using [the custom provider](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/custom.md) - For custom Wireguard configurations using [the custom provider](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/custom.md) - More in progress, see [#134](https://github.com/qdm12/gluetun/issues/134) - Supports AmneziaWG only with the custom provider for now - DNS over TLS baked in with service provider(s) of your choice - DNS fine blocking of malicious/ads/surveillance hostnames and IP addresses, with live update every 24 hours - Choose the vpn network protocol, `udp` or `tcp` - Built in firewall kill switch to allow traffic only with needed the VPN servers and LAN devices - Built in Shadowsocks proxy server (protocol based on SOCKS5 with an encryption layer, tunnels TCP+UDP) - Built in HTTP proxy (tunnels HTTP and HTTPS through TCP) - [Connect other containers to it](https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md) - [Connect LAN devices to it](https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-lan-device-to-gluetun.md) - Compatible with amd64, i686 (32 bit), **ARM** 64 bit, ARM 32 bit v6 and v7, and even ppc64le 🎆 - Custom VPN server side port forwarding for [Perfect Privacy](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/perfect-privacy.md#vpn-server-port-forwarding), [Private Internet Access](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/private-internet-access.md#vpn-server-port-forwarding), [PrivateVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/privatevpn.md#vpn-server-port-forwarding) and [ProtonVPN](https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/protonvpn.md#vpn-server-port-forwarding) - Possibility of split horizon DNS by selecting multiple DNS over TLS providers - Can work as a Kubernetes sidecar container, thanks @rorph ## Setup 🎉 There are now instructions specific to each VPN provider with examples to help you get started as quickly as possible! Go to the [Wiki](https://github.com/qdm12/gluetun-wiki)! [🐛 Found a bug in the Wiki?!](https://github.com/qdm12/gluetun-wiki/issues/new/choose) Here's a docker-compose.yml for the laziest: ```yml --- services: gluetun: image: qmcgaw/gluetun # container_name: gluetun # line above must be uncommented to allow external containers to connect. # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks volumes: - /yourpath:/gluetun environment: # See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup - VPN_SERVICE_PROVIDER=ivpn - VPN_TYPE=openvpn # OpenVPN: - OPENVPN_USER= - OPENVPN_PASSWORD= # Wireguard: # - WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU= # - WIREGUARD_ADDRESSES=10.64.222.21/32 # Timezone for accurate log times - TZ= # Server list updater # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list - UPDATER_PERIOD= ``` 🆕 Image also available as `ghcr.io/qdm12/gluetun` ## Fun graphs [![Star History Chart](https://api.star-history.com/svg?repos=qdm12/gluetun&type=date&legend=top-left)](https://www.star-history.com/#qdm12/gluetun&type=date&legend=top-left) ## License [![MIT](https://img.shields.io/github/license/qdm12/gluetun)](https://github.com/qdm12/gluetun/blob/master/LICENSE) ================================================ FILE: ci/cmd/main.go ================================================ package main import ( "context" "fmt" "os" "os/signal" "github.com/qdm12/gluetun/ci/internal" "github.com/qdm12/log" ) func main() { logger := log.New() if len(os.Args) < 2 { logger.Error("Usage: " + os.Args[0] + " ") os.Exit(1) } ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt) var err error switch os.Args[1] { case "mullvad": err = internal.MullvadTest(ctx, logger) case "protonvpn": err = internal.ProtonVPNTest(ctx, logger) default: err = fmt.Errorf("unknown command: %s", os.Args[1]) } stop() if err != nil { logger.Error(err.Error()) os.Exit(1) } logger.Info("test completed successfully") } ================================================ FILE: ci/go.mod ================================================ module github.com/qdm12/gluetun/ci go 1.25.0 require ( github.com/docker/docker v28.5.1+incompatible github.com/opencontainers/image-spec v1.1.1 ) require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.6.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/fatih/color v1.13.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/mattn/go-colorable v0.1.9 // indirect github.com/mattn/go-isatty v0.0.14 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/sys/atomicwriter v0.1.0 // indirect github.com/moby/term v0.5.2 // indirect github.com/morikuni/aec v1.0.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/qdm12/log v0.1.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect go.opentelemetry.io/otel v1.38.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 // indirect go.opentelemetry.io/otel/metric v1.38.0 // indirect go.opentelemetry.io/otel/trace v1.38.0 // indirect golang.org/x/sys v0.35.0 // indirect golang.org/x/time v0.14.0 // indirect gotest.tools/v3 v3.5.2 // indirect ) ================================================ FILE: ci/go.sum ================================================ github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/docker/docker v28.5.1+incompatible h1:Bm8DchhSD2J6PsFzxC35TZo4TLGR2PdW/E69rU45NhM= github.com/docker/docker v28.5.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/qdm12/log v0.1.0 h1:jYBd/xscHYpblzZAd2kjZp2YmuYHjAAfbTViJWxoPTw= github.com/qdm12/log v0.1.0/go.mod h1:Vchi5M8uBvHfPNIblN4mjXn/oSbiWguQIbsgF1zdQPI= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg= go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 h1:aTL7F04bJHUlztTsNGJ2l+6he8c+y/b//eR0jjjemT4= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4= go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY= google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE= google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE= google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= ================================================ FILE: ci/internal/mullvad.go ================================================ package internal import ( "context" "fmt" ) func MullvadTest(ctx context.Context, logger Logger) error { expectedSecrets := []string{ "Wireguard private key", "Wireguard address", } secrets, err := readSecrets(ctx, expectedSecrets, logger) if err != nil { return fmt.Errorf("reading secrets: %w", err) } env := []string{ "VPN_SERVICE_PROVIDER=mullvad", "VPN_TYPE=wireguard", "LOG_LEVEL=debug", "SERVER_COUNTRIES=USA", "WIREGUARD_PRIVATE_KEY=" + secrets[0], "WIREGUARD_ADDRESSES=" + secrets[1], } return simpleTest(ctx, env, logger) } ================================================ FILE: ci/internal/protonvpn.go ================================================ package internal import ( "context" "fmt" ) func ProtonVPNTest(ctx context.Context, logger Logger) error { expectedSecrets := []string{ "Wireguard private key", } secrets, err := readSecrets(ctx, expectedSecrets, logger) if err != nil { return fmt.Errorf("reading secrets: %w", err) } env := []string{ "VPN_SERVICE_PROVIDER=protonvpn", "VPN_TYPE=wireguard", "LOG_LEVEL=debug", "SERVER_COUNTRIES=United States", "WIREGUARD_PRIVATE_KEY=" + secrets[0], } return simpleTest(ctx, env, logger) } ================================================ FILE: ci/internal/secrets.go ================================================ package internal import ( "bufio" "context" "fmt" "os" "strings" ) type Logger interface { Info(msg string) Infof(format string, args ...any) } func readSecrets(ctx context.Context, expectedSecrets []string, logger Logger, ) (lines []string, err error) { scanner := bufio.NewScanner(os.Stdin) lines = make([]string, 0, len(expectedSecrets)) for i := range expectedSecrets { logger.Infof("🤫 reading %s from Stdin...", expectedSecrets[i]) if !scanner.Scan() { break } lines = append(lines, strings.TrimSpace(scanner.Text())) logger.Infof("🤫 %s secret read successfully", expectedSecrets[i]) if ctx.Err() != nil { return nil, ctx.Err() } } if err := scanner.Err(); err != nil { return nil, fmt.Errorf("reading secrets from stdin: %w", err) } if len(lines) < len(expectedSecrets) { return nil, fmt.Errorf("expected %d secrets via Stdin, but only received %d", len(expectedSecrets), len(lines)) } for i, line := range lines { if line == "" { return nil, fmt.Errorf("secret on line %d/%d was empty", i+1, len(lines)) } } return lines, nil } ================================================ FILE: ci/internal/simple.go ================================================ package internal import ( "bufio" "context" "fmt" "io" "regexp" "time" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" v1 "github.com/opencontainers/image-spec/specs-go/v1" ) func ptrTo[T any](v T) *T { return &v } func simpleTest(ctx context.Context, env []string, logger Logger) error { const timeout = 60 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() client, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) if err != nil { return fmt.Errorf("creating Docker client: %w", err) } defer client.Close() config := &container.Config{ Image: "qmcgaw/gluetun", StopTimeout: ptrTo(3), Env: env, } hostConfig := &container.HostConfig{ AutoRemove: true, CapAdd: []string{"NET_ADMIN", "NET_RAW"}, } networkConfig := (*network.NetworkingConfig)(nil) platform := (*v1.Platform)(nil) const containerName = "" // auto-generated name response, err := client.ContainerCreate(ctx, config, hostConfig, networkConfig, platform, containerName) if err != nil { return fmt.Errorf("creating container: %w", err) } for _, warning := range response.Warnings { fmt.Println("Warning during container creation:", warning) } containerID := response.ID defer stopContainer(client, containerID) beforeStartTime := time.Now() err = client.ContainerStart(ctx, containerID, container.StartOptions{}) if err != nil { return fmt.Errorf("starting container: %w", err) } return waitForLogLine(ctx, client, containerID, beforeStartTime, logger) } func stopContainer(client *client.Client, containerID string) { const stopTimeout = 5 * time.Second // must be higher than 3s, see above [container.Config]'s StopTimeout field stopCtx, stopCancel := context.WithTimeout(context.Background(), stopTimeout) defer stopCancel() err := client.ContainerStop(stopCtx, containerID, container.StopOptions{}) if err != nil { fmt.Println("failed to stop container:", err) } } var successRegexp = regexp.MustCompile(`^.+Public IP address is .+$`) func waitForLogLine(ctx context.Context, client *client.Client, containerID string, beforeStartTime time.Time, logger Logger, ) error { logOptions := container.LogsOptions{ ShowStdout: true, Follow: true, Since: beforeStartTime.Format(time.RFC3339Nano), } reader, err := client.ContainerLogs(ctx, containerID, logOptions) if err != nil { return fmt.Errorf("error getting container logs: %w", err) } defer reader.Close() var linesSeen []string scanner := bufio.NewScanner(reader) for ctx.Err() == nil { if scanner.Scan() { line := scanner.Text() if len(line) > 8 { // remove Docker log prefix line = line[8:] } linesSeen = append(linesSeen, line) if successRegexp.MatchString(line) { fmt.Println("✅ Success line logged") return nil } continue } err := scanner.Err() if err != nil && err != io.EOF { logSeenLines(logger, linesSeen) return fmt.Errorf("reading log stream: %w", err) } // The scanner is either done or cannot read because of EOF logger.Info("the log scanner stopped") logSeenLines(logger, linesSeen) // Check if the container is still running inspect, err := client.ContainerInspect(ctx, containerID) if err != nil { return fmt.Errorf("inspecting container: %w", err) } if !inspect.State.Running { return fmt.Errorf("container stopped unexpectedly while waiting for log line. Exit code: %d", inspect.State.ExitCode) } } return ctx.Err() } func logSeenLines(logger Logger, lines []string) { fmt.Println("Logs seen so far:") for _, line := range lines { fmt.Println(" " + line) } } ================================================ FILE: cmd/gluetun/main.go ================================================ package main import ( "context" "errors" "fmt" "io/fs" "net/http" "net/netip" "os" "os/exec" "os/signal" "strings" "syscall" "time" _ "time/tzdata" _ "github.com/breml/rootcerts" "github.com/qdm12/dns/v2/pkg/doh" dnsprovider "github.com/qdm12/dns/v2/pkg/provider" "github.com/qdm12/gluetun/internal/alpine" "github.com/qdm12/gluetun/internal/boringpoll" "github.com/qdm12/gluetun/internal/cli" "github.com/qdm12/gluetun/internal/command" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/configuration/sources/files" "github.com/qdm12/gluetun/internal/configuration/sources/secrets" "github.com/qdm12/gluetun/internal/constants" copenvpn "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/dns" "github.com/qdm12/gluetun/internal/firewall" "github.com/qdm12/gluetun/internal/healthcheck" "github.com/qdm12/gluetun/internal/httpproxy" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/openvpn" "github.com/qdm12/gluetun/internal/openvpn/extract" "github.com/qdm12/gluetun/internal/portforward" "github.com/qdm12/gluetun/internal/pprof" "github.com/qdm12/gluetun/internal/provider" "github.com/qdm12/gluetun/internal/publicip" "github.com/qdm12/gluetun/internal/routing" "github.com/qdm12/gluetun/internal/server" "github.com/qdm12/gluetun/internal/shadowsocks" "github.com/qdm12/gluetun/internal/storage" "github.com/qdm12/gluetun/internal/tun" updater "github.com/qdm12/gluetun/internal/updater/loop" "github.com/qdm12/gluetun/internal/updater/resolver" "github.com/qdm12/gluetun/internal/updater/unzip" "github.com/qdm12/gluetun/internal/vpn" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/reader/sources/env" "github.com/qdm12/goshutdown" "github.com/qdm12/goshutdown/goroutine" "github.com/qdm12/goshutdown/group" "github.com/qdm12/goshutdown/order" "github.com/qdm12/gosplash" "github.com/qdm12/log" ) //nolint:gochecknoglobals var ( version = "unknown" commit = "unknown" created = "an unknown date" ) func main() { buildInfo := models.BuildInformation{ Version: version, Commit: commit, Created: created, } background := context.Background() signalCh := make(chan os.Signal, 1) signal.Notify(signalCh, os.Interrupt, syscall.SIGTERM) ctx, cancel := context.WithCancel(background) logger := log.New(log.SetLevel(log.LevelInfo)) args := os.Args tun := tun.New() netLinkDebugLogger := logger.New(log.SetComponent("netlink")) netLinker := netlink.New(netLinkDebugLogger) cli := cli.New() cmder := command.New() reader := reader.New(reader.Settings{ Sources: []reader.Source{ secrets.New(logger), files.New(logger), env.New(env.Settings{}), }, HandleDeprecatedKey: func(source, deprecatedKey, currentKey string) { logger.Warn("You are using the old " + source + " " + deprecatedKey + ", please consider changing it to " + currentKey) }, }) errorCh := make(chan error) go func() { errorCh <- _main(ctx, buildInfo, args, logger, reader, tun, netLinker, cmder, cli) }() // Wait for OS signal or run error var err error select { case receivedSignal := <-signalCh: signal.Stop(signalCh) fmt.Println("") logger.Warn("Caught OS signal " + receivedSignal.String() + ", shutting down") cancel() case err = <-errorCh: close(errorCh) if err == nil { // expected exit such as healthcheck os.Exit(0) } logger.Error(err.Error()) cancel() } // Shutdown timed sequence, and force exit on second OS signal const shutdownGracePeriod = 5 * time.Second timer := time.NewTimer(shutdownGracePeriod) select { case shutdownErr := <-errorCh: timer.Stop() if shutdownErr != nil { logger.Warnf("Shutdown failed: %s", shutdownErr) os.Exit(1) } logger.Info("Shutdown successful") if err != nil { os.Exit(1) } os.Exit(0) case <-timer.C: logger.Warn("Shutdown timed out") os.Exit(1) } } var errCommandUnknown = errors.New("command is unknown") //nolint:gocognit,gocyclo,maintidx func _main(ctx context.Context, buildInfo models.BuildInformation, args []string, logger log.LoggerInterface, reader *reader.Reader, tun Tun, netLinker netLinker, cmder RunStarter, cli clier, ) error { if len(args) > 1 { // cli operation switch args[1] { case "healthcheck": return cli.HealthCheck(ctx, reader, logger) case "clientkey": return cli.ClientKey(args[2:]) case "openvpnconfig": return cli.OpenvpnConfig(logger, reader, netLinker) case "update": return cli.Update(ctx, args[2:], logger) case "format-servers": return cli.FormatServers(args[2:]) case "genkey": return cli.GenKey(args[2:]) default: return fmt.Errorf("%w: %s", errCommandUnknown, args[1]) } } defer fmt.Println(gluetunLogo) announcementExp, err := time.Parse(time.RFC3339, "2026-04-30T00:00:00Z") if err != nil { return err } splashSettings := gosplash.Settings{ User: "qdm12", Repository: "gluetun", Emails: []string{"quentin.mcgaw@gmail.com"}, Version: buildInfo.Version, Commit: buildInfo.Commit, Created: buildInfo.Created, Announcement: "Set BORINGPOLL_GLUETUNCOM=on to help combat AI slop and shutdown that scam website", AnnounceExp: announcementExp, // Sponsor information PaypalUser: "qmcgaw", GithubSponsor: "qdm12", } for _, line := range gosplash.MakeLines(splashSettings) { fmt.Println(line) } var allSettings settings.Settings err = allSettings.Read(reader, logger) if err != nil { return err } allSettings.SetDefaults() // Note: no need to validate minimal settings for the firewall: // - global log level is parsed below // - firewall Debug and Enabled are booleans parsed from source logLevel, err := log.ParseLevel(allSettings.Log.Level) if err != nil { return fmt.Errorf("log level: %w", err) } logger.Patch(log.SetLevel(logLevel)) netLinker.PatchLoggerLevel(logLevel) routingLogger := logger.New(log.SetComponent("routing")) routingConf := routing.New(netLinker, routingLogger) defaultRoutes, err := routingConf.DefaultRoutes() if err != nil { return err } localNetworks, err := routingConf.LocalNetworks() if err != nil { return err } iptablesLogLevel, _ := log.ParseLevel(allSettings.Firewall.Iptables.LogLevel) iptablesLogger := logger.New(log.SetComponent("iptables"), log.SetLevel(iptablesLogLevel)) firewallLogger := logger.New(log.SetComponent("firewall")) firewallConf, err := firewall.NewConfig(ctx, firewallLogger, iptablesLogger, cmder, defaultRoutes, localNetworks) if err != nil { return err } if *allSettings.Firewall.Enabled { err = firewallConf.SetEnabled(ctx, true) if err != nil { return err } err = netLinker.FlushConntrack() if err != nil { logger.Warnf("flushing conntrack failed: %s", err) } } // TODO run this in a loop or in openvpn to reload from file without restarting storageLogger := logger.New(log.SetComponent("storage")) storage, err := storage.New(storageLogger, *allSettings.Storage.Filepath) if err != nil { return err } ipv6Supported, err := netLinker.IsIPv6Supported() if err != nil { return fmt.Errorf("checking for IPv6 support: %w", err) } err = allSettings.Validate(storage, ipv6Supported, logger) if err != nil { return err } allSettings.Pprof.HTTPServer.Logger = logger.New(log.SetComponent("pprof")) pprofServer, err := pprof.New(allSettings.Pprof) if err != nil { return fmt.Errorf("creating Pprof server: %w", err) } puid, pgid := int(*allSettings.System.PUID), int(*allSettings.System.PGID) const clientTimeout = 35 * time.Second httpClient := &http.Client{Timeout: clientTimeout} // Create configurators alpineConf := alpine.New() ovpnConf := openvpn.New( logger.New(log.SetComponent("openvpn configurator")), cmder, puid, pgid) ovpnVersion := ovpnConf.Version26 if allSettings.VPN.OpenVPN.Version == copenvpn.Openvpn25 { ovpnVersion = ovpnConf.Version25 } err = printVersions(ctx, logger, []printVersionElement{ {name: "Alpine", getVersion: alpineConf.Version}, {name: "OpenVPN", getVersion: ovpnVersion}, {name: "Firewall", getVersion: firewallConf.Version}, }) if err != nil { return err } logger.Info(allSettings.String()) for _, warning := range allSettings.Warnings() { logger.Warn(warning) } const permission = fs.FileMode(0o644) err = os.MkdirAll("/tmp/gluetun", permission) if err != nil { return err } err = os.MkdirAll("/gluetun", permission) if err != nil { return err } const defaultUsername = "nonrootuser" nonRootUsername, err := alpineConf.CreateUser(defaultUsername, puid) if err != nil { return fmt.Errorf("creating user: %w", err) } if nonRootUsername != defaultUsername { logger.Info("using existing username " + nonRootUsername + " corresponding to user id " + fmt.Sprint(puid)) } allSettings.VPN.OpenVPN.ProcessUser = nonRootUsername if err := routingConf.Setup(); err != nil { if strings.Contains(err.Error(), "operation not permitted") { logger.Warn("💡 Tip: Are you passing NET_ADMIN capability to gluetun?") } return fmt.Errorf("setting up routing: %w", err) } defer func() { routingLogger.Info("routing cleanup...") if err := routingConf.TearDown(); err != nil { routingLogger.Error("cannot teardown routing: " + err.Error()) } }() if err := firewallConf.SetOutboundSubnets(ctx, allSettings.Firewall.OutboundSubnets); err != nil { return err } if err := routingConf.SetOutboundRoutes(allSettings.Firewall.OutboundSubnets); err != nil { return err } err = routingConf.AddLocalRules(localNetworks) if err != nil { return fmt.Errorf("adding local rules: %w", err) } const tunDevice = "/dev/net/tun" err = tun.Check(tunDevice) if err != nil { if !errors.Is(err, os.ErrNotExist) { return fmt.Errorf("checking TUN device: %w (see the Wiki errors/tun page)", err) } logger.Info(err.Error() + "; creating it...") err = tun.Create(tunDevice) if err != nil { return fmt.Errorf("creating tun device: %w", err) } } for _, port := range allSettings.Firewall.InputPorts { for _, defaultRoute := range defaultRoutes { err = firewallConf.SetAllowedPort(ctx, port, defaultRoute.NetInterface) if err != nil { return err } } } // TODO move inside firewall? // Shutdown settings const totalShutdownTimeout = 3 * time.Second const defaultShutdownTimeout = 400 * time.Millisecond defaultShutdownOnSuccess := func(goRoutineName string) { logger.Info(goRoutineName + ": terminated ✔️") } defaultShutdownOnFailure := func(goRoutineName string, err error) { logger.Warn(goRoutineName + ": " + err.Error() + " ⚠️") } defaultGroupOptions := []group.Option{ group.OptionTimeout(defaultShutdownTimeout), group.OptionOnSuccess(defaultShutdownOnSuccess), } controlGroupHandler := goshutdown.NewGroupHandler("control", defaultGroupOptions...) tickersGroupHandler := goshutdown.NewGroupHandler("tickers", defaultGroupOptions...) otherGroupHandler := goshutdown.NewGroupHandler("other", defaultGroupOptions...) if *allSettings.Pprof.Enabled { // TODO run in run loop so this can be patched at runtime pprofReady := make(chan struct{}) pprofHandler, pprofCtx, pprofDone := goshutdown.NewGoRoutineHandler("pprof server") go pprofServer.Run(pprofCtx, pprofReady, pprofDone) otherGroupHandler.Add(pprofHandler) <-pprofReady } portForwardLogger := logger.New(log.SetComponent("port forwarding")) portForwardLooper := portforward.NewLoop(allSettings.VPN.Provider.PortForwarding, routingConf, httpClient, firewallConf, portForwardLogger, cmder, puid, pgid) portForwardRunError, err := portForwardLooper.Start(ctx) if err != nil { return fmt.Errorf("starting port forwarding loop: %w", err) } dnsLogger := logger.New(log.SetComponent("dns")) dnsLooper, err := dns.NewLoop(allSettings.DNS, httpClient, dnsLogger, localNetworksToPrefixes(localNetworks)) if err != nil { return fmt.Errorf("creating DNS loop: %w", err) } dnsHandler, dnsCtx, dnsDone := goshutdown.NewGoRoutineHandler( "dns", goroutine.OptionTimeout(defaultShutdownTimeout)) // wait for dnsLooper.Restart or its ticker launched with RunRestartTicker go dnsLooper.Run(dnsCtx, dnsDone) otherGroupHandler.Add(dnsHandler) dnsTickerHandler, dnsTickerCtx, dnsTickerDone := goshutdown.NewGoRoutineHandler( "dns ticker", goroutine.OptionTimeout(defaultShutdownTimeout)) go dnsLooper.RunRestartTicker(dnsTickerCtx, dnsTickerDone) controlGroupHandler.Add(dnsTickerHandler) publicIPLooper, err := publicip.NewLoop(allSettings.PublicIP, puid, pgid, httpClient, logger.New(log.SetComponent("ip getter"))) if err != nil { return fmt.Errorf("creating public ip loop: %w", err) } publicIPRunError, err := publicIPLooper.Start(ctx) if err != nil { return fmt.Errorf("starting public ip loop: %w", err) } healthLogger := logger.New(log.SetComponent("healthcheck")) healthcheckServer := healthcheck.NewServer(allSettings.Health, healthLogger) healthServerHandler, healthServerCtx, healthServerDone := goshutdown.NewGoRoutineHandler( "HTTP health server", goroutine.OptionTimeout(defaultShutdownTimeout)) go healthcheckServer.Run(healthServerCtx, healthServerDone) healthChecker := healthcheck.NewChecker(healthLogger) // Note: we use a separate DoH dialer for the VPN servers data updater, separate from the // main DNS local server to make sure no request is blocked by filters. dohDialer, err := doh.New(doh.Settings{ UpstreamResolvers: []dnsprovider.Provider{dnsprovider.Cloudflare(), dnsprovider.Google()}, }) if err != nil { return fmt.Errorf("creating updater DoH dialer: %w", err) } updaterLogger := logger.New(log.SetComponent("updater")) unzipper := unzip.New(httpClient) parallelResolver := resolver.NewParallelResolver(dohDialer) openvpnFileExtractor := extract.New() providers := provider.NewProviders(storage, time.Now, updaterLogger, httpClient, unzipper, parallelResolver, publicIPLooper.Fetcher(), openvpnFileExtractor, allSettings.Updater) boringPollLogger := logger.New(log.SetComponent("boring poll")) boringPoll := boringpoll.New(httpClient, boringPollLogger, allSettings.BoringPoll) vpnLogger := logger.New(log.SetComponent("vpn")) vpnLooper := vpn.NewLoop(allSettings.VPN, ipv6Supported, allSettings.Firewall.VPNInputPorts, providers, storage, boringPoll, allSettings.Health, healthChecker, healthcheckServer, ovpnConf, netLinker, firewallConf, routingConf, portForwardLooper, cmder, publicIPLooper, dnsLooper, vpnLogger, httpClient, buildInfo, *allSettings.Version.Enabled) vpnHandler, vpnCtx, vpnDone := goshutdown.NewGoRoutineHandler( "vpn", goroutine.OptionTimeout(time.Second)) go vpnLooper.Run(vpnCtx, vpnDone) updaterLooper := updater.NewLoop(allSettings.Updater, providers, storage, httpClient, updaterLogger) updaterHandler, updaterCtx, updaterDone := goshutdown.NewGoRoutineHandler( "updater", goroutine.OptionTimeout(defaultShutdownTimeout)) // wait for updaterLooper.Restart() or its ticket launched with RunRestartTicker go updaterLooper.Run(updaterCtx, updaterDone) tickersGroupHandler.Add(updaterHandler) updaterTickerHandler, updaterTickerCtx, updaterTickerDone := goshutdown.NewGoRoutineHandler( "updater ticker", goroutine.OptionTimeout(defaultShutdownTimeout)) go updaterLooper.RunRestartTicker(updaterTickerCtx, updaterTickerDone) controlGroupHandler.Add(updaterTickerHandler) httpProxyLooper := httpproxy.NewLoop( logger.New(log.SetComponent("http proxy")), allSettings.HTTPProxy) httpProxyHandler, httpProxyCtx, httpProxyDone := goshutdown.NewGoRoutineHandler( "http proxy", goroutine.OptionTimeout(defaultShutdownTimeout)) go httpProxyLooper.Run(httpProxyCtx, httpProxyDone) otherGroupHandler.Add(httpProxyHandler) shadowsocksLooper := shadowsocks.NewLoop(allSettings.Shadowsocks, logger.New(log.SetComponent("shadowsocks"))) shadowsocksHandler, shadowsocksCtx, shadowsocksDone := goshutdown.NewGoRoutineHandler( "shadowsocks proxy", goroutine.OptionTimeout(defaultShutdownTimeout)) go shadowsocksLooper.Run(shadowsocksCtx, shadowsocksDone) otherGroupHandler.Add(shadowsocksHandler) httpServerHandler, httpServerCtx, httpServerDone := goshutdown.NewGoRoutineHandler( "http server", goroutine.OptionTimeout(defaultShutdownTimeout)) httpServer, err := server.New(httpServerCtx, allSettings.ControlServer, logger.New(log.SetComponent("http server")), buildInfo, vpnLooper, portForwardLooper, dnsLooper, updaterLooper, publicIPLooper, storage, ipv6Supported) if err != nil { return fmt.Errorf("setting up control server: %w", err) } httpServerReady := make(chan struct{}) go httpServer.Run(httpServerCtx, httpServerReady, httpServerDone) <-httpServerReady controlGroupHandler.Add(httpServerHandler) orderHandler := goshutdown.NewOrderHandler("gluetun", order.OptionTimeout(totalShutdownTimeout), order.OptionOnSuccess(defaultShutdownOnSuccess), order.OptionOnFailure(defaultShutdownOnFailure)) orderHandler.Append(controlGroupHandler, tickersGroupHandler, healthServerHandler, vpnHandler, otherGroupHandler) // Start VPN for the first time in a blocking call // until the VPN is launched _, _ = vpnLooper.ApplyStatus(ctx, constants.Running) // TODO option to disable with variable select { case <-ctx.Done(): stoppers := []interface { String() string Stop() error }{ portForwardLooper, publicIPLooper, } for _, stopper := range stoppers { err := stopper.Stop() if err != nil { logger.Error(fmt.Sprintf("stopping %s: %s", stopper, err)) } } case err := <-portForwardRunError: logger.Errorf("port forwarding loop crashed: %s", err) case err := <-publicIPRunError: logger.Errorf("public IP loop crashed: %s", err) } return orderHandler.Shutdown(context.Background()) } type printVersionElement struct { name string getVersion func(ctx context.Context) (version string, err error) } type infoer interface { Info(s string) } func printVersions(ctx context.Context, logger infoer, elements []printVersionElement, ) (err error) { const timeout = 5 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() for _, element := range elements { version, err := element.getVersion(ctx) if err != nil { return fmt.Errorf("getting %s version: %w", element.name, err) } logger.Info(element.name + " version: " + version) } return nil } func localNetworksToPrefixes(localNetworks []routing.LocalNetwork) (prefixes []netip.Prefix) { prefixes = make([]netip.Prefix, len(localNetworks)) for i, localNetwork := range localNetworks { prefixes[i] = localNetwork.IPNet } return prefixes } type netLinker interface { Addresser Router Ruler Linker IsWireguardSupported() (ok bool, err error) IsIPv6Supported() (ok bool, err error) FlushConntrack() error PatchLoggerLevel(level log.Level) } type Addresser interface { AddrList(linkIndex uint32, family uint8) ( addresses []netip.Prefix, err error) AddrReplace(linkIndex uint32, addr netip.Prefix) error } type Router interface { RouteList(family uint8) (routes []netlink.Route, err error) RouteAdd(route netlink.Route) error RouteDel(route netlink.Route) error RouteReplace(route netlink.Route) error } type Ruler interface { RuleList(family uint8) (rules []netlink.Rule, err error) RuleAdd(rule netlink.Rule) error RuleDel(rule netlink.Rule) error } type Linker interface { LinkList() (links []netlink.Link, err error) LinkByName(name string) (link netlink.Link, err error) LinkByIndex(index uint32) (link netlink.Link, err error) LinkAdd(link netlink.Link) (linkIndex uint32, err error) LinkDel(linkIndex uint32) (err error) LinkSetUp(linkIndex uint32) (err error) LinkSetDown(linkIndex uint32) (err error) LinkSetMTU(linkIndex, mtu uint32) error } type clier interface { ClientKey(args []string) error FormatServers(args []string) error OpenvpnConfig(logger cli.OpenvpnConfigLogger, reader *reader.Reader, ipv6Checker cli.IPv6Checker) error HealthCheck(ctx context.Context, reader *reader.Reader, warner cli.Warner) error Update(ctx context.Context, args []string, logger cli.UpdaterLogger) error GenKey(args []string) error } type Tun interface { Check(tunDevice string) error Create(tunDevice string) error } type RunStarter interface { Run(cmd *exec.Cmd) (output string, err error) Start(cmd *exec.Cmd) (stdoutLines, stderrLines <-chan string, waitError <-chan error, err error) RunAndLog(ctx context.Context, commandString string, logger command.Logger) (err error) } const gluetunLogo = ` @@@ @@@@ @@@@@@ @@@@.@@ @@@@@@@@@@ @@@@.@@@ @@@@@@@@==@@@@ @@@.@..@@ @@@@@@@=@..==@@@@ @@@@ @@@.@@.@@ @@@@@@===@@@@.=@@@ @...-@@ @@@@.@@.@@@ @@@ @@@@@@=======@@@=@@@@ @@@@@@@@ @@@.-%@.+@@@@@@@@ @@@@@%============@@@@ @@@.--@..@@@@.-@@@@@@@==============@@@@ @@@@ @@@-@--@@.@@.---@@@@@==============#@@@@@ @@@ @@@.@@-@@.@@--@@@@@===============@@@@@@ @@@@.@--@@@@@@@@@@================@@@@@@@ @@@..--@@*@@@@@@================@@@@+*@@ @@@.---@@.@@@@=================@@@@--@@ @@@-.---@@@@@@================@@@@*--@@@ @@@.:-#@@@@@@===============*@@@@.---@@ @@@.-------.@@@============@@@@@@.--@@@ @@@..--------:@@@=========@@@@@@@@.--@@@ @@@.-@@@@@@@@@@@========@@@@@ @@@.--@@ @@.@@@@===============@@@@@ @@@@@@---@@@@@@ @@@@@@@==============@@@@@@@@@@@@*@---@@@@@@@@ @@@@@@=============@@@@@ @@@...------------.*@@@ @@@@%===========@@@@@@ @@@..------@@@@.-----.-@@@ @@@@@@.=======@@@@@@ @@@.-------@@@@@@-.------=@@ @@@@@@@@@===@@@@@@ @@.------@@@@ @@@@.-----@@@ @@@==@@@=@@@@@@@ @@@.-@@@@@@@ @@@@@@@--@@ @@@@@@@@@@@@@ @@@@@@@@ @@@@@@@ @@@@@@@@ @@@@ @@@@ ` ================================================ FILE: go.mod ================================================ module github.com/qdm12/gluetun go 1.25.0 require ( github.com/ProtonMail/go-srp v0.0.7 github.com/amnezia-vpn/amneziawg-go v0.2.16 github.com/breml/rootcerts v0.3.4 github.com/fatih/color v1.18.0 github.com/golang/mock v1.6.0 github.com/jsimonetti/rtnetlink v1.4.2 github.com/klauspost/compress v1.18.4 github.com/klauspost/pgzip v1.2.6 github.com/mdlayher/genetlink v1.3.2 github.com/mdlayher/netlink v1.9.0 github.com/pelletier/go-toml/v2 v2.2.4 github.com/qdm12/dns/v2 v2.0.0-rc9.0.20260310123525-76fabc2b3294 github.com/qdm12/gosettings v0.4.4 github.com/qdm12/goshutdown v0.3.0 github.com/qdm12/gosplash v0.2.1-0.20260305164749-b713de4fee6c github.com/qdm12/gotree v0.3.0 github.com/qdm12/log v0.1.0 github.com/qdm12/ss-server v0.6.0 github.com/stretchr/testify v1.11.1 github.com/ti-mo/netfilter v0.5.3 github.com/ulikunitz/xz v0.5.15 github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c golang.org/x/net v0.51.0 golang.org/x/sys v0.42.0 golang.org/x/text v0.35.0 golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6 gopkg.in/ini.v1 v1.67.1 ) require ( github.com/ProtonMail/bcrypt v0.0.0-20211005172633-e235017c1baf // indirect github.com/ProtonMail/go-crypto v1.3.0-proton // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cloudflare/circl v1.6.1 // indirect github.com/cronokirby/saferith v0.33.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mdlayher/socket v0.5.1 // indirect github.com/miekg/dns v1.1.62 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.60.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/qdm12/goservices v0.1.1-0.20251104135713-6bee97bd4978 // indirect github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect golang.org/x/crypto v0.48.0 // indirect golang.org/x/mod v0.33.0 // indirect golang.org/x/sync v0.20.0 // indirect golang.org/x/tools v0.42.0 // indirect golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect google.golang.org/protobuf v1.35.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect kernel.org/pub/linux/libs/security/libcap/cap v1.2.70 // indirect kernel.org/pub/linux/libs/security/libcap/psx v1.2.70 // indirect ) ================================================ FILE: go.sum ================================================ github.com/ProtonMail/bcrypt v0.0.0-20210511135022-227b4adcab57/go.mod h1:HecWFHognK8GfRDGnFQbW/LiV7A3MX3gZVs45vk5h8I= github.com/ProtonMail/bcrypt v0.0.0-20211005172633-e235017c1baf h1:yc9daCCYUefEs69zUkSzubzjBbL+cmOXgnmt9Fyd9ug= github.com/ProtonMail/bcrypt v0.0.0-20211005172633-e235017c1baf/go.mod h1:o0ESU9p83twszAU8LBeJKFAAMX14tISa0yk4Oo5TOqo= github.com/ProtonMail/go-crypto v0.0.0-20230321155629-9a39f2531310/go.mod h1:8TI4H3IbrackdNgv+92dI+rhpCaLqM0IfpgCgenFvRE= github.com/ProtonMail/go-crypto v1.3.0-proton h1:tAQKQRZX/73VmzK6yHSCaRUOvS/3OYSQzhXQsrR7yUM= github.com/ProtonMail/go-crypto v1.3.0-proton/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/ProtonMail/go-srp v0.0.7 h1:Sos3Qk+th4tQR64vsxGIxYpN3rdnG9Wf9K4ZloC1JrI= github.com/ProtonMail/go-srp v0.0.7/go.mod h1:giCp+7qRnMIcCvI6V6U3S1lDDXDQYx2ewJ6F/9wdlJk= github.com/amnezia-vpn/amneziawg-go v0.2.16 h1:XY6HOq/xtqH8ZXMncRWkjFs85EKdN10NLNnw23kTpE0= github.com/amnezia-vpn/amneziawg-go v0.2.16/go.mod h1:nRkPpIzjCxMW8pZKXTRkpqAQVlmFJdVOGkeQSC7wbms= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/breml/rootcerts v0.3.4 h1:9i7WNl/ctd9OEAOaTfLy//Wrlfxq/tRQ7v4okYFN9Ys= github.com/breml/rootcerts v0.3.4/go.mod h1:S/PKh+4d1HUn4HQovEB8hPJZO6pUZYrIhmXBhsegfXw= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4= github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cronokirby/saferith v0.33.0 h1:TgoQlfsD4LIwx71+ChfRcIpjkw+RPOapDEVxa+LhwLo= github.com/cronokirby/saferith v0.33.0/go.mod h1:QKJhjoqUtBsXCAVEjw38mFqoi7DebT7kthcD7UzbnoA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/jsimonetti/rtnetlink v1.4.2 h1:Df9w9TZ3npHTyDn0Ev9e1uzmN2odmXd0QX+J5GTEn90= github.com/jsimonetti/rtnetlink v1.4.2/go.mod h1:92s6LJdE+1iOrw+F2/RO7LYI2Qd8pPpFNNUYW06gcoM= github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mdlayher/genetlink v1.3.2 h1:KdrNKe+CTu+IbZnm/GVUMXSqBBLqcGpRDa0xkQy56gw= github.com/mdlayher/genetlink v1.3.2/go.mod h1:tcC3pkCrPUGIKKsCsp0B3AdaaKuHtaxoJRz3cc+528o= github.com/mdlayher/netlink v1.9.0 h1:G8+GLq2x3v4D4MVIqDdNUhTUC7TKiCy/6MDkmItfKco= github.com/mdlayher/netlink v1.9.0/go.mod h1:YBnl5BXsCoRuwBjKKlZ+aYmEoq0r12FDA/3JC+94KDg= github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos= github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ= github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ= github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721 h1:RlZweED6sbSArvlE924+mUcZuXKLBHA35U7LN621Bws= github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721/go.mod h1:Ickgr2WtCLZ2MDGd4Gr0geeCH5HybhRJbonOgQpvSxc= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/qdm12/dns/v2 v2.0.0-rc9.0.20260310123525-76fabc2b3294 h1:adkCP7N9mEHpsKSR/5LToF27qJo0yOufhT5zBdKpyrE= github.com/qdm12/dns/v2 v2.0.0-rc9.0.20260310123525-76fabc2b3294/go.mod h1:98foWgXJZ+g8gJIuO+fdO+oWpFei5WShMFTeN4Im2lE= github.com/qdm12/goservices v0.1.1-0.20251104135713-6bee97bd4978 h1:TRGpCU1l0lNwtogEUSs5U+RFceYxkAJUmrGabno7J5c= github.com/qdm12/goservices v0.1.1-0.20251104135713-6bee97bd4978/go.mod h1:D1Po4CRQLYjccnAR2JsVlN1sBMgQrcNLONbvyuzcdTg= github.com/qdm12/gosettings v0.4.4 h1:SM6tOZDf6k8qbjWU8KWyBF4mWIixfsKCfh9DGRLHlj4= github.com/qdm12/gosettings v0.4.4/go.mod h1:CPrt2YC4UsURTrslmhxocVhMCW03lIrqdH2hzIf5prg= github.com/qdm12/goshutdown v0.3.0 h1:pqBpJkdwlZlfTEx4QHtS8u8CXx6pG0fVo6S1N0MpSEM= github.com/qdm12/goshutdown v0.3.0/go.mod h1:EqZ46No00kCTZ5qzdd3qIzY6ayhMt24QI8Mh8LVQYmM= github.com/qdm12/gosplash v0.2.1-0.20260305164749-b713de4fee6c h1:l8qz53IqEXRGK0X62gWwipG077Fz5eNM7qe4mUbAr/Q= github.com/qdm12/gosplash v0.2.1-0.20260305164749-b713de4fee6c/go.mod h1:vgRg8Skq9+RNp1THecwMI7SGsnIwO/NPMfYenNTgpAc= github.com/qdm12/gotree v0.3.0 h1:Q9f4C571EFK7ZEsPkEL2oGZX7I+ZhVxhh1ZSydW+5yI= github.com/qdm12/gotree v0.3.0/go.mod h1:iz06uXmRR4Aq9v6tX7mosXStO/yGHxRA1hbyD0UVeYw= github.com/qdm12/log v0.1.0 h1:jYBd/xscHYpblzZAd2kjZp2YmuYHjAAfbTViJWxoPTw= github.com/qdm12/log v0.1.0/go.mod h1:Vchi5M8uBvHfPNIblN4mjXn/oSbiWguQIbsgF1zdQPI= github.com/qdm12/ss-server v0.6.0 h1:OaOdCIBXx0z3DGHPT6Th0v88vGa3MtAS4oRgUsDHGZE= github.com/qdm12/ss-server v0.6.0/go.mod h1:0BO/zEmtTiLDlmQEcjtoHTC+w+cWxwItjBuGP6TWM78= github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 h1:f/FNXud6gA3MNr8meMVVGxhp+QBTqY91tM8HjEuMjGg= github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3/go.mod h1:HgjTstvQsPGkxUsCd2KWxErBblirPizecHcpD3ffK+s= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/ti-mo/netfilter v0.5.3 h1:ikzduvnaUMwre5bhbNwWOd6bjqLMVb33vv0XXbK0xGQ= github.com/ti-mo/netfilter v0.5.3/go.mod h1:08SyBCg6hu1qyQk4s3DjjJKNrm3RTb32nm6AzyT972E= github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY= golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeunTOisW56dUokqW/FOteYJJ/yg= golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI= golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 h1:/jFs0duh4rdb8uIfPMv78iAJGcPKDeqAFnaLBropIC4= golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173/go.mod h1:tkCQ4FQXmpAgYVh++1cq16/dH4QJtmvpRv19DWGAHSA= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6 h1:CawjfCvYQH2OU3/TnxLx97WDSUDRABfT18pCOYwc2GE= golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6/go.mod h1:3rxYc4HtVcSG9gVaTs2GEBdehh+sYPOwKtyUWEOTb80= google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.1 h1:tVBILHy0R6e4wkYOn3XmiITt/hEVH4TFMYvAX2Ytz6k= gopkg.in/ini.v1 v1.67.1/go.mod h1:x/cyOwCgZqOkJoDIJ3c1KNHMo10+nLGAhh+kn3Zizss= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489 h1:ze1vwAdliUAr68RQ5NtufWaXaOg8WUO2OACzEV+TNdE= gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489/go.mod h1:10sU+Uh5KKNv1+2x2A0Gvzt8FjD3ASIhorV3YsauXhk= kernel.org/pub/linux/libs/security/libcap/cap v1.2.70 h1:QnLPkuDWWbD5C+3DUA2IUXai5TK6w2zff+MAGccqdsw= kernel.org/pub/linux/libs/security/libcap/cap v1.2.70/go.mod h1:/iBwcj9nbLejQitYvUm9caurITQ6WyNHibJk6Q9fiS4= kernel.org/pub/linux/libs/security/libcap/psx v1.2.70 h1:HsB2G/rEQiYyo1bGoQqHZ/Bvd6x1rERQTNdPr1FyWjI= kernel.org/pub/linux/libs/security/libcap/psx v1.2.70/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24= ================================================ FILE: internal/alpine/alpine.go ================================================ package alpine import ( "os/user" ) type Alpine struct { alpineReleasePath string passwdPath string lookupID func(uid string) (*user.User, error) lookup func(username string) (*user.User, error) } func New() *Alpine { return &Alpine{ alpineReleasePath: "/etc/alpine-release", passwdPath: "/etc/passwd", lookupID: user.LookupId, lookup: user.Lookup, } } ================================================ FILE: internal/alpine/users.go ================================================ package alpine import ( "errors" "fmt" "io/fs" "os" "os/user" "strconv" ) var ErrUserAlreadyExists = errors.New("user already exists") // CreateUser creates a user in Alpine with the given UID. func (a *Alpine) CreateUser(username string, uid int) (createdUsername string, err error) { UIDStr := strconv.Itoa(uid) u, err := a.lookupID(UIDStr) _, unknownUID := err.(user.UnknownUserIdError) if err != nil && !unknownUID { return "", err } if u != nil { if u.Username == username { return "", nil } return u.Username, nil } u, err = a.lookup(username) _, unknownUsername := err.(user.UnknownUserError) if err != nil && !unknownUsername { return "", err } if u != nil { return "", fmt.Errorf("%w: with name %s for ID %s instead of %d", ErrUserAlreadyExists, username, u.Uid, uid) } const permission = fs.FileMode(0o644) file, err := os.OpenFile(a.passwdPath, os.O_APPEND|os.O_WRONLY, permission) if err != nil { return "", err } s := fmt.Sprintf("%s:x:%d:::/dev/null:/sbin/nologin\n", username, uid) _, err = file.WriteString(s) if err != nil { _ = file.Close() return "", err } return username, file.Close() } ================================================ FILE: internal/alpine/version.go ================================================ package alpine import ( "context" "io" "os" "strings" ) func (a *Alpine) Version(context.Context) (version string, err error) { file, err := os.OpenFile(a.alpineReleasePath, os.O_RDONLY, 0) if err != nil { return "", err } b, err := io.ReadAll(file) if err != nil { return "", err } if err := file.Close(); err != nil { return "", err } version = strings.ReplaceAll(string(b), "\n", "") return version, nil } ================================================ FILE: internal/amneziawg/constructor.go ================================================ package amneziawg type Amneziawg struct { logger Logger settings Settings netlink NetLinker } func New(settings Settings, netlink NetLinker, logger Logger, ) (a *Amneziawg, err error) { settings.SetDefaults() if err := settings.Check(); err != nil { return nil, err } return &Amneziawg{ logger: logger, settings: settings, netlink: netlink, }, nil } ================================================ FILE: internal/amneziawg/constructor_test.go ================================================ package amneziawg import ( "net/netip" "testing" "github.com/qdm12/gluetun/internal/wireguard" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.zx2c4.com/wireguard/device" ) func Test_New(t *testing.T) { t.Parallel() const validKeyString = "oMNSf/zJ0pt1ciy+qIRk8Rlyfs9accwuRLnKd85Yl1Q=" logger := NewMockLogger(nil) netLinker := NewMockNetLinker(nil) testCases := map[string]struct { settings Settings amneziawg *Amneziawg err error }{ "bad_settings": { settings: Settings{ Wireguard: wireguard.Settings{ PrivateKey: "", }, }, err: wireguard.ErrPrivateKeyMissing, }, "minimal valid settings": { settings: Settings{ Wireguard: wireguard.Settings{ PrivateKey: validKeyString, PublicKey: validKeyString, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 0), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 32), }, FirewallMark: 100, }, }, amneziawg: &Amneziawg{ logger: logger, netlink: netLinker, settings: Settings{ Wireguard: wireguard.Settings{ InterfaceName: "wg0", PrivateKey: validKeyString, PublicKey: validKeyString, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 32), }, AllowedIPs: []netip.Prefix{ netip.MustParsePrefix("0.0.0.0/0"), }, FirewallMark: 100, MTU: device.DefaultMTU, IPv6: ptrTo(false), Implementation: "auto", }, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() wireguard, err := New(testCase.settings, netLinker, logger) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.amneziawg, wireguard) }) } } ================================================ FILE: internal/amneziawg/helpers_test.go ================================================ package amneziawg func ptrTo[T any](v T) *T { return &v } ================================================ FILE: internal/amneziawg/log.go ================================================ package amneziawg //go:generate mockgen -destination=log_mock_test.go -package amneziawg . Logger type Logger interface { Debug(s string) Debugf(format string, args ...interface{}) Info(s string) Error(s string) Errorf(format string, args ...interface{}) } ================================================ FILE: internal/amneziawg/log_mock_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/amneziawg (interfaces: Logger) // Package amneziawg is a generated GoMock package. package amneziawg import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Debug mocks base method. func (m *MockLogger) Debug(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Debug", arg0) } // Debug indicates an expected call of Debug. func (mr *MockLoggerMockRecorder) Debug(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockLogger)(nil).Debug), arg0) } // Debugf mocks base method. func (m *MockLogger) Debugf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Debugf", varargs...) } // Debugf indicates an expected call of Debugf. func (mr *MockLoggerMockRecorder) Debugf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debugf", reflect.TypeOf((*MockLogger)(nil).Debugf), varargs...) } // Error mocks base method. func (m *MockLogger) Error(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Error", arg0) } // Error indicates an expected call of Error. func (mr *MockLoggerMockRecorder) Error(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Error", reflect.TypeOf((*MockLogger)(nil).Error), arg0) } // Errorf mocks base method. func (m *MockLogger) Errorf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Errorf", varargs...) } // Errorf indicates an expected call of Errorf. func (mr *MockLoggerMockRecorder) Errorf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Errorf", reflect.TypeOf((*MockLogger)(nil).Errorf), varargs...) } // Info mocks base method. func (m *MockLogger) Info(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Info", arg0) } // Info indicates an expected call of Info. func (mr *MockLoggerMockRecorder) Info(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockLogger)(nil).Info), arg0) } ================================================ FILE: internal/amneziawg/netlinker.go ================================================ package amneziawg import ( "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) //go:generate mockgen -destination=netlinker_mock_test.go -package amneziawg . NetLinker type NetLinker interface { AddrReplace(linkIndex uint32, addr netip.Prefix) error Router Ruler Linker IsWireguardSupported() (ok bool, err error) } type Router interface { RouteList(family uint8) (routes []netlink.Route, err error) RouteAdd(route netlink.Route) error } type Ruler interface { RuleAdd(rule netlink.Rule) error RuleDel(rule netlink.Rule) error } type Linker interface { LinkAdd(link netlink.Link) (linkIndex uint32, err error) LinkList() (links []netlink.Link, err error) LinkByName(name string) (link netlink.Link, err error) LinkSetUp(linkIndex uint32) error LinkSetDown(linkIndex uint32) error LinkDel(linkIndex uint32) error } ================================================ FILE: internal/amneziawg/netlinker_mock_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/amneziawg (interfaces: NetLinker) // Package amneziawg is a generated GoMock package. package amneziawg import ( netip "net/netip" reflect "reflect" gomock "github.com/golang/mock/gomock" netlink "github.com/qdm12/gluetun/internal/netlink" ) // MockNetLinker is a mock of NetLinker interface. type MockNetLinker struct { ctrl *gomock.Controller recorder *MockNetLinkerMockRecorder } // MockNetLinkerMockRecorder is the mock recorder for MockNetLinker. type MockNetLinkerMockRecorder struct { mock *MockNetLinker } // NewMockNetLinker creates a new mock instance. func NewMockNetLinker(ctrl *gomock.Controller) *MockNetLinker { mock := &MockNetLinker{ctrl: ctrl} mock.recorder = &MockNetLinkerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockNetLinker) EXPECT() *MockNetLinkerMockRecorder { return m.recorder } // AddrReplace mocks base method. func (m *MockNetLinker) AddrReplace(arg0 uint32, arg1 netip.Prefix) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AddrReplace", arg0, arg1) ret0, _ := ret[0].(error) return ret0 } // AddrReplace indicates an expected call of AddrReplace. func (mr *MockNetLinkerMockRecorder) AddrReplace(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrReplace", reflect.TypeOf((*MockNetLinker)(nil).AddrReplace), arg0, arg1) } // IsWireguardSupported mocks base method. func (m *MockNetLinker) IsWireguardSupported() (bool, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "IsWireguardSupported") ret0, _ := ret[0].(bool) ret1, _ := ret[1].(error) return ret0, ret1 } // IsWireguardSupported indicates an expected call of IsWireguardSupported. func (mr *MockNetLinkerMockRecorder) IsWireguardSupported() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsWireguardSupported", reflect.TypeOf((*MockNetLinker)(nil).IsWireguardSupported)) } // LinkAdd mocks base method. func (m *MockNetLinker) LinkAdd(arg0 netlink.Link) (uint32, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkAdd", arg0) ret0, _ := ret[0].(uint32) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkAdd indicates an expected call of LinkAdd. func (mr *MockNetLinkerMockRecorder) LinkAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkAdd", reflect.TypeOf((*MockNetLinker)(nil).LinkAdd), arg0) } // LinkByName mocks base method. func (m *MockNetLinker) LinkByName(arg0 string) (netlink.Link, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkByName", arg0) ret0, _ := ret[0].(netlink.Link) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkByName indicates an expected call of LinkByName. func (mr *MockNetLinkerMockRecorder) LinkByName(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkByName", reflect.TypeOf((*MockNetLinker)(nil).LinkByName), arg0) } // LinkDel mocks base method. func (m *MockNetLinker) LinkDel(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkDel", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkDel indicates an expected call of LinkDel. func (mr *MockNetLinkerMockRecorder) LinkDel(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkDel", reflect.TypeOf((*MockNetLinker)(nil).LinkDel), arg0) } // LinkList mocks base method. func (m *MockNetLinker) LinkList() ([]netlink.Link, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkList") ret0, _ := ret[0].([]netlink.Link) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkList indicates an expected call of LinkList. func (mr *MockNetLinkerMockRecorder) LinkList() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkList", reflect.TypeOf((*MockNetLinker)(nil).LinkList)) } // LinkSetDown mocks base method. func (m *MockNetLinker) LinkSetDown(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkSetDown", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkSetDown indicates an expected call of LinkSetDown. func (mr *MockNetLinkerMockRecorder) LinkSetDown(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkSetDown", reflect.TypeOf((*MockNetLinker)(nil).LinkSetDown), arg0) } // LinkSetUp mocks base method. func (m *MockNetLinker) LinkSetUp(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkSetUp", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkSetUp indicates an expected call of LinkSetUp. func (mr *MockNetLinkerMockRecorder) LinkSetUp(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkSetUp", reflect.TypeOf((*MockNetLinker)(nil).LinkSetUp), arg0) } // RouteAdd mocks base method. func (m *MockNetLinker) RouteAdd(arg0 netlink.Route) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteAdd", arg0) ret0, _ := ret[0].(error) return ret0 } // RouteAdd indicates an expected call of RouteAdd. func (mr *MockNetLinkerMockRecorder) RouteAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteAdd", reflect.TypeOf((*MockNetLinker)(nil).RouteAdd), arg0) } // RouteList mocks base method. func (m *MockNetLinker) RouteList(arg0 byte) ([]netlink.Route, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteList", arg0) ret0, _ := ret[0].([]netlink.Route) ret1, _ := ret[1].(error) return ret0, ret1 } // RouteList indicates an expected call of RouteList. func (mr *MockNetLinkerMockRecorder) RouteList(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteList", reflect.TypeOf((*MockNetLinker)(nil).RouteList), arg0) } // RuleAdd mocks base method. func (m *MockNetLinker) RuleAdd(arg0 netlink.Rule) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RuleAdd", arg0) ret0, _ := ret[0].(error) return ret0 } // RuleAdd indicates an expected call of RuleAdd. func (mr *MockNetLinkerMockRecorder) RuleAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuleAdd", reflect.TypeOf((*MockNetLinker)(nil).RuleAdd), arg0) } // RuleDel mocks base method. func (m *MockNetLinker) RuleDel(arg0 netlink.Rule) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RuleDel", arg0) ret0, _ := ret[0].(error) return ret0 } // RuleDel indicates an expected call of RuleDel. func (mr *MockNetLinkerMockRecorder) RuleDel(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuleDel", reflect.TypeOf((*MockNetLinker)(nil).RuleDel), arg0) } ================================================ FILE: internal/amneziawg/run.go ================================================ package amneziawg import ( "context" "errors" "fmt" "net" amneziaconn "github.com/amnezia-vpn/amneziawg-go/conn" amneziadevice "github.com/amnezia-vpn/amneziawg-go/device" amneziatun "github.com/amnezia-vpn/amneziawg-go/tun" "github.com/qdm12/gluetun/internal/cleanup" "github.com/qdm12/gluetun/internal/wireguard" ) var ( errTunNameMismatch = errors.New("TUN device name is mismatching") errDeviceWaited = errors.New("device waited for") ) // Run runs the amneziawg interface and waits until the context is done, then it cleans up the // interface and returns any error that occurred during setup or waiting. It sends an error to // waitError if any error occurs during setup or waiting, otherwise it sends nil when the context // is done. It sends a signal to ready when the setup is complete and the interface is ready to use. // See https://github.com/amnezia-vpn/amneziawg-go/blob/master/main.go func (a *Amneziawg) Run(ctx context.Context, waitError chan<- error, ready chan<- struct{}) { setup := func(ctx context.Context, cleanups *cleanup.Cleanups) ( linkIndex uint32, waitAndCleanup func() error, err error, ) { return setupUserspace(ctx, a.settings.Wireguard.InterfaceName, a.netlink, a.settings.Wireguard.MTU, cleanups, a.logger, a.settings) } wireguard.Run(ctx, waitError, ready, setup, a.settings.Wireguard, a.netlink, a.logger) } func setupUserspace(ctx context.Context, interfaceName string, netLinker NetLinker, mtu uint32, cleanups *cleanup.Cleanups, logger Logger, settings Settings, ) ( linkIndex uint32, waitAndCleanup func() error, err error, ) { tun, err := amneziatun.CreateTUN(interfaceName, int(mtu)) if err != nil { return 0, nil, fmt.Errorf("creating TUN device: %w", err) } cleanups.Add("closing TUN device", 7, tun.Close) tunName, err := tun.Name() if err != nil { return 0, nil, fmt.Errorf("getting created TUN device name: %w", err) } else if tunName != interfaceName { return 0, nil, fmt.Errorf("%w: expected %q and got %q", errTunNameMismatch, interfaceName, tunName) } link, err := netLinker.LinkByName(interfaceName) if err != nil { return 0, nil, fmt.Errorf("finding link %s: %w", interfaceName, err) } cleanups.Add("deleting link", 5, func() error { return netLinker.LinkDel(link.Index) }) bind := amneziaconn.NewDefaultBind() cleanups.Add("closing bind", 7, bind.Close) deviceLogger := amneziadevice.Logger{ Verbosef: logger.Debugf, Errorf: logger.Errorf, } device := amneziadevice.NewDevice(tun, bind, &deviceLogger) cleanups.Add("closing Wireguard device", 6, func() error { device.Close() return nil }) uapiFile, err := wireguard.UAPIOpen(interfaceName) if err != nil { return 0, nil, fmt.Errorf("opening UAPI socket: %w", err) } cleanups.Add("closing UAPI file", 3, uapiFile.Close) uapiListener, err := wireguard.UAPIListen(interfaceName, uapiFile) if err != nil { return 0, nil, fmt.Errorf("listening on UAPI socket: %w", err) } cleanups.Add("closing UAPI listener", 2, uapiListener.Close) uapiConfig := settings.uapiConfig() err = device.IpcSet(uapiConfig) if err != nil { return 0, nil, fmt.Errorf("setting amneziawg uapi config: %w", err) } // acceptAndHandle exits when uapiListener is closed uapiAcceptErrorCh := make(chan error) go acceptAndHandle(uapiListener, device, uapiAcceptErrorCh) waitAndCleanup = func() error { select { case <-ctx.Done(): err = ctx.Err() case err = <-uapiAcceptErrorCh: close(uapiAcceptErrorCh) case <-device.Wait(): err = errDeviceWaited } cleanups.Cleanup(logger) <-uapiAcceptErrorCh // wait for acceptAndHandle to exit return err } return link.Index, waitAndCleanup, nil } func acceptAndHandle(uapi net.Listener, device *amneziadevice.Device, uapiAcceptErrorCh chan<- error, ) { for { // stopped by uapiFile.Close() conn, err := uapi.Accept() if err != nil { uapiAcceptErrorCh <- err return } go device.IpcHandle(conn) } } ================================================ FILE: internal/amneziawg/settings.go ================================================ package amneziawg import ( "fmt" "strings" "github.com/qdm12/gluetun/internal/wireguard" ) type Settings struct { Wireguard wireguard.Settings JunkPacketCount uint16 JunkPacketMin uint16 JunkPacketMax uint16 PaddingS1 uint16 PaddingS2 uint16 PaddingS3 uint16 PaddingS4 uint16 HeaderH1 string HeaderH2 string HeaderH3 string HeaderH4 string InitPacketI1 string InitPacketI2 string InitPacketI3 string InitPacketI4 string InitPacketI5 string } func (s Settings) uapiConfig() string { uintFields := map[string]uint16{ "jc": s.JunkPacketCount, "jmin": s.JunkPacketMin, "jmax": s.JunkPacketMax, "s1": s.PaddingS1, "s2": s.PaddingS2, "s3": s.PaddingS3, "s4": s.PaddingS4, } stringFields := map[string]string{ "h1": s.HeaderH1, "h2": s.HeaderH2, "h3": s.HeaderH3, "h4": s.HeaderH4, "i1": s.InitPacketI1, "i2": s.InitPacketI2, "i3": s.InitPacketI3, "i4": s.InitPacketI4, "i5": s.InitPacketI5, } lines := make([]string, 0, len(uintFields)+len(stringFields)) for key, val := range uintFields { lines = append(lines, fmt.Sprintf("%s=%d", key, val)) } for key, val := range stringFields { lines = append(lines, key+"="+val) } return strings.Join(lines, "\n") } func (s *Settings) SetDefaults() { s.Wireguard.SetDefaults() } func (s *Settings) Check() error { return s.Wireguard.Check() } ================================================ FILE: internal/boringpoll/boringpoll.go ================================================ package boringpoll import ( "context" "fmt" "io" "math/rand" "net/http" "sync" "time" "github.com/qdm12/gluetun/internal/configuration/settings" ) type BoringPoll struct { // Injected dependencies client *http.Client logger Logger // Internal state urlToData map[string]*urlData // Internal signals and channels cancel context.CancelFunc done <-chan struct{} mutex sync.Mutex } type urlData struct{} func New(client *http.Client, logger Logger, settings settings.BoringPoll) *BoringPoll { urlToData := make(map[string]*urlData) if *settings.GluetunCom { urlToData["https://gluetun.com/wp-json"] = &urlData{} } return &BoringPoll{ client: client, logger: logger, urlToData: urlToData, } } func (b *BoringPoll) Start() (runError <-chan error, err error) { b.mutex.Lock() defer b.mutex.Unlock() if len(b.urlToData) == 0 { return nil, nil //nolint:nilnil } const minPeriod = time.Minute const maxPeriod = 5 * time.Minute const logEveryBytes = 100 * 1000 * 1000 // 100 IEC MB var ready, done sync.WaitGroup ready.Add(len(b.urlToData)) done.Add(len(b.urlToData)) ctx, cancel := context.WithCancel(context.Background()) b.cancel = cancel for url := range b.urlToData { go func(url string) { defer done.Done() b.logger.Infof("running against %s periodically between %s and %s "+ "and will log every %s downloaded", url, minPeriod, maxPeriod, byteCountSI(logEveryBytes)) totalDownloaded := uint64(0) lastDownloaded := uint64(0) consecutiveFails := 0 const maxConsecutiveErrs = 3 const coolDownTimeout = time.Hour timer := time.NewTimer(time.Hour) var err error ready.Done() for { timeout := minPeriod + time.Duration(rand.Int63n(int64(maxPeriod-minPeriod))) //nolint:gosec if consecutiveFails >= maxConsecutiveErrs { b.logger.Debugf("pausing poll to %s for %s due to %d consecutive errors, last error: %s", url, coolDownTimeout, consecutiveFails, err) timeout = coolDownTimeout } timer.Reset(timeout) select { case <-ctx.Done(): timer.Stop() totalDownloaded += lastDownloaded if totalDownloaded > 0 { b.logger.Infof("stopping poll to %s, downloaded %s!", url, byteCountSI(totalDownloaded)) } return case <-timer.C: } var n int64 n, err = fetchURL(ctx, b.client, url) if err != nil { consecutiveFails++ continue } consecutiveFails = 0 totalDownloaded += uint64(n) //nolint:gosec lastDownloaded += uint64(n) //nolint:gosec if lastDownloaded >= logEveryBytes { b.logger.Infof("thanks for helping! You have downloaded %s from %s so far!", byteCountSI(totalDownloaded), url) lastDownloaded = 0 } } }(url) } return nil, nil //nolint:nilnil } func fetchURL(ctx context.Context, client *http.Client, url string) (downloaded int64, err error) { const requestTimeout = 10 * time.Second ctx, cancel := context.WithTimeout(ctx, requestTimeout) defer cancel() request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { cancel() return 0, err } request.Header.Set("Cache-Control", "no-cache, no-store, must-revalidate") request.Header.Set("Pragma", "no-cache") request.Header.Set("Expires", "0") request.Header.Set("User-Agent", getRandomUserAgent()) response, err := client.Do(request) if err != nil { return 0, err } downloaded, err = io.Copy(io.Discard, response.Body) _ = response.Body.Close() if err != nil { return 0, err } return downloaded, nil } func getRandomUserAgent() string { //nolint:lll userAgents := [...]string{ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Edge/121.0.0.0 Safari/537.36", "Mozilla/5.0 (iPhone; CPU iPhone OS 17_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1", "Mozilla/5.0 (iPad; CPU OS 17_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1", "Mozilla/5.0 (Android 14; Mobile; rv:122.0) Gecko/122.0 Firefox/122.0", "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/106.0.0.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/106.0.0.0", "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)", "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)", } return userAgents[rand.Intn(len(userAgents))] //nolint:gosec } func (b *BoringPoll) Stop() error { b.mutex.Lock() defer b.mutex.Unlock() if b.cancel == nil { return nil } b.cancel() <-b.done b.cancel = nil b.done = nil return nil } func byteCountSI(b uint64) string { const unit = 1000 if b < unit { return fmt.Sprintf("%dB", b) } div, exp := uint64(unit), 0 for n := b / unit; n >= unit; n /= unit { div *= unit exp++ } return fmt.Sprintf("%.1f%cB", float64(b)/float64(div), "kMGTPE"[exp]) } ================================================ FILE: internal/boringpoll/interfaces.go ================================================ package boringpoll type Logger interface { Infof(format string, args ...any) Debugf(format string, args ...any) } ================================================ FILE: internal/cleanup/cleanup.go ================================================ package cleanup import "sort" type Cleanups []cleanup type cleanup struct { operation string orderIndex uint cleanup func() error done bool } // Add adds a cleanup function to the list of cleanups, with a description of the // operation being cleaned up, and an order index that determines the order in which // the cleanup functions are run. The lower the order index, the earlier the cleanup // function is run. func (c *Cleanups) Add(operation string, orderIndex uint, cleanupFunc func() error, ) { closer := cleanup{ operation: operation, orderIndex: orderIndex, cleanup: cleanupFunc, } *c = append(*c, closer) } // Cleanup runs the cleanup functions in the order of their orderIndex, // and logs any error that occurs during cleanup. // It can also be re-called in case a cleanup fails, and already cleaned up // functions will not be re-run. func (c *Cleanups) Cleanup(logger Logger) { closers := *c sort.Slice(closers, func(i, j int) bool { return closers[i].orderIndex < closers[j].orderIndex }) for i, closer := range closers { if closer.done { continue } closers[i].done = true logger.Debug(closer.operation + "...") err := closer.cleanup() if err != nil { logger.Error("failed " + closer.operation + ": " + err.Error()) } } } ================================================ FILE: internal/cleanup/cleanup_test.go ================================================ package cleanup import ( "errors" "testing" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" ) func Test_Cleanups(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) var ACloseCalled, BCloseCalled, CCloseCalled bool var ( AErr error BErr = errors.New("B failed") CErr = errors.New("C failed") ) var cleanups Cleanups cleanups.Add("cleaning up A", 5, func() error { ACloseCalled = true return AErr }) cleanups.Add("cleaning up B", 3, func() error { BCloseCalled = true return BErr }) cleanups.Add("cleaning up C", 2, func() error { CCloseCalled = true return CErr }) logger := NewMockLogger(ctrl) prevCall := logger.EXPECT().Debug("cleaning up C...") prevCall = logger.EXPECT().Error("failed cleaning up C: C failed").After(prevCall) prevCall = logger.EXPECT().Debug("cleaning up B...").After(prevCall) prevCall = logger.EXPECT().Error("failed cleaning up B: B failed").After(prevCall) logger.EXPECT().Debug("cleaning up A...").After(prevCall) cleanups.Cleanup(logger) cleanups.Cleanup(logger) // run twice should not close already closed for _, cleanup := range cleanups { assert.True(t, cleanup.done) } assert.True(t, ACloseCalled) assert.True(t, BCloseCalled) assert.True(t, CCloseCalled) } ================================================ FILE: internal/cleanup/interfaces.go ================================================ package cleanup type Logger interface { Debug(string) Error(string) } ================================================ FILE: internal/cleanup/mocks_generate_test.go ================================================ package cleanup //go:generate mockgen -destination=mocks_test.go -package=$GOPACKAGE . Logger ================================================ FILE: internal/cleanup/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/cleanup (interfaces: Logger) // Package cleanup is a generated GoMock package. package cleanup import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Debug mocks base method. func (m *MockLogger) Debug(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Debug", arg0) } // Debug indicates an expected call of Debug. func (mr *MockLoggerMockRecorder) Debug(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockLogger)(nil).Debug), arg0) } // Error mocks base method. func (m *MockLogger) Error(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Error", arg0) } // Error indicates an expected call of Error. func (mr *MockLoggerMockRecorder) Error(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Error", reflect.TypeOf((*MockLogger)(nil).Error), arg0) } ================================================ FILE: internal/cli/ci.go ================================================ package cli import "context" func (c *CLI) CI(context.Context) error { return nil } ================================================ FILE: internal/cli/cli.go ================================================ package cli type CLI struct { repoServersPath string } func New() *CLI { return &CLI{ repoServersPath: "./internal/storage/servers.json", } } ================================================ FILE: internal/cli/clientkey.go ================================================ package cli import ( "flag" "fmt" "io" "os" "strings" ) func (c *CLI) ClientKey(args []string) error { flagSet := flag.NewFlagSet("clientkey", flag.ExitOnError) const openVPNClientKeyPath = "/gluetun/client.key" // TODO deduplicate? filepath := flagSet.String("path", openVPNClientKeyPath, "file path to the client.key file") if err := flagSet.Parse(args); err != nil { return err } file, err := os.OpenFile(*filepath, os.O_RDONLY, 0) if err != nil { return err } data, err := io.ReadAll(file) if err != nil { _ = file.Close() return err } if err := file.Close(); err != nil { return err } s := string(data) s = strings.ReplaceAll(s, "\n", "") s = strings.ReplaceAll(s, "\r", "") s = strings.TrimPrefix(s, "-----BEGIN PRIVATE KEY-----") s = strings.TrimSuffix(s, "-----END PRIVATE KEY-----") fmt.Println(s) return nil } ================================================ FILE: internal/cli/formatservers.go ================================================ package cli import ( "errors" "flag" "fmt" "io/fs" "os" "path/filepath" "strings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/storage" "golang.org/x/text/cases" "golang.org/x/text/language" ) var ( ErrProviderUnspecified = errors.New("VPN provider to format was not specified") ErrMultipleProvidersToFormat = errors.New("more than one VPN provider to format were specified") ) func addProviderFlag(flagSet *flag.FlagSet, providerToFormat map[string]*bool, provider string, titleCaser cases.Caser, ) { boolPtr, ok := providerToFormat[provider] if !ok { panic(fmt.Sprintf("unknown provider in format map: %s", provider)) } flagSet.BoolVar(boolPtr, provider, false, "Format "+titleCaser.String(provider)+" servers") } func (c *CLI) FormatServers(args []string) error { var format, output string allProviders := providers.All() allProviderFlags := make([]string, len(allProviders)) for i, provider := range allProviders { allProviderFlags[i] = strings.ReplaceAll(provider, " ", "-") } providersToFormat := make(map[string]*bool, len(allProviders)) for _, provider := range allProviderFlags { providersToFormat[provider] = new(bool) } flagSet := flag.NewFlagSet("format-servers", flag.ExitOnError) flagSet.StringVar(&format, "format", "markdown", "Format to use which can be: 'markdown' or 'json'") flagSet.StringVar(&output, "output", "/dev/stdout", "Output file to write the formatted data to") titleCaser := cases.Title(language.English) for _, provider := range allProviderFlags { addProviderFlag(flagSet, providersToFormat, provider, titleCaser) } if err := flagSet.Parse(args); err != nil { return err } // Note the format is validated by storage.Format // Verify only one provider is set to be formatted. var providers []string for provider, formatPtr := range providersToFormat { if *formatPtr { providers = append(providers, provider) } } switch len(providers) { case 0: return fmt.Errorf("%w", ErrProviderUnspecified) case 1: default: return fmt.Errorf("%w: %d specified: %s", ErrMultipleProvidersToFormat, len(providers), strings.Join(providers, ", ")) } var providerToFormat string for _, providerToFormat = range allProviders { if strings.ReplaceAll(providerToFormat, " ", "-") == providers[0] { break } } logger := newNoopLogger() storage, err := storage.New(logger, constants.ServersData) if err != nil { return fmt.Errorf("creating servers storage: %w", err) } formatted, err := storage.Format(providerToFormat, format) if err != nil { return fmt.Errorf("formatting servers: %w", err) } output = filepath.Clean(output) const permission = fs.FileMode(0o644) file, err := os.OpenFile(output, os.O_TRUNC|os.O_WRONLY|os.O_CREATE, permission) if err != nil { return fmt.Errorf("opening output file: %w", err) } _, err = fmt.Fprint(file, formatted) if err != nil { _ = file.Close() return fmt.Errorf("writing to output file: %w", err) } err = file.Close() if err != nil { return fmt.Errorf("closing output file: %w", err) } return nil } ================================================ FILE: internal/cli/genkey.go ================================================ package cli import ( "crypto/rand" "flag" "fmt" ) func (c *CLI) GenKey(args []string) (err error) { flagSet := flag.NewFlagSet("genkey", flag.ExitOnError) err = flagSet.Parse(args) if err != nil { return fmt.Errorf("parsing flags: %w", err) } const keyLength = 128 / 8 keyBytes := make([]byte, keyLength) _, _ = rand.Read(keyBytes) key := base58Encode(keyBytes) fmt.Println(key) return nil } func base58Encode(data []byte) string { const alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" const radix = 58 zcount := 0 for zcount < len(data) && data[zcount] == 0 { zcount++ } // integer simplification of ceil(log(256)/log(58)) ceilLog256Div58 := (len(data)-zcount)*555/406 + 1 //nolint:mnd size := zcount + ceilLog256Div58 output := make([]byte, size) high := size - 1 for _, b := range data { i := size - 1 for carry := uint32(b); i > high || carry != 0; i-- { carry += 256 * uint32(output[i]) //nolint:mnd output[i] = byte(carry % radix) carry /= radix } high = i } // Determine the additional "zero-gap" in the output buffer additionalZeroGapEnd := zcount for additionalZeroGapEnd < size && output[additionalZeroGapEnd] == 0 { additionalZeroGapEnd++ } val := output[additionalZeroGapEnd-zcount:] size = len(val) for i := range val { output[i] = alphabet[val[i]] } return string(output[:size]) } ================================================ FILE: internal/cli/healthcheck.go ================================================ package cli import ( "context" "net" "net/http" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/healthcheck" "github.com/qdm12/gosettings/reader" ) func (c *CLI) HealthCheck(ctx context.Context, reader *reader.Reader, _ Warner) (err error) { // Extract the health server port from the configuration. var config settings.Health err = config.Read(reader) if err != nil { return err } config.SetDefaults() err = config.Validate() if err != nil { return err } _, port, err := net.SplitHostPort(config.ServerAddress) if err != nil { return err } const timeout = 10 * time.Second httpClient := &http.Client{Timeout: timeout} client := healthcheck.NewClient(httpClient) ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() url := "http://127.0.0.1:" + port return client.Check(ctx, url) } ================================================ FILE: internal/cli/interfaces.go ================================================ package cli import "github.com/qdm12/gluetun/internal/configuration/settings" type Source interface { Read() (settings settings.Settings, err error) ReadHealth() (health settings.Health, err error) String() string } ================================================ FILE: internal/cli/nooplogger.go ================================================ package cli type noopLogger struct{} func newNoopLogger() *noopLogger { return new(noopLogger) } func (l *noopLogger) Info(string) {} func (l *noopLogger) Warn(string) {} ================================================ FILE: internal/cli/openvpnconfig.go ================================================ package cli import ( "context" "fmt" "net/http" "net/netip" "strings" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/openvpn/extract" "github.com/qdm12/gluetun/internal/provider" "github.com/qdm12/gluetun/internal/storage" "github.com/qdm12/gluetun/internal/updater/resolver" "github.com/qdm12/gosettings/reader" ) type OpenvpnConfigLogger interface { Info(s string) Warn(s string) } type Unzipper interface { FetchAndExtract(ctx context.Context, url string) ( contents map[string][]byte, err error) } type ParallelResolver interface { Resolve(ctx context.Context, settings resolver.ParallelSettings) ( hostToIPs map[string][]netip.Addr, warnings []string, err error) } type IPFetcher interface { String() string CanFetchAnyIP() bool FetchInfo(ctx context.Context, ip netip.Addr) (data models.PublicIP, err error) } type IPv6Checker interface { IsIPv6Supported() (supported bool, err error) } func (c *CLI) OpenvpnConfig(logger OpenvpnConfigLogger, reader *reader.Reader, ipv6Checker IPv6Checker, ) error { storage, err := storage.New(logger, constants.ServersData) if err != nil { return err } var allSettings settings.Settings err = allSettings.Read(reader, logger) if err != nil { return err } allSettings.SetDefaults() ipv6Supported, err := ipv6Checker.IsIPv6Supported() if err != nil { return fmt.Errorf("checking for IPv6 support: %w", err) } if err = allSettings.Validate(storage, ipv6Supported, logger); err != nil { return fmt.Errorf("validating settings: %w", err) } // Unused by this CLI command unzipper := (Unzipper)(nil) client := (*http.Client)(nil) warner := (Warner)(nil) parallelResolver := (ParallelResolver)(nil) ipFetcher := (IPFetcher)(nil) openvpnFileExtractor := extract.New() providers := provider.NewProviders(storage, time.Now, warner, client, unzipper, parallelResolver, ipFetcher, openvpnFileExtractor, allSettings.Updater) providerConf := providers.Get(allSettings.VPN.Provider.Name) connection, err := providerConf.GetConnection( allSettings.VPN.Provider.ServerSelection, ipv6Supported) if err != nil { return err } lines := providerConf.OpenVPNConfig(connection, allSettings.VPN.OpenVPN, ipv6Supported) fmt.Println(strings.Join(lines, "\n")) return nil } ================================================ FILE: internal/cli/update.go ================================================ package cli import ( "context" "errors" "flag" "fmt" "net/http" "slices" "strings" "time" "github.com/qdm12/dns/v2/pkg/doh" dnsprovider "github.com/qdm12/dns/v2/pkg/provider" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/openvpn/extract" "github.com/qdm12/gluetun/internal/provider" "github.com/qdm12/gluetun/internal/publicip/api" "github.com/qdm12/gluetun/internal/storage" "github.com/qdm12/gluetun/internal/updater" "github.com/qdm12/gluetun/internal/updater/resolver" "github.com/qdm12/gluetun/internal/updater/unzip" ) var ( ErrModeUnspecified = errors.New("at least one of -enduser or -maintainer must be specified") ErrNoProviderSpecified = errors.New("no provider was specified") ErrUsernameMissing = errors.New("username is required for this provider") ErrPasswordMissing = errors.New("password is required for this provider") ) type UpdaterLogger interface { Info(s string) Warn(s string) Error(s string) } func (c *CLI) Update(ctx context.Context, args []string, logger UpdaterLogger) error { options := settings.Updater{} var endUserMode, maintainerMode, updateAll bool var dnsServer, csvProviders, ipToken, protonUsername, protonEmail, protonPassword string flagSet := flag.NewFlagSet("update", flag.ExitOnError) flagSet.BoolVar(&endUserMode, "enduser", false, "Write results to /gluetun/servers.json (for end users)") flagSet.BoolVar(&maintainerMode, "maintainer", false, "Write results to ./internal/storage/servers.json to modify the program (for maintainers)") flagSet.StringVar(&dnsServer, "dns", "", "no longer used, your DNS will use DoH with Cloudflare and Google") const defaultMinRatio = 0.8 flagSet.Float64Var(&options.MinRatio, "minratio", defaultMinRatio, "Minimum ratio of servers to find for the update to succeed") flagSet.BoolVar(&updateAll, "all", false, "Update servers for all VPN providers") flagSet.StringVar(&csvProviders, "providers", "", "CSV string of VPN providers to update server data for") flagSet.StringVar(&ipToken, "ip-token", "", "IP data service token (e.g. ipinfo.io) to use") flagSet.StringVar(&protonUsername, "proton-username", "", "(Retro-compatibility) Username to use to authenticate with Proton. Use -proton-email instead.") // v4 remove this flagSet.StringVar(&protonEmail, "proton-email", "", "Email to use to authenticate with Proton") flagSet.StringVar(&protonPassword, "proton-password", "", "Password to use to authenticate with Proton") if err := flagSet.Parse(args); err != nil { return err } if dnsServer != "" { logger.Warn("The -dns flag is no longer used, your DNS will use DoH with Cloudflare and Google") } if !endUserMode && !maintainerMode { return fmt.Errorf("%w", ErrModeUnspecified) } if updateAll { options.Providers = providers.All() } else { if csvProviders == "" { return fmt.Errorf("%w", ErrNoProviderSpecified) } options.Providers = strings.Split(csvProviders, ",") } if slices.Contains(options.Providers, providers.Protonvpn) { if protonEmail == "" && protonUsername != "" { protonEmail = protonUsername + "@protonmail.com" logger.Warn("use -proton-email instead of -proton-username in the future. " + "This assumes the email is " + protonEmail + " and may not work.") } options.ProtonEmail = &protonEmail options.ProtonPassword = &protonPassword } options.SetDefaults(options.Providers[0]) err := options.Validate() if err != nil { return fmt.Errorf("options validation failed: %w", err) } serversDataPath := constants.ServersData if maintainerMode { serversDataPath = "" } storage, err := storage.New(logger, serversDataPath) if err != nil { return fmt.Errorf("creating servers storage: %w", err) } dohSettings := doh.Settings{ UpstreamResolvers: []dnsprovider.Provider{ dnsprovider.Cloudflare(), dnsprovider.Google(), }, } dnsDialer, err := doh.New(dohSettings) if err != nil { return fmt.Errorf("creating DoH dialer: %w", err) } const clientTimeout = 10 * time.Second httpClient := &http.Client{Timeout: clientTimeout} unzipper := unzip.New(httpClient) parallelResolver := resolver.NewParallelResolver(dnsDialer) nameTokenPairs := []api.NameToken{ {Name: string(api.IPInfo), Token: ipToken}, {Name: string(api.IP2Location)}, {Name: string(api.IfConfigCo)}, } fetchers, err := api.New(nameTokenPairs, httpClient) if err != nil { return fmt.Errorf("creating public IP fetchers: %w", err) } ipFetcher := api.NewResilient(fetchers, logger) openvpnFileExtractor := extract.New() providers := provider.NewProviders(storage, time.Now, logger, httpClient, unzipper, parallelResolver, ipFetcher, openvpnFileExtractor, options) updater := updater.New(httpClient, storage, providers, logger) err = updater.UpdateServers(ctx, options.Providers, options.MinRatio) if err != nil { return fmt.Errorf("updating server information: %w", err) } if maintainerMode { err := storage.FlushToFile(c.repoServersPath) if err != nil { return fmt.Errorf("writing servers data to embedded JSON file: %w", err) } } return nil } ================================================ FILE: internal/cli/warner.go ================================================ package cli type Warner interface { Warn(s string) } ================================================ FILE: internal/command/cmder.go ================================================ package command // Cmder handles running subprograms synchronously and asynchronously. type Cmder struct{} func New() *Cmder { return &Cmder{} } ================================================ FILE: internal/command/interfaces.go ================================================ package command type Logger interface { Info(s string) Error(s string) } ================================================ FILE: internal/command/interfaces_local.go ================================================ package command import "io" type execCmd interface { CombinedOutput() ([]byte, error) StdoutPipe() (io.ReadCloser, error) StderrPipe() (io.ReadCloser, error) Start() error Wait() error } ================================================ FILE: internal/command/mocks_generate_test.go ================================================ package command //go:generate mockgen -destination=mocks_local_test.go -package=$GOPACKAGE -source=interfaces_local.go ================================================ FILE: internal/command/mocks_local_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: interfaces_local.go // Package command is a generated GoMock package. package command import ( io "io" reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockexecCmd is a mock of execCmd interface. type MockexecCmd struct { ctrl *gomock.Controller recorder *MockexecCmdMockRecorder } // MockexecCmdMockRecorder is the mock recorder for MockexecCmd. type MockexecCmdMockRecorder struct { mock *MockexecCmd } // NewMockexecCmd creates a new mock instance. func NewMockexecCmd(ctrl *gomock.Controller) *MockexecCmd { mock := &MockexecCmd{ctrl: ctrl} mock.recorder = &MockexecCmdMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockexecCmd) EXPECT() *MockexecCmdMockRecorder { return m.recorder } // CombinedOutput mocks base method. func (m *MockexecCmd) CombinedOutput() ([]byte, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "CombinedOutput") ret0, _ := ret[0].([]byte) ret1, _ := ret[1].(error) return ret0, ret1 } // CombinedOutput indicates an expected call of CombinedOutput. func (mr *MockexecCmdMockRecorder) CombinedOutput() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CombinedOutput", reflect.TypeOf((*MockexecCmd)(nil).CombinedOutput)) } // Start mocks base method. func (m *MockexecCmd) Start() error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Start") ret0, _ := ret[0].(error) return ret0 } // Start indicates an expected call of Start. func (mr *MockexecCmdMockRecorder) Start() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockexecCmd)(nil).Start)) } // StderrPipe mocks base method. func (m *MockexecCmd) StderrPipe() (io.ReadCloser, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "StderrPipe") ret0, _ := ret[0].(io.ReadCloser) ret1, _ := ret[1].(error) return ret0, ret1 } // StderrPipe indicates an expected call of StderrPipe. func (mr *MockexecCmdMockRecorder) StderrPipe() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StderrPipe", reflect.TypeOf((*MockexecCmd)(nil).StderrPipe)) } // StdoutPipe mocks base method. func (m *MockexecCmd) StdoutPipe() (io.ReadCloser, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "StdoutPipe") ret0, _ := ret[0].(io.ReadCloser) ret1, _ := ret[1].(error) return ret0, ret1 } // StdoutPipe indicates an expected call of StdoutPipe. func (mr *MockexecCmdMockRecorder) StdoutPipe() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StdoutPipe", reflect.TypeOf((*MockexecCmd)(nil).StdoutPipe)) } // Wait mocks base method. func (m *MockexecCmd) Wait() error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Wait") ret0, _ := ret[0].(error) return ret0 } // Wait indicates an expected call of Wait. func (mr *MockexecCmdMockRecorder) Wait() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Wait", reflect.TypeOf((*MockexecCmd)(nil).Wait)) } ================================================ FILE: internal/command/run.go ================================================ package command import ( "os/exec" "strings" ) // Run runs a command in a blocking manner, returning its output and // an error if it failed. func (c *Cmder) Run(cmd *exec.Cmd) (output string, err error) { return run(cmd) } func run(cmd execCmd) (output string, err error) { stdout, err := cmd.CombinedOutput() output = string(stdout) output = strings.TrimSuffix(output, "\n") lines := stringToLines(output) for i := range lines { lines[i] = strings.TrimPrefix(lines[i], "'") lines[i] = strings.TrimSuffix(lines[i], "'") } output = strings.Join(lines, "\n") return output, err } func stringToLines(s string) (lines []string) { s = strings.TrimSuffix(s, "\n") return strings.Split(s, "\n") } ================================================ FILE: internal/command/run_test.go ================================================ package command import ( "errors" "testing" gomock "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_run(t *testing.T) { t.Parallel() errDummy := errors.New("dummy") testCases := map[string]struct { stdout []byte cmdErr error output string err error }{ "no output": {}, "cmd error": { stdout: []byte("'hello \nworld'\n"), cmdErr: errDummy, output: "hello \nworld", err: errDummy, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) mockCmd := NewMockexecCmd(ctrl) mockCmd.EXPECT().CombinedOutput().Return(testCase.stdout, testCase.cmdErr) output, err := run(mockCmd) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.output, output) }) } } ================================================ FILE: internal/command/split.go ================================================ package command import ( "bytes" "errors" "fmt" "strings" "unicode/utf8" ) var ( errCommandEmpty = errors.New("command is empty") errSingleQuoteUnterminated = errors.New("unterminated single-quoted string") errDoubleQuoteUnterminated = errors.New("unterminated double-quoted string") errEscapeUnterminated = errors.New("unterminated backslash-escape") ) // split splits a command string into a slice of arguments. // This is especially important for commands such as: // /bin/sh -c "echo hello" // which should be split into: ["/bin/sh", "-c", "echo hello"] // It supports backslash-escapes, single-quotes and double-quotes. // It does not support: // - the $" quoting style. // - expansion (brace, shell or pathname). func split(command string) (words []string, err error) { if command == "" { return nil, fmt.Errorf("%w", errCommandEmpty) } const bufferSize = 1024 buffer := bytes.NewBuffer(make([]byte, bufferSize)) startIndex := 0 for startIndex < len(command) { // skip any split characters at the start character, runeSize := utf8.DecodeRuneInString(command[startIndex:]) switch { case strings.ContainsRune(" \n\t", character): startIndex += runeSize case character == '\\': // Look ahead to eventually skip an escaped newline if command[startIndex+runeSize:] == "" { return nil, fmt.Errorf("%w: %q", errEscapeUnterminated, command) } character, runeSize := utf8.DecodeRuneInString(command[startIndex+runeSize:]) if character == '\n' { startIndex += runeSize + runeSize // backslash and newline } default: var word string buffer.Reset() word, startIndex, err = splitWord(command, startIndex, buffer) if err != nil { return nil, fmt.Errorf("splitting word in %q: %w", command, err) } words = append(words, word) } } return words, nil } // WARNING: buffer must be cleared before calling this function. func splitWord(input string, startIndex int, buffer *bytes.Buffer) ( word string, newStartIndex int, err error, ) { cursor := startIndex for cursor < len(input) { character, runeLength := utf8.DecodeRuneInString(input[cursor:]) cursor += runeLength if character == '"' || character == '\'' || character == '\\' || character == ' ' || character == '\n' || character == '\t' { buffer.WriteString(input[startIndex : cursor-runeLength]) } switch { case strings.ContainsRune(" \n\t", character): // spacing character return buffer.String(), cursor, nil case character == '"': return handleDoubleQuoted(input, cursor, buffer) case character == '\'': return handleSingleQuoted(input, cursor, buffer) case character == '\\': return handleEscaped(input, cursor, buffer) } } buffer.WriteString(input[startIndex:]) return buffer.String(), len(input), nil } func handleDoubleQuoted(input string, startIndex int, buffer *bytes.Buffer) ( word string, newStartIndex int, err error, ) { cursor := startIndex for cursor < len(input) { nextCharacter, nextRuneLength := utf8.DecodeRuneInString(input[cursor:]) cursor += nextRuneLength switch nextCharacter { case '"': // end of the double quoted string buffer.WriteString(input[startIndex : cursor-nextRuneLength]) return splitWord(input, cursor, buffer) case '\\': // escaped character escapedCharacter, escapedRuneLength := utf8.DecodeRuneInString(input[cursor:]) cursor += escapedRuneLength if !strings.ContainsRune("$`\"\n\\", escapedCharacter) { break } buffer.WriteString(input[startIndex : cursor-nextRuneLength-escapedRuneLength]) if escapedCharacter != '\n' { // skip backslash entirely for the newline character buffer.WriteRune(escapedCharacter) } startIndex = cursor } } return "", 0, fmt.Errorf("%w", errDoubleQuoteUnterminated) } func handleSingleQuoted(input string, startIndex int, buffer *bytes.Buffer) ( word string, newStartIndex int, err error, ) { closingQuoteIndex := strings.IndexRune(input[startIndex:], '\'') if closingQuoteIndex == -1 { return "", 0, fmt.Errorf("%w", errSingleQuoteUnterminated) } buffer.WriteString(input[startIndex : startIndex+closingQuoteIndex]) const singleQuoteRuneLength = 1 startIndex += closingQuoteIndex + singleQuoteRuneLength return splitWord(input, startIndex, buffer) } func handleEscaped(input string, startIndex int, buffer *bytes.Buffer) ( word string, newStartIndex int, err error, ) { if input[startIndex:] == "" { return "", 0, fmt.Errorf("%w", errEscapeUnterminated) } character, runeLength := utf8.DecodeRuneInString(input[startIndex:]) if character != '\n' { // backslash-escaped newline is ignored buffer.WriteString(input[startIndex : startIndex+runeLength]) } startIndex += runeLength return splitWord(input, startIndex, buffer) } ================================================ FILE: internal/command/split_test.go ================================================ package command import ( "testing" "github.com/stretchr/testify/assert" ) func Test_split(t *testing.T) { t.Parallel() testCases := map[string]struct { command string words []string errWrapped error errMessage string }{ "empty": { command: "", errWrapped: errCommandEmpty, errMessage: "command is empty", }, "concrete_sh_command": { command: `/bin/sh -c "echo 123"`, words: []string{"/bin/sh", "-c", "echo 123"}, }, "single_word": { command: "word1", words: []string{"word1"}, }, "two_words_single_space": { command: "word1 word2", words: []string{"word1", "word2"}, }, "two_words_multiple_space": { command: "word1 word2", words: []string{"word1", "word2"}, }, "two_words_no_expansion": { command: "word1* word2?", words: []string{"word1*", "word2?"}, }, "escaped_single quote": { command: "ain\\'t good", words: []string{"ain't", "good"}, }, "escaped_single_quote_all_single_quoted": { command: "'ain'\\''t good'", words: []string{"ain't good"}, }, "empty_single_quoted": { command: "word1 '' word2", words: []string{"word1", "", "word2"}, }, "escaped_newline": { command: "word1\\\nword2", words: []string{"word1word2"}, }, "quoted_newline": { command: "text \"with\na\" quoted newline", words: []string{"text", "with\na", "quoted", "newline"}, }, "quoted_escaped_newline": { command: "\"word1\\d\\\\\\\" word2\\\nword3 word4\"", words: []string{"word1\\d\\\" word2word3 word4"}, }, "escaped_separated_newline": { command: "word1 \\\n word2", words: []string{"word1", "word2"}, }, "double_quotes_no_spacing": { command: "word1\"word2\"word3", words: []string{"word1word2word3"}, }, "unterminated_single_quote": { command: "'abc'\\''def", errWrapped: errSingleQuoteUnterminated, errMessage: `splitting word in "'abc'\\''def": unterminated single-quoted string`, }, "unterminated_double_quote": { command: "\"abc'def", errWrapped: errDoubleQuoteUnterminated, errMessage: `splitting word in "\"abc'def": unterminated double-quoted string`, }, "unterminated_escape": { command: "abc\\", errWrapped: errEscapeUnterminated, errMessage: `splitting word in "abc\\": unterminated backslash-escape`, }, "unterminated_escape_only": { command: " \\", errWrapped: errEscapeUnterminated, errMessage: `unterminated backslash-escape: " \\"`, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() words, err := split(testCase.command) assert.Equal(t, testCase.words, words) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/command/start.go ================================================ package command import ( "bufio" "errors" "io" "os" "os/exec" ) // Start launches a command and streams stdout and stderr to channels. // All the channels returned are ready only and won't be closed // if the command fails later. func (c *Cmder) Start(cmd *exec.Cmd) ( stdoutLines, stderrLines <-chan string, waitError <-chan error, startErr error, ) { return start(cmd) } func start(cmd execCmd) (stdoutLines, stderrLines <-chan string, waitError <-chan error, startErr error, ) { stop := make(chan struct{}) stdoutReady := make(chan struct{}) stdoutLinesCh := make(chan string) stdoutDone := make(chan struct{}) stderrReady := make(chan struct{}) stderrLinesCh := make(chan string) stderrDone := make(chan struct{}) stdout, err := cmd.StdoutPipe() if err != nil { return nil, nil, nil, err } go streamToChannel(stdoutReady, stop, stdoutDone, stdout, stdoutLinesCh) stderr, err := cmd.StderrPipe() if err != nil { _ = stdout.Close() close(stop) <-stdoutDone return nil, nil, nil, err } go streamToChannel(stderrReady, stop, stderrDone, stderr, stderrLinesCh) err = cmd.Start() if err != nil { _ = stdout.Close() _ = stderr.Close() close(stop) <-stdoutDone <-stderrDone return nil, nil, nil, err } waitErrorCh := make(chan error) go func() { err := cmd.Wait() _ = stdout.Close() _ = stderr.Close() close(stop) <-stdoutDone <-stderrDone waitErrorCh <- err }() return stdoutLinesCh, stderrLinesCh, waitErrorCh, nil } func streamToChannel(ready chan<- struct{}, stop <-chan struct{}, done chan<- struct{}, stream io.Reader, lines chan<- string, ) { defer close(done) close(ready) scanner := bufio.NewScanner(stream) lineBuffer := make([]byte, bufio.MaxScanTokenSize) // 64KB const maxCapacity = 20 * 1024 * 1024 // 20MB scanner.Buffer(lineBuffer, maxCapacity) for scanner.Scan() { // scanner is closed if the context is canceled // or if the command failed starting because the // stream is closed (io.EOF error). lines <- scanner.Text() } err := scanner.Err() if err == nil || errors.Is(err, os.ErrClosed) { return } // ignore the error if it is stopped. select { case <-stop: return default: lines <- "stream error: " + err.Error() } } ================================================ FILE: internal/command/start_test.go ================================================ package command import ( "bytes" "errors" "io" "strings" "testing" gomock "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func linesToReadCloser(lines []string) io.ReadCloser { s := strings.Join(lines, "\n") return io.NopCloser(bytes.NewBufferString(s)) } func Test_start(t *testing.T) { t.Parallel() errDummy := errors.New("dummy") testCases := map[string]struct { stdout []string stdoutPipeErr error stderr []string stderrPipeErr error startErr error waitErr error err error }{ "no output": {}, "success": { stdout: []string{"hello", "world"}, stderr: []string{"some", "error"}, }, "stdout pipe error": { stdoutPipeErr: errDummy, err: errDummy, }, "stderr pipe error": { stderrPipeErr: errDummy, err: errDummy, }, "start error": { startErr: errDummy, err: errDummy, }, "wait error": { waitErr: errDummy, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) stdout := linesToReadCloser(testCase.stdout) stderr := linesToReadCloser(testCase.stderr) mockCmd := NewMockexecCmd(ctrl) mockCmd.EXPECT().StdoutPipe(). Return(stdout, testCase.stdoutPipeErr) if testCase.stdoutPipeErr == nil { mockCmd.EXPECT().StderrPipe().Return(stderr, testCase.stderrPipeErr) if testCase.stderrPipeErr == nil { mockCmd.EXPECT().Start().Return(testCase.startErr) if testCase.startErr == nil { mockCmd.EXPECT().Wait().Return(testCase.waitErr) } } } stdoutLines, stderrLines, waitError, err := start(mockCmd) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) assert.Nil(t, stdoutLines) assert.Nil(t, stderrLines) assert.Nil(t, waitError) return } require.NoError(t, err) var stdoutIndex, stderrIndex int done := false for !done { select { case line := <-stdoutLines: assert.Equal(t, testCase.stdout[stdoutIndex], line) stdoutIndex++ case line := <-stderrLines: assert.Equal(t, testCase.stderr[stderrIndex], line) stderrIndex++ case err := <-waitError: if testCase.waitErr != nil { require.Error(t, err) assert.Equal(t, testCase.waitErr.Error(), err.Error()) } else { assert.NoError(t, err) } done = true } } assert.Equal(t, len(testCase.stdout), stdoutIndex) assert.Equal(t, len(testCase.stderr), stderrIndex) }) } } ================================================ FILE: internal/command/startnlog.go ================================================ package command import ( "context" "fmt" "os/exec" ) func (c *Cmder) RunAndLog(ctx context.Context, command string, logger Logger) (err error) { args, err := split(command) if err != nil { return fmt.Errorf("parsing command: %w", err) } cmd := exec.CommandContext(ctx, args[0], args[1:]...) // #nosec G204 stdout, stderr, waitError, err := c.Start(cmd) if err != nil { return err } streamCtx, streamCancel := context.WithCancel(context.Background()) streamDone := make(chan struct{}) go streamLines(streamCtx, streamDone, logger, stdout, stderr) err = <-waitError streamCancel() <-streamDone return err } func streamLines(ctx context.Context, done chan<- struct{}, logger Logger, stdout, stderr <-chan string, ) { defer close(done) var line string for { select { case <-ctx.Done(): return case line = <-stdout: logger.Info(line) case line = <-stderr: logger.Error(line) } } } ================================================ FILE: internal/configuration/settings/amneziawg.go ================================================ package settings import ( "errors" "fmt" "strconv" "strings" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) type AmneziaWg struct { // Wireguard contains the configuration for Wireguard, given // AmneziaWg is based on Wireguard Wireguard Wireguard `json:"wireguard"` JunkPacketCount *uint16 `json:"junk_packet_count"` JunkPacketMin *uint16 `json:"junk_packet_min"` JunkPacketMax *uint16 `json:"junk_packet_max"` PaddingS1 *uint16 `json:"padding_s1"` PaddingS2 *uint16 `json:"padding_s2"` PaddingS3 *uint16 `json:"padding_s3"` PaddingS4 *uint16 `json:"padding_s4"` HeaderH1 *string `json:"header_h1"` HeaderH2 *string `json:"header_h2"` HeaderH3 *string `json:"header_h3"` HeaderH4 *string `json:"header_h4"` InitPacketI1 *string `json:"init_packet_i1"` InitPacketI2 *string `json:"init_packet_i2"` InitPacketI3 *string `json:"init_packet_i3"` InitPacketI4 *string `json:"init_packet_i4"` InitPacketI5 *string `json:"init_packet_i5"` } func (a *AmneziaWg) read(r *reader.Reader) (err error) { const amneziawg = true err = a.Wireguard.read(r, amneziawg) if err != nil { return err // do not wrap this error } uint16Fields := map[string]**uint16{ "AMNEZIAWG_JC": &a.JunkPacketCount, "AMNEZIAWG_JMIN": &a.JunkPacketMin, "AMNEZIAWG_JMAX": &a.JunkPacketMax, "AMNEZIAWG_S1": &a.PaddingS1, "AMNEZIAWG_S2": &a.PaddingS2, "AMNEZIAWG_S3": &a.PaddingS3, "AMNEZIAWG_S4": &a.PaddingS4, } for key, dst := range uint16Fields { *dst, err = r.Uint16Ptr(key) if err != nil { return err } } stringFields := map[string]**string{ "AMNEZIAWG_H1": &a.HeaderH1, "AMNEZIAWG_H2": &a.HeaderH2, "AMNEZIAWG_H3": &a.HeaderH3, "AMNEZIAWG_H4": &a.HeaderH4, "AMNEZIAWG_I1": &a.InitPacketI1, "AMNEZIAWG_I2": &a.InitPacketI2, "AMNEZIAWG_I3": &a.InitPacketI3, "AMNEZIAWG_I4": &a.InitPacketI4, "AMNEZIAWG_I5": &a.InitPacketI5, } opt := reader.ForceLowercase(false) for key, dst := range stringFields { *dst = r.Get(key, opt) } return nil } func (a AmneziaWg) copy() (copied AmneziaWg) { return AmneziaWg{ Wireguard: a.Wireguard.copy(), JunkPacketCount: gosettings.CopyPointer(a.JunkPacketCount), JunkPacketMin: gosettings.CopyPointer(a.JunkPacketMin), JunkPacketMax: gosettings.CopyPointer(a.JunkPacketMax), PaddingS1: gosettings.CopyPointer(a.PaddingS1), PaddingS2: gosettings.CopyPointer(a.PaddingS2), PaddingS3: gosettings.CopyPointer(a.PaddingS3), PaddingS4: gosettings.CopyPointer(a.PaddingS4), HeaderH1: gosettings.CopyPointer(a.HeaderH1), HeaderH2: gosettings.CopyPointer(a.HeaderH2), HeaderH3: gosettings.CopyPointer(a.HeaderH3), HeaderH4: gosettings.CopyPointer(a.HeaderH4), InitPacketI1: gosettings.CopyPointer(a.InitPacketI1), InitPacketI2: gosettings.CopyPointer(a.InitPacketI2), InitPacketI3: gosettings.CopyPointer(a.InitPacketI3), InitPacketI4: gosettings.CopyPointer(a.InitPacketI4), InitPacketI5: gosettings.CopyPointer(a.InitPacketI5), } } func (a *AmneziaWg) overrideWith(other AmneziaWg) { a.Wireguard.overrideWith(other.Wireguard) a.JunkPacketCount = gosettings.OverrideWithPointer(a.JunkPacketCount, other.JunkPacketCount) a.JunkPacketMin = gosettings.OverrideWithPointer(a.JunkPacketMin, other.JunkPacketMin) a.JunkPacketMax = gosettings.OverrideWithPointer(a.JunkPacketMax, other.JunkPacketMax) a.PaddingS1 = gosettings.OverrideWithPointer(a.PaddingS1, other.PaddingS1) a.PaddingS2 = gosettings.OverrideWithPointer(a.PaddingS2, other.PaddingS2) a.PaddingS3 = gosettings.OverrideWithPointer(a.PaddingS3, other.PaddingS3) a.PaddingS4 = gosettings.OverrideWithPointer(a.PaddingS4, other.PaddingS4) a.HeaderH1 = gosettings.OverrideWithPointer(a.HeaderH1, other.HeaderH1) a.HeaderH2 = gosettings.OverrideWithPointer(a.HeaderH2, other.HeaderH2) a.HeaderH3 = gosettings.OverrideWithPointer(a.HeaderH3, other.HeaderH3) a.HeaderH4 = gosettings.OverrideWithPointer(a.HeaderH4, other.HeaderH4) a.InitPacketI1 = gosettings.OverrideWithPointer(a.InitPacketI1, other.InitPacketI1) a.InitPacketI2 = gosettings.OverrideWithPointer(a.InitPacketI2, other.InitPacketI2) a.InitPacketI3 = gosettings.OverrideWithPointer(a.InitPacketI3, other.InitPacketI3) a.InitPacketI4 = gosettings.OverrideWithPointer(a.InitPacketI4, other.InitPacketI4) a.InitPacketI5 = gosettings.OverrideWithPointer(a.InitPacketI5, other.InitPacketI5) } func (a *AmneziaWg) setDefaults(vpnProvider string) { a.Wireguard.setDefaults(vpnProvider) a.Wireguard.Implementation = "userspace" // unused except in logs a.JunkPacketCount = gosettings.DefaultPointer(a.JunkPacketCount, 0) a.JunkPacketMin = gosettings.DefaultPointer(a.JunkPacketMin, 0) a.JunkPacketMax = gosettings.DefaultPointer(a.JunkPacketMax, 0) a.PaddingS1 = gosettings.DefaultPointer(a.PaddingS1, 0) a.PaddingS2 = gosettings.DefaultPointer(a.PaddingS2, 0) a.PaddingS3 = gosettings.DefaultPointer(a.PaddingS3, 0) a.PaddingS4 = gosettings.DefaultPointer(a.PaddingS4, 0) a.HeaderH1 = gosettings.DefaultPointer(a.HeaderH1, "") a.HeaderH2 = gosettings.DefaultPointer(a.HeaderH2, "") a.HeaderH3 = gosettings.DefaultPointer(a.HeaderH3, "") a.HeaderH4 = gosettings.DefaultPointer(a.HeaderH4, "") a.InitPacketI1 = gosettings.DefaultPointer(a.InitPacketI1, "") a.InitPacketI2 = gosettings.DefaultPointer(a.InitPacketI2, "") a.InitPacketI3 = gosettings.DefaultPointer(a.InitPacketI3, "") a.InitPacketI4 = gosettings.DefaultPointer(a.InitPacketI4, "") a.InitPacketI5 = gosettings.DefaultPointer(a.InitPacketI5, "") } func (a AmneziaWg) toLinesNode() (node *gotree.Node) { node = gotree.New("AmneziaWG settings:") node.AppendNode(a.Wireguard.toLinesNode()) uintFields := []struct { key string val *uint16 }{ {"JC", a.JunkPacketCount}, {"JMIN", a.JunkPacketMin}, {"JMAX", a.JunkPacketMax}, {"S1", a.PaddingS1}, {"S2", a.PaddingS2}, {"S3", a.PaddingS3}, {"S4", a.PaddingS4}, } for _, f := range uintFields { node.Appendf("%s: %d", f.key, *f.val) } stringFields := []struct { key string val *string }{ {"H1", a.HeaderH1}, {"H2", a.HeaderH2}, {"H3", a.HeaderH3}, {"H4", a.HeaderH4}, {"I1", a.InitPacketI1}, {"I2", a.InitPacketI2}, {"I3", a.InitPacketI3}, {"I4", a.InitPacketI4}, {"I5", a.InitPacketI5}, } for _, f := range stringFields { node.Appendf("%s: %s", f.key, *f.val) } return node } var ( ErrAmenziawgImplementationNotValid = errors.New("AmneziaWG implementation is not valid") ErrJunkPacketBounds = errors.New("junk packet minimum must be lower than or equal to maximum") ErrJunkPacketMinMaxNotSet = errors.New("junk packet min and max must be set when junk packet count is set") ErrJunkPacketCountNotSet = errors.New("junk packet count must be set when junk packet min or max is set") ErrHeaderRangeMalformed = errors.New("header range is malformed") ) func (a AmneziaWg) validate(vpnProvider string, ipv6Supported bool) error { const amneziaWG = true err := a.Wireguard.validate(vpnProvider, ipv6Supported, amneziaWG) if err != nil { return fmt.Errorf("wireguard settings: %w", err) } if *a.JunkPacketCount == 0 { if *a.JunkPacketMin != 0 || *a.JunkPacketMax != 0 { return fmt.Errorf("%w: jc=%d and jmin=%d and jmax=%d", ErrJunkPacketCountNotSet, a.JunkPacketCount, *a.JunkPacketMin, *a.JunkPacketMax) } } else { if *a.JunkPacketMin == 0 || *a.JunkPacketMax == 0 { return fmt.Errorf("%w: jc=%d and jmin=%d and jmax=%d", ErrJunkPacketMinMaxNotSet, a.JunkPacketCount, *a.JunkPacketMin, *a.JunkPacketMax) } else if *a.JunkPacketMin > *a.JunkPacketMax { return fmt.Errorf("%w: jmin=%d and jmax=%d", ErrJunkPacketBounds, *a.JunkPacketMin, *a.JunkPacketMax) } } nameToHeaderRange := map[string]string{ "h1": *a.HeaderH1, "h2": *a.HeaderH2, "h3": *a.HeaderH3, "h4": *a.HeaderH4, } for name, headerRange := range nameToHeaderRange { if headerRange == "" { continue } fields := strings.Split(headerRange, "-") switch len(fields) { case 1: _, err := strconv.Atoi(fields[0]) if err != nil { return fmt.Errorf("%w: %s value %s is not a number", ErrHeaderRangeMalformed, name, headerRange) } case 2: //nolint:mnd for _, field := range fields { _, err := strconv.Atoi(field) if err != nil { return fmt.Errorf("%w: %s value %s is not a valid range", ErrHeaderRangeMalformed, name, headerRange) } } default: return fmt.Errorf("%w: %s value %s must be in the form n or n-m", ErrHeaderRangeMalformed, name, headerRange) } } return nil } ================================================ FILE: internal/configuration/settings/boringpoll.go ================================================ package settings import ( "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) type BoringPoll struct { GluetunCom *bool } func (b BoringPoll) validate() error { return nil } func (b BoringPoll) Copy() BoringPoll { return BoringPoll{ GluetunCom: gosettings.CopyPointer(b.GluetunCom), } } func (b *BoringPoll) overrideWith(other BoringPoll) { b.GluetunCom = gosettings.OverrideWithPointer(b.GluetunCom, other.GluetunCom) } func (b *BoringPoll) setDefaults() { b.GluetunCom = gosettings.DefaultPointer(b.GluetunCom, false) } func (b BoringPoll) String() string { return b.toLinesNode().String() } func (b BoringPoll) toLinesNode() *gotree.Node { if !*b.GluetunCom { return nil } node := gotree.New("Boring-poll settings:") node.Append("gluetun.com: on") return node } func (b *BoringPoll) read(r *reader.Reader) (err error) { b.GluetunCom, err = r.BoolPtr("BORINGPOLL_GLUETUNCOM") if err != nil { return err } return nil } ================================================ FILE: internal/configuration/settings/deprecated.go ================================================ package settings import ( "slices" "github.com/qdm12/gosettings/reader" "golang.org/x/exp/maps" ) func readObsolete(r *reader.Reader) (warnings []string) { keyToMessage := map[string]string{ "DOT_VERBOSITY": "DOT_VERBOSITY is obsolete, use LOG_LEVEL instead.", "DOT_VERBOSITY_DETAILS": "DOT_VERBOSITY_DETAILS is obsolete because it was specific to Unbound.", "DOT_VALIDATION_LOGLEVEL": "DOT_VALIDATION_LOGLEVEL is obsolete because DNSSEC validation is not implemented.", "HEALTH_VPN_DURATION_INITIAL": "HEALTH_VPN_DURATION_INITIAL is obsolete", "HEALTH_VPN_DURATION_ADDITION": "HEALTH_VPN_DURATION_ADDITION is obsolete", "DNS_SERVER": "DNS_SERVER is obsolete because the forwarding server is always enabled.", "DOT": "DOT is obsolete because the forwarding server is always enabled.", "DNS_KEEP_NAMESERVER": "DNS_KEEP_NAMESERVER is obsolete because the forwarding server is always used and " + "forwards local names to private DNS resolvers found in /etc/resolv.conf", } sortedKeys := maps.Keys(keyToMessage) slices.Sort(sortedKeys) warnings = make([]string, 0, len(keyToMessage)) for _, key := range sortedKeys { if r.Get(key) != nil { warnings = append(warnings, keyToMessage[key]) } } return warnings } ================================================ FILE: internal/configuration/settings/dns.go ================================================ package settings import ( "errors" "fmt" "net/netip" "slices" "time" "github.com/qdm12/dns/v2/pkg/provider" "github.com/qdm12/gluetun/internal/configuration/settings/helpers" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) const ( DNSUpstreamTypeDot = "dot" DNSUpstreamTypeDoh = "doh" DNSUpstreamTypePlain = "plain" ) // DNS contains settings to configure DNS. type DNS struct { // UpstreamType can be [DNSUpstreamTypeDot], [DNSUpstreamTypeDoh] // or [DNSUpstreamTypePlain]. It defaults to [DNSUpstreamTypeDot]. UpstreamType string `json:"upstream_type"` // UpdatePeriod is the period to update DNS block lists. // It can be set to 0 to disable the update. // It defaults to 24h and cannot be nil in // the internal state. UpdatePeriod *time.Duration // Providers is a list of DNS providers. // It defaults to either ["cloudflare"] or [] if the // UpstreamPlainAddresses field is set. Providers []string `json:"providers"` // Caching is true if the server should cache // DNS responses. Caching *bool `json:"caching"` // IPv6 is true if the server should connect over IPv6. IPv6 *bool `json:"ipv6"` // Blacklist contains settings to configure the filter // block lists. Blacklist DNSBlacklist // UpstreamPlainAddresses are the upstream plaintext DNS resolver // addresses to use by the built-in DNS server forwarder. // Note, if the upstream type is [dnsUpstreamTypePlain] and this field is set, // the Providers field will default to the empty slice. If the Providers field // is set by the user, then the content of this field will be merged together // with the plain addresses of the providers set in the Providers field. UpstreamPlainAddresses []netip.AddrPort } var ( ErrDNSUpstreamTypeNotValid = errors.New("DNS upstream type is not valid") ErrDNSUpdatePeriodTooShort = errors.New("update period is too short") ErrDNSUpstreamPlainNoIPv6 = errors.New("upstream plain addresses do not contain any IPv6 address") ErrDNSUpstreamPlainNoIPv4 = errors.New("upstream plain addresses do not contain any IPv4 address") ) func (d DNS) validate() (err error) { if !helpers.IsOneOf(d.UpstreamType, DNSUpstreamTypeDot, DNSUpstreamTypeDoh, DNSUpstreamTypePlain) { return fmt.Errorf("%w: %s", ErrDNSUpstreamTypeNotValid, d.UpstreamType) } const minUpdatePeriod = 30 * time.Second if *d.UpdatePeriod != 0 && *d.UpdatePeriod < minUpdatePeriod { return fmt.Errorf("%w: %s must be bigger than %s", ErrDNSUpdatePeriodTooShort, *d.UpdatePeriod, minUpdatePeriod) } providers := provider.NewProviders() selectedHasPlainIPv4, selectedHasPlainIPv6 := false, false for _, providerName := range d.Providers { provider, err := providers.Get(providerName) if err != nil { return err } if !selectedHasPlainIPv4 && len(provider.Plain.IPv4) > 0 { selectedHasPlainIPv4 = true } if !selectedHasPlainIPv6 && len(provider.Plain.IPv6) > 0 { selectedHasPlainIPv6 = true } } if d.UpstreamType == DNSUpstreamTypePlain { if *d.IPv6 && !selectedHasPlainIPv6 && !slices.ContainsFunc(d.UpstreamPlainAddresses, func(addrPort netip.AddrPort) bool { return addrPort.Addr().Is6() }) { return fmt.Errorf("%w: in %d addresses", ErrDNSUpstreamPlainNoIPv6, len(d.UpstreamPlainAddresses)) } else if !selectedHasPlainIPv4 && !slices.ContainsFunc(d.UpstreamPlainAddresses, func(addrPort netip.AddrPort) bool { return addrPort.Addr().Is4() }) { return fmt.Errorf("%w: in %d addresses", ErrDNSUpstreamPlainNoIPv4, len(d.UpstreamPlainAddresses)) } } err = d.Blacklist.validate() if err != nil { return err } return nil } func (d *DNS) Copy() (copied DNS) { return DNS{ UpstreamType: d.UpstreamType, UpdatePeriod: gosettings.CopyPointer(d.UpdatePeriod), Providers: gosettings.CopySlice(d.Providers), Caching: gosettings.CopyPointer(d.Caching), IPv6: gosettings.CopyPointer(d.IPv6), Blacklist: d.Blacklist.copy(), UpstreamPlainAddresses: d.UpstreamPlainAddresses, } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (d *DNS) overrideWith(other DNS) { d.UpstreamType = gosettings.OverrideWithComparable(d.UpstreamType, other.UpstreamType) d.UpdatePeriod = gosettings.OverrideWithPointer(d.UpdatePeriod, other.UpdatePeriod) d.Providers = gosettings.OverrideWithSlice(d.Providers, other.Providers) d.Caching = gosettings.OverrideWithPointer(d.Caching, other.Caching) d.IPv6 = gosettings.OverrideWithPointer(d.IPv6, other.IPv6) d.Blacklist.overrideWith(other.Blacklist) d.UpstreamPlainAddresses = gosettings.OverrideWithSlice(d.UpstreamPlainAddresses, other.UpstreamPlainAddresses) } func (d *DNS) setDefaults() { d.UpstreamType = gosettings.DefaultComparable(d.UpstreamType, DNSUpstreamTypeDot) const defaultUpdatePeriod = 24 * time.Hour d.UpdatePeriod = gosettings.DefaultPointer(d.UpdatePeriod, defaultUpdatePeriod) d.UpstreamPlainAddresses = gosettings.DefaultSlice(d.UpstreamPlainAddresses, []netip.AddrPort{}) defaultProviders := defaultDNSProviders() if d.UpstreamType == DNSUpstreamTypePlain && len(d.UpstreamPlainAddresses) == 0 { defaultProviders = []string{} } d.Providers = gosettings.DefaultSlice(d.Providers, defaultProviders) d.Caching = gosettings.DefaultPointer(d.Caching, true) d.IPv6 = gosettings.DefaultPointer(d.IPv6, false) d.Blacklist.setDefaults() } func defaultDNSProviders() []string { return []string{ provider.Cloudflare().Name, } } func (d DNS) GetFirstPlaintextIPv4() (ipv4 netip.Addr) { if d.UpstreamType == DNSUpstreamTypePlain { for _, addrPort := range d.UpstreamPlainAddresses { if addrPort.Addr().Is4() { return addrPort.Addr() } } } ipv4 = findPlainIPv4InProviders(d.Providers) if ipv4.IsValid() { return ipv4 } // Either: // - all upstream plain addresses are IPv6 and no provider is set // - all providers set do not have a plaintext IPv4 address ipv4 = findPlainIPv4InProviders(defaultDNSProviders()) if !ipv4.IsValid() { panic("no plaintext IPv4 address found in default DNS providers") } return ipv4 } func findPlainIPv4InProviders(providerNames []string) netip.Addr { providers := provider.NewProviders() for _, name := range providerNames { provider, err := providers.Get(name) if err != nil { // Settings should be validated before calling this function, // so an error happening here is a programming error. panic(err) } if len(provider.Plain.IPv4) > 0 { return provider.Plain.IPv4[0].Addr() } } return netip.Addr{} } func (d DNS) String() string { return d.toLinesNode().String() } func (d DNS) toLinesNode() (node *gotree.Node) { node = gotree.New("DNS settings:") node.Appendf("Upstream resolver type: %s", d.UpstreamType) upstreamResolvers := node.Append("Upstream resolvers:") if len(d.UpstreamPlainAddresses) > 0 { if d.UpstreamType == DNSUpstreamTypePlain { for _, addr := range d.UpstreamPlainAddresses { upstreamResolvers.Append(addr.String()) } } else { node.Appendf("Upstream plain addresses: ignored because upstream type is not plain") } } else { for _, provider := range d.Providers { upstreamResolvers.Append(provider) } } node.Appendf("Caching: %s", gosettings.BoolToYesNo(d.Caching)) node.Appendf("IPv6: %s", gosettings.BoolToYesNo(d.IPv6)) update := "disabled" if *d.UpdatePeriod > 0 { update = "every " + d.UpdatePeriod.String() } node.Appendf("Update period: %s", update) node.AppendNode(d.Blacklist.toLinesNode()) return node } func (d *DNS) read(r *reader.Reader) (err error) { d.UpstreamType = r.String("DNS_UPSTREAM_RESOLVER_TYPE") d.UpdatePeriod, err = r.DurationPtr("DNS_UPDATE_PERIOD") if err != nil { return err } d.Providers = r.CSV("DNS_UPSTREAM_RESOLVERS", reader.RetroKeys("DOT_PROVIDERS")) d.Caching, err = r.BoolPtr("DNS_CACHING", reader.RetroKeys("DOT_CACHING")) if err != nil { return err } d.IPv6, err = r.BoolPtr("DNS_UPSTREAM_IPV6", reader.RetroKeys("DOT_IPV6")) if err != nil { return err } err = d.Blacklist.read(r) if err != nil { return err } err = d.readUpstreamPlainAddresses(r) if err != nil { return err } return nil } func (d *DNS) readUpstreamPlainAddresses(r *reader.Reader) (err error) { // If DNS_UPSTREAM_PLAIN_ADDRESSES is set, the user must also set DNS_UPSTREAM_TYPE=plain // for these to be used. This is an added safety measure to reduce misunderstandings, and // reduce odd settings overrides. d.UpstreamPlainAddresses, err = r.CSVNetipAddrPorts("DNS_UPSTREAM_PLAIN_ADDRESSES") if err != nil { return err } // Retro-compatibility - remove in v4 // If DNS_ADDRESS is set to a non-localhost address, append it to the other // upstream plain addresses, assuming port 53, and force the upstream type to plain AND // clear any user picked providers, to maintain retro-compatibility behavior. serverAddress, err := r.NetipAddr("DNS_ADDRESS", reader.RetroKeys("DNS_PLAINTEXT_ADDRESS"), reader.IsRetro("DNS_UPSTREAM_PLAIN_ADDRESSES")) if err != nil { return err } else if !serverAddress.IsValid() { return nil } isLocalhost := serverAddress.Compare(netip.AddrFrom4([4]byte{127, 0, 0, 1})) == 0 if isLocalhost { return nil } const defaultPlainPort = 53 addrPort := netip.AddrPortFrom(serverAddress, defaultPlainPort) d.UpstreamPlainAddresses = append(d.UpstreamPlainAddresses, addrPort) d.UpstreamType = DNSUpstreamTypePlain d.Providers = []string{} return nil } ================================================ FILE: internal/configuration/settings/dns_test.go ================================================ package settings import ( "testing" "github.com/qdm12/dns/v2/pkg/provider" "github.com/stretchr/testify/require" ) func Test_defaultDNSProviders(t *testing.T) { t.Parallel() names := defaultDNSProviders() found := false providers := provider.NewProviders() for _, name := range names { provider, err := providers.Get(name) require.NoError(t, err) if len(provider.Plain.IPv4) > 0 { found = true break } } require.True(t, found, "no default DNS provider has a plaintext IPv4 address") } ================================================ FILE: internal/configuration/settings/dnsblacklist.go ================================================ package settings import ( "errors" "fmt" "net/http" "net/netip" "regexp" "github.com/qdm12/dns/v2/pkg/blockbuilder" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // DNSBlacklist is settings for the DNS blacklist building. type DNSBlacklist struct { BlockMalicious *bool BlockAds *bool BlockSurveillance *bool AllowedHosts []string AddBlockedHosts []string AddBlockedIPs []netip.Addr AddBlockedIPPrefixes []netip.Prefix // RebindingProtectionExemptHostnames is a list of hostnames // exempt from DNS rebinding protection. It can contain parent // domains which are of the form "*.example.com". Note the wildcard // can only be used at the start of the hostname. RebindingProtectionExemptHostnames []string } func (b *DNSBlacklist) setDefaults() { b.BlockMalicious = gosettings.DefaultPointer(b.BlockMalicious, true) b.BlockAds = gosettings.DefaultPointer(b.BlockAds, false) b.BlockSurveillance = gosettings.DefaultPointer(b.BlockSurveillance, true) } var hostRegex = regexp.MustCompile(`^([a-zA-Z0-9]|[a-zA-Z0-9_][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9_])(\.([a-zA-Z0-9]|[a-zA-Z0-9_][a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9]))*$`) //nolint:lll var ( ErrAllowedHostNotValid = errors.New("allowed host is not valid") ErrBlockedHostNotValid = errors.New("blocked host is not valid") ErrRebindingProtectionExemptHostNotValid = errors.New("rebinding protection exempt host is not valid") ) func (b DNSBlacklist) validate() (err error) { for _, host := range b.AllowedHosts { if !hostRegex.MatchString(host) { return fmt.Errorf("%w: %s", ErrAllowedHostNotValid, host) } } for _, host := range b.AddBlockedHosts { if !hostRegex.MatchString(host) { return fmt.Errorf("%w: %s", ErrBlockedHostNotValid, host) } } for _, host := range b.RebindingProtectionExemptHostnames { if len(host) > 2 && host[:2] == "*." { host = host[2:] } if !hostRegex.MatchString(host) { return fmt.Errorf("%w: %s", ErrRebindingProtectionExemptHostNotValid, host) } } return nil } func (b DNSBlacklist) copy() (copied DNSBlacklist) { return DNSBlacklist{ BlockMalicious: gosettings.CopyPointer(b.BlockMalicious), BlockAds: gosettings.CopyPointer(b.BlockAds), BlockSurveillance: gosettings.CopyPointer(b.BlockSurveillance), AllowedHosts: gosettings.CopySlice(b.AllowedHosts), AddBlockedHosts: gosettings.CopySlice(b.AddBlockedHosts), AddBlockedIPs: gosettings.CopySlice(b.AddBlockedIPs), AddBlockedIPPrefixes: gosettings.CopySlice(b.AddBlockedIPPrefixes), RebindingProtectionExemptHostnames: gosettings.CopySlice(b.RebindingProtectionExemptHostnames), } } func (b *DNSBlacklist) overrideWith(other DNSBlacklist) { b.BlockMalicious = gosettings.OverrideWithPointer(b.BlockMalicious, other.BlockMalicious) b.BlockAds = gosettings.OverrideWithPointer(b.BlockAds, other.BlockAds) b.BlockSurveillance = gosettings.OverrideWithPointer(b.BlockSurveillance, other.BlockSurveillance) b.AllowedHosts = gosettings.OverrideWithSlice(b.AllowedHosts, other.AllowedHosts) b.AddBlockedHosts = gosettings.OverrideWithSlice(b.AddBlockedHosts, other.AddBlockedHosts) b.AddBlockedIPs = gosettings.OverrideWithSlice(b.AddBlockedIPs, other.AddBlockedIPs) b.AddBlockedIPPrefixes = gosettings.OverrideWithSlice(b.AddBlockedIPPrefixes, other.AddBlockedIPPrefixes) b.RebindingProtectionExemptHostnames = gosettings.OverrideWithSlice(b.RebindingProtectionExemptHostnames, other.RebindingProtectionExemptHostnames) } func (b DNSBlacklist) ToBlockBuilderSettings(client *http.Client) ( settings blockbuilder.Settings, ) { return blockbuilder.Settings{ Client: client, BlockMalicious: b.BlockMalicious, BlockAds: b.BlockAds, BlockSurveillance: b.BlockSurveillance, AllowedHosts: b.AllowedHosts, AddBlockedHosts: b.AddBlockedHosts, AddBlockedIPs: b.AddBlockedIPs, AddBlockedIPPrefixes: b.AddBlockedIPPrefixes, } } func (b DNSBlacklist) String() string { return b.toLinesNode().String() } func (b DNSBlacklist) toLinesNode() (node *gotree.Node) { node = gotree.New("DNS filtering settings:") node.Appendf("Block malicious: %s", gosettings.BoolToYesNo(b.BlockMalicious)) node.Appendf("Block ads: %s", gosettings.BoolToYesNo(b.BlockAds)) node.Appendf("Block surveillance: %s", gosettings.BoolToYesNo(b.BlockSurveillance)) if len(b.AllowedHosts) > 0 { allowedHostsNode := node.Append("Allowed hosts:") for _, host := range b.AllowedHosts { allowedHostsNode.Append(host) } } if len(b.AddBlockedHosts) > 0 { blockedHostsNode := node.Append("Blocked hosts:") for _, host := range b.AddBlockedHosts { blockedHostsNode.Append(host) } } if len(b.AddBlockedIPs) > 0 { blockedIPsNode := node.Append("Blocked IP addresses:") for _, ip := range b.AddBlockedIPs { blockedIPsNode.Append(ip.String()) } } if len(b.AddBlockedIPPrefixes) > 0 { blockedIPPrefixesNode := node.Append("Blocked IP networks:") for _, ipNetwork := range b.AddBlockedIPPrefixes { blockedIPPrefixesNode.Append(ipNetwork.String()) } } if len(b.RebindingProtectionExemptHostnames) > 0 { exemptHostsNode := node.Append("Rebinding protection exempt hostnames:") for _, host := range b.RebindingProtectionExemptHostnames { exemptHostsNode.Append(host) } } return node } func (b *DNSBlacklist) read(r *reader.Reader) (err error) { b.BlockMalicious, err = r.BoolPtr("BLOCK_MALICIOUS") if err != nil { return err } b.BlockSurveillance, err = r.BoolPtr("BLOCK_SURVEILLANCE", reader.RetroKeys("BLOCK_NSA")) if err != nil { return err } b.BlockAds, err = r.BoolPtr("BLOCK_ADS") if err != nil { return err } b.AddBlockedIPs, b.AddBlockedIPPrefixes, err = readDNSBlockedIPs(r) if err != nil { return err } b.AllowedHosts = r.CSV("DNS_UNBLOCK_HOSTNAMES", reader.RetroKeys("UNBLOCK")) b.RebindingProtectionExemptHostnames = r.CSV("DNS_REBINDING_PROTECTION_EXEMPT_HOSTNAMES") return nil } func readDNSBlockedIPs(r *reader.Reader) (ips []netip.Addr, ipPrefixes []netip.Prefix, err error, ) { ips, err = r.CSVNetipAddresses("DNS_BLOCK_IPS") if err != nil { return nil, nil, err } ipPrefixes, err = r.CSVNetipPrefixes("DNS_BLOCK_IP_PREFIXES") if err != nil { return nil, nil, err } // TODO v4 remove this block below privateIPs, privateIPPrefixes, err := readDNSPrivateAddresses(r) if err != nil { return nil, nil, err } ips = append(ips, privateIPs...) ipPrefixes = append(ipPrefixes, privateIPPrefixes...) return ips, ipPrefixes, nil } var ErrPrivateAddressNotValid = errors.New("private address is not a valid IP or CIDR range") func readDNSPrivateAddresses(r *reader.Reader) (ips []netip.Addr, ipPrefixes []netip.Prefix, err error, ) { privateAddresses := r.CSV("DOT_PRIVATE_ADDRESS", reader.IsRetro("DNS_BLOCK_IP_PREFIXES")) if len(privateAddresses) == 0 { return nil, nil, nil } ips = make([]netip.Addr, 0, len(privateAddresses)) ipPrefixes = make([]netip.Prefix, 0, len(privateAddresses)) for _, privateAddress := range privateAddresses { ip, err := netip.ParseAddr(privateAddress) if err == nil { ips = append(ips, ip) continue } ipPrefix, err := netip.ParsePrefix(privateAddress) if err == nil { ipPrefixes = append(ipPrefixes, ipPrefix) continue } return nil, nil, fmt.Errorf( "environment variable DOT_PRIVATE_ADDRESS: %w: %s", ErrPrivateAddressNotValid, privateAddress) } return ips, ipPrefixes, nil } ================================================ FILE: internal/configuration/settings/errors.go ================================================ package settings import "errors" var ( ErrValueUnknown = errors.New("value is unknown") ErrCityNotValid = errors.New("the city specified is not valid") ErrControlServerPrivilegedPort = errors.New("cannot use privileged port without running as root") ErrCategoryNotValid = errors.New("the category specified is not valid") ErrCountryNotValid = errors.New("the country specified is not valid") ErrFilepathMissing = errors.New("filepath is missing") ErrFirewallZeroPort = errors.New("cannot have a zero port") ErrFirewallPublicOutboundSubnet = errors.New("outbound subnet has an unspecified address") ErrHostnameNotValid = errors.New("the hostname specified is not valid") ErrISPNotValid = errors.New("the ISP specified is not valid") ErrMinRatioNotValid = errors.New("minimum ratio is not valid") ErrMissingValue = errors.New("missing value") ErrNameNotValid = errors.New("the server name specified is not valid") ErrOpenVPNClientKeyMissing = errors.New("client key is missing") ErrOpenVPNCustomPortNotAllowed = errors.New("custom endpoint port is not allowed") ErrOpenVPNEncryptionPresetNotValid = errors.New("PIA encryption preset is not valid") ErrOpenVPNInterfaceNotValid = errors.New("interface name is not valid") ErrOpenVPNKeyPassphraseIsEmpty = errors.New("key passphrase is empty") ErrOpenVPNMSSFixIsTooHigh = errors.New("mssfix option value is too high") ErrOpenVPNPasswordIsEmpty = errors.New("password is empty") ErrOpenVPNTCPNotSupported = errors.New("TCP protocol is not supported") ErrOpenVPNUserIsEmpty = errors.New("user is empty") ErrOpenVPNVerbosityIsOutOfBounds = errors.New("verbosity value is out of bounds") ErrOpenVPNVersionIsNotValid = errors.New("version is not valid") ErrPortForwardingEnabled = errors.New("port forwarding cannot be enabled") ErrPortForwardingUserEmpty = errors.New("port forwarding username is empty") ErrPortForwardingPasswordEmpty = errors.New("port forwarding password is empty") ErrRegionNotValid = errors.New("the region specified is not valid") ErrServerAddressNotValid = errors.New("server listening address is not valid") ErrSystemPGIDNotValid = errors.New("process group id is not valid") ErrSystemPUIDNotValid = errors.New("process user id is not valid") ErrSystemTimezoneNotValid = errors.New("timezone is not valid") ErrUpdaterPeriodTooSmall = errors.New("VPN server data updater period is too small") ErrUpdaterProtonPasswordMissing = errors.New("proton password is missing") ErrUpdaterProtonEmailMissing = errors.New("proton email is missing") ErrVPNProviderNameNotValid = errors.New("VPN provider name is not valid") ErrVPNTypeNotValid = errors.New("VPN type is not valid") ErrWireguardAllowedIPNotSet = errors.New("allowed IP is not set") ErrWireguardAllowedIPsNotSet = errors.New("allowed IPs is not set") ErrWireguardEndpointIPNotSet = errors.New("endpoint IP is not set") ErrWireguardEndpointPortNotAllowed = errors.New("endpoint port is not allowed") ErrWireguardEndpointPortNotSet = errors.New("endpoint port is not set") ErrWireguardEndpointPortSet = errors.New("endpoint port is set") ErrWireguardInterfaceAddressNotSet = errors.New("interface address is not set") ErrWireguardInterfaceAddressIPv6 = errors.New("interface address is IPv6 but IPv6 is not supported") ErrWireguardInterfaceNotValid = errors.New("interface name is not valid") ErrWireguardPreSharedKeyNotSet = errors.New("pre-shared key is not set") ErrWireguardPrivateKeyNotSet = errors.New("private key is not set") ErrWireguardPublicKeyNotSet = errors.New("public key is not set") ErrWireguardPublicKeyNotValid = errors.New("public key is not valid") ErrWireguardKeepAliveNegative = errors.New("persistent keep alive interval is negative") ErrWireguardImplementationNotValid = errors.New("implementation is not valid") ) ================================================ FILE: internal/configuration/settings/firewall.go ================================================ package settings import ( "fmt" "net/netip" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // Firewall contains settings to customize the firewall operation. type Firewall struct { VPNInputPorts []uint16 InputPorts []uint16 OutboundSubnets []netip.Prefix Enabled *bool Iptables Iptables } func (f Firewall) validate() (err error) { if hasZeroPort(f.VPNInputPorts) { return fmt.Errorf("VPN input ports: %w", ErrFirewallZeroPort) } if hasZeroPort(f.InputPorts) { return fmt.Errorf("input ports: %w", ErrFirewallZeroPort) } for _, subnet := range f.OutboundSubnets { if subnet.Addr().IsUnspecified() { return fmt.Errorf("%w: %s", ErrFirewallPublicOutboundSubnet, subnet) } } err = f.Iptables.validate() if err != nil { return fmt.Errorf("iptables settings: %w", err) } return nil } func hasZeroPort(ports []uint16) (has bool) { for _, port := range ports { if port == 0 { return true } } return false } func (f *Firewall) copy() (copied Firewall) { return Firewall{ VPNInputPorts: gosettings.CopySlice(f.VPNInputPorts), InputPorts: gosettings.CopySlice(f.InputPorts), OutboundSubnets: gosettings.CopySlice(f.OutboundSubnets), Enabled: gosettings.CopyPointer(f.Enabled), Iptables: f.Iptables.copy(), } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (f *Firewall) overrideWith(other Firewall) { f.VPNInputPorts = gosettings.OverrideWithSlice(f.VPNInputPorts, other.VPNInputPorts) f.InputPorts = gosettings.OverrideWithSlice(f.InputPorts, other.InputPorts) f.OutboundSubnets = gosettings.OverrideWithSlice(f.OutboundSubnets, other.OutboundSubnets) f.Enabled = gosettings.OverrideWithPointer(f.Enabled, other.Enabled) f.Iptables.overrideWith(other.Iptables) } func (f *Firewall) setDefaults(globalLogLevel string) { f.Enabled = gosettings.DefaultPointer(f.Enabled, true) f.Iptables.setDefaults(globalLogLevel) } func (f Firewall) String() string { return f.toLinesNode().String() } func (f Firewall) toLinesNode() (node *gotree.Node) { node = gotree.New("Firewall settings:") node.Appendf("Enabled: %s", gosettings.BoolToYesNo(f.Enabled)) if !*f.Enabled { return node } node.AppendNode(f.Iptables.toLinesNode()) if len(f.VPNInputPorts) > 0 { vpnInputPortsNode := node.Appendf("VPN input ports:") for _, port := range f.VPNInputPorts { vpnInputPortsNode.Appendf("%d", port) } } if len(f.InputPorts) > 0 { inputPortsNode := node.Appendf("Input ports:") for _, port := range f.InputPorts { inputPortsNode.Appendf("%d", port) } } if len(f.OutboundSubnets) > 0 { outboundSubnets := node.Appendf("Outbound subnets:") for _, subnet := range f.OutboundSubnets { outboundSubnets.Appendf("%s", &subnet) } } return node } func (f *Firewall) read(r *reader.Reader) (err error) { f.VPNInputPorts, err = r.CSVUint16("FIREWALL_VPN_INPUT_PORTS") if err != nil { return err } f.InputPorts, err = r.CSVUint16("FIREWALL_INPUT_PORTS") if err != nil { return err } f.OutboundSubnets, err = r.CSVNetipPrefixes( "FIREWALL_OUTBOUND_SUBNETS", reader.RetroKeys("EXTRA_SUBNETS")) if err != nil { return err } f.Enabled, err = r.BoolPtr("FIREWALL_ENABLED_DISABLING_IT_SHOOTS_YOU_IN_YOUR_FOOT") if err != nil { return err } err = f.Iptables.read(r) if err != nil { return fmt.Errorf("reading iptables settings: %w", err) } return nil } ================================================ FILE: internal/configuration/settings/firewall_test.go ================================================ package settings import ( "net/netip" "testing" "github.com/qdm12/log" "github.com/stretchr/testify/assert" ) func Test_Firewall_validate(t *testing.T) { t.Parallel() testCases := map[string]struct { firewall Firewall errWrapped error errMessage string }{ "empty": { errWrapped: log.ErrLevelNotRecognized, errMessage: "iptables settings: log level: level is not recognized: ", }, "zero_vpn_input_port": { firewall: Firewall{ VPNInputPorts: []uint16{0}, }, errWrapped: ErrFirewallZeroPort, errMessage: "VPN input ports: cannot have a zero port", }, "zero_input_port": { firewall: Firewall{ InputPorts: []uint16{0}, }, errWrapped: ErrFirewallZeroPort, errMessage: "input ports: cannot have a zero port", }, "unspecified_outbound_subnet": { firewall: Firewall{ OutboundSubnets: []netip.Prefix{ netip.MustParsePrefix("0.0.0.0/0"), }, }, errWrapped: ErrFirewallPublicOutboundSubnet, errMessage: "outbound subnet has an unspecified address: 0.0.0.0/0", }, "public_outbound_subnet": { firewall: Firewall{ Iptables: Iptables{LogLevel: log.LevelInfo.String()}, OutboundSubnets: []netip.Prefix{ netip.MustParsePrefix("1.2.3.4/32"), }, }, }, "valid_settings": { firewall: Firewall{ Iptables: Iptables{LogLevel: log.LevelInfo.String()}, VPNInputPorts: []uint16{100, 101}, InputPorts: []uint16{200, 201}, OutboundSubnets: []netip.Prefix{ netip.MustParsePrefix("192.168.1.0/24"), netip.MustParsePrefix("10.10.1.1/32"), }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() err := testCase.firewall.validate() assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/configuration/settings/health.go ================================================ package settings import ( "errors" "fmt" "net/netip" "os" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) // Health contains settings for the healthcheck and health server. type Health struct { // ServerAddress is the listening address // for the health check server. // It cannot be the empty string in the internal state. ServerAddress string // TargetAddresses are the addresses (host or host:port) // to TCP TLS dial to periodically for the health check. // Addresses after the first one are used as fallbacks for retries. // It cannot be empty in the internal state. TargetAddresses []string // ICMPTargetIPs are the IP addresses to use for ICMP echo requests // in the health checker. The slice can be set to a single // unspecified address (0.0.0.0) such that the VPN server IP is used, // although this can be less reliable. It defaults to [1.1.1.1,8.8.8.8], // and cannot be left empty in the internal state. ICMPTargetIPs []netip.Addr // SmallCheckType is the type of small health check to perform. // It can be "icmp" or "dns", and defaults to "icmp". // Note it changes automatically to dns if icmp is not supported. SmallCheckType string // RestartVPN indicates whether to restart the VPN connection // when the healthcheck fails. RestartVPN *bool } var ( ErrICMPTargetIPNotValid = errors.New("ICMP target IP address is not valid") ErrICMPTargetIPsNotCompatible = errors.New("ICMP target IP addresses are not compatible") ErrSmallCheckTypeNotValid = errors.New("small check type is not valid") ) func (h Health) Validate() (err error) { err = validate.ListeningAddress(h.ServerAddress, os.Getuid()) if err != nil { return fmt.Errorf("server listening address is not valid: %w", err) } for _, ip := range h.ICMPTargetIPs { switch { case !ip.IsValid(): return fmt.Errorf("%w: %s", ErrICMPTargetIPNotValid, ip) case ip.IsUnspecified() && len(h.ICMPTargetIPs) > 1: return fmt.Errorf("%w: only a single IP address must be set if it is to be unspecified", ErrICMPTargetIPsNotCompatible) } } err = validate.IsOneOf(h.SmallCheckType, "icmp", "dns") if err != nil { return fmt.Errorf("%w: %s", ErrSmallCheckTypeNotValid, err) } return nil } func (h *Health) copy() (copied Health) { return Health{ ServerAddress: h.ServerAddress, TargetAddresses: h.TargetAddresses, ICMPTargetIPs: gosettings.CopySlice(h.ICMPTargetIPs), SmallCheckType: h.SmallCheckType, RestartVPN: gosettings.CopyPointer(h.RestartVPN), } } // OverrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (h *Health) OverrideWith(other Health) { h.ServerAddress = gosettings.OverrideWithComparable(h.ServerAddress, other.ServerAddress) h.TargetAddresses = gosettings.OverrideWithSlice(h.TargetAddresses, other.TargetAddresses) h.ICMPTargetIPs = gosettings.OverrideWithSlice(h.ICMPTargetIPs, other.ICMPTargetIPs) h.SmallCheckType = gosettings.OverrideWithComparable(h.SmallCheckType, other.SmallCheckType) h.RestartVPN = gosettings.OverrideWithPointer(h.RestartVPN, other.RestartVPN) } func (h *Health) SetDefaults() { h.ServerAddress = gosettings.DefaultComparable(h.ServerAddress, "127.0.0.1:9999") h.TargetAddresses = gosettings.DefaultSlice(h.TargetAddresses, []string{"cloudflare.com:443", "github.com:443"}) h.ICMPTargetIPs = gosettings.DefaultSlice(h.ICMPTargetIPs, []netip.Addr{ netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{8, 8, 8, 8}), }) h.SmallCheckType = gosettings.DefaultComparable(h.SmallCheckType, "icmp") h.RestartVPN = gosettings.DefaultPointer(h.RestartVPN, true) } func (h Health) String() string { return h.toLinesNode().String() } func (h Health) toLinesNode() (node *gotree.Node) { node = gotree.New("Health settings:") node.Appendf("Server listening address: %s", h.ServerAddress) targetAddrs := node.Appendf("Target addresses:") for _, targetAddr := range h.TargetAddresses { targetAddrs.Append(targetAddr) } switch h.SmallCheckType { case "icmp": icmpNode := node.Appendf("Small health check type: ICMP echo request") if len(h.ICMPTargetIPs) == 1 && h.ICMPTargetIPs[0].IsUnspecified() { icmpNode.Appendf("ICMP target IP: VPN server IP address") } else { icmpIPs := icmpNode.Appendf("ICMP target IPs:") for _, ip := range h.ICMPTargetIPs { icmpIPs.Append(ip.String()) } } case "dns": node.Appendf("Small health check type: Plain DNS lookup over UDP") } node.Appendf("Restart VPN on healthcheck failure: %s", gosettings.BoolToYesNo(h.RestartVPN)) return node } func (h *Health) Read(r *reader.Reader) (err error) { h.ServerAddress = r.String("HEALTH_SERVER_ADDRESS") h.TargetAddresses = r.CSV("HEALTH_TARGET_ADDRESSES", reader.RetroKeys("HEALTH_ADDRESS_TO_PING", "HEALTH_TARGET_ADDRESS")) h.ICMPTargetIPs, err = r.CSVNetipAddresses("HEALTH_ICMP_TARGET_IPS", reader.RetroKeys("HEALTH_ICMP_TARGET_IP")) if err != nil { return err } h.SmallCheckType = r.String("HEALTH_SMALL_CHECK_TYPE") h.RestartVPN, err = r.BoolPtr("HEALTH_RESTART_VPN") if err != nil { return err } return nil } ================================================ FILE: internal/configuration/settings/helpers/belong.go ================================================ package helpers func IsOneOf[T comparable](value T, choices ...T) (ok bool) { for _, choice := range choices { if value == choice { return true } } return false } ================================================ FILE: internal/configuration/settings/helpers.go ================================================ package settings func ptrTo[T any](value T) *T { return &value } ================================================ FILE: internal/configuration/settings/helpers_test.go ================================================ package settings import gomock "github.com/golang/mock/gomock" type sourceKeyValue struct { key string value string } func newMockSource(ctrl *gomock.Controller, keyValues []sourceKeyValue) *MockSource { source := NewMockSource(ctrl) var previousCall *gomock.Call for _, keyValue := range keyValues { transformedKey := keyValue.key keyTransformCall := source.EXPECT().KeyTransform(keyValue.key).Return(transformedKey) if previousCall != nil { keyTransformCall.After(previousCall) } isSet := keyValue.value != "" previousCall = source.EXPECT().Get(transformedKey). Return(keyValue.value, isSet).After(keyTransformCall) if isSet { previousCall = source.EXPECT().KeyTransform(keyValue.key). Return(transformedKey).After(previousCall) previousCall = source.EXPECT().String(). Return("mock source").After(previousCall) } } return source } ================================================ FILE: internal/configuration/settings/httpproxy.go ================================================ package settings import ( "fmt" "os" "strings" "time" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) // HTTPProxy contains settings to configure the HTTP proxy. type HTTPProxy struct { // User is the username to use for the HTTP proxy. // It cannot be nil in the internal state. User *string // Password is the password to use for the HTTP proxy. // It cannot be nil in the internal state. Password *string // ListeningAddress is the listening address // of the HTTP proxy server. // It cannot be the empty string in the internal state. ListeningAddress string // Enabled is true if the HTTP proxy server should run, // and false otherwise. It cannot be nil in the // internal state. Enabled *bool // Stealth is true if the HTTP proxy server should hide // each request has been proxied to the destination. // It cannot be nil in the internal state. Stealth *bool // Log is true if the HTTP proxy server should log // each request/response. It cannot be nil in the // internal state. Log *bool // ReadHeaderTimeout is the HTTP header read timeout duration // of the HTTP server. It defaults to 1 second if left unset. ReadHeaderTimeout time.Duration // ReadTimeout is the HTTP read timeout duration // of the HTTP server. It defaults to 3 seconds if left unset. ReadTimeout time.Duration } func (h HTTPProxy) validate() (err error) { // Do not validate user and password err = validate.ListeningAddress(h.ListeningAddress, os.Getuid()) if err != nil { return fmt.Errorf("%w: %s", ErrServerAddressNotValid, h.ListeningAddress) } return nil } func (h *HTTPProxy) copy() (copied HTTPProxy) { return HTTPProxy{ User: gosettings.CopyPointer(h.User), Password: gosettings.CopyPointer(h.Password), ListeningAddress: h.ListeningAddress, Enabled: gosettings.CopyPointer(h.Enabled), Stealth: gosettings.CopyPointer(h.Stealth), Log: gosettings.CopyPointer(h.Log), ReadHeaderTimeout: h.ReadHeaderTimeout, ReadTimeout: h.ReadTimeout, } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (h *HTTPProxy) overrideWith(other HTTPProxy) { h.User = gosettings.OverrideWithPointer(h.User, other.User) h.Password = gosettings.OverrideWithPointer(h.Password, other.Password) h.ListeningAddress = gosettings.OverrideWithComparable(h.ListeningAddress, other.ListeningAddress) h.Enabled = gosettings.OverrideWithPointer(h.Enabled, other.Enabled) h.Stealth = gosettings.OverrideWithPointer(h.Stealth, other.Stealth) h.Log = gosettings.OverrideWithPointer(h.Log, other.Log) h.ReadHeaderTimeout = gosettings.OverrideWithComparable(h.ReadHeaderTimeout, other.ReadHeaderTimeout) h.ReadTimeout = gosettings.OverrideWithComparable(h.ReadTimeout, other.ReadTimeout) } func (h *HTTPProxy) setDefaults() { h.User = gosettings.DefaultPointer(h.User, "") h.Password = gosettings.DefaultPointer(h.Password, "") h.ListeningAddress = gosettings.DefaultComparable(h.ListeningAddress, ":8888") h.Enabled = gosettings.DefaultPointer(h.Enabled, false) h.Stealth = gosettings.DefaultPointer(h.Stealth, false) h.Log = gosettings.DefaultPointer(h.Log, false) const defaultReadHeaderTimeout = time.Second h.ReadHeaderTimeout = gosettings.DefaultComparable(h.ReadHeaderTimeout, defaultReadHeaderTimeout) const defaultReadTimeout = 3 * time.Second h.ReadTimeout = gosettings.DefaultComparable(h.ReadTimeout, defaultReadTimeout) } func (h HTTPProxy) String() string { return h.toLinesNode().String() } func (h HTTPProxy) toLinesNode() (node *gotree.Node) { node = gotree.New("HTTP proxy settings:") node.Appendf("Enabled: %s", gosettings.BoolToYesNo(h.Enabled)) if !*h.Enabled { return node } node.Appendf("Listening address: %s", h.ListeningAddress) node.Appendf("User: %s", *h.User) node.Appendf("Password: %s", gosettings.ObfuscateKey(*h.Password)) node.Appendf("Stealth mode: %s", gosettings.BoolToYesNo(h.Stealth)) node.Appendf("Log: %s", gosettings.BoolToYesNo(h.Log)) node.Appendf("Read header timeout: %s", h.ReadHeaderTimeout) node.Appendf("Read timeout: %s", h.ReadTimeout) return node } func (h *HTTPProxy) read(r *reader.Reader) (err error) { h.User = r.Get("HTTPPROXY_USER", reader.RetroKeys("PROXY_USER", "TINYPROXY_USER"), reader.ForceLowercase(false)) h.Password = r.Get("HTTPPROXY_PASSWORD", reader.RetroKeys("PROXY_PASSWORD", "TINYPROXY_PASSWORD"), reader.ForceLowercase(false)) h.ListeningAddress, err = readHTTProxyListeningAddress(r) if err != nil { return err } h.Enabled, err = r.BoolPtr("HTTPPROXY", reader.RetroKeys("PROXY", "TINYPROXY")) if err != nil { return err } h.Stealth, err = r.BoolPtr("HTTPPROXY_STEALTH") if err != nil { return err } h.Log, err = readHTTProxyLog(r) if err != nil { return err } return nil } func readHTTProxyListeningAddress(r *reader.Reader) (listeningAddress string, err error) { // Retro-compatible keys using a port only port, err := r.Uint16Ptr("", reader.RetroKeys("HTTPPROXY_PORT", "TINYPROXY_PORT", "PROXY_PORT"), reader.IsRetro("HTTPPROXY_LISTENING_ADDRESS")) if err != nil { return "", err } else if port != nil { return fmt.Sprintf(":%d", *port), nil } const currentKey = "HTTPPROXY_LISTENING_ADDRESS" return r.String(currentKey), nil } func readHTTProxyLog(r *reader.Reader) (enabled *bool, err error) { const currentKey = "HTTPPROXY_LOG" // Retro-compatible keys using different boolean verbs value := r.String("", reader.RetroKeys("PROXY_LOG", "TINYPROXY_LOG"), reader.IsRetro(currentKey)) switch strings.ToLower(value) { case "": return r.BoolPtr(currentKey) case "on", "info", "connect", "notice": return ptrTo(true), nil case "disabled", "no", "off": return ptrTo(false), nil default: return nil, fmt.Errorf("HTTP retro-compatible proxy log setting: %w: %s", ErrValueUnknown, value) } } ================================================ FILE: internal/configuration/settings/interfaces.go ================================================ package settings type Warner interface { Warn(message string) } ================================================ FILE: internal/configuration/settings/iptables.go ================================================ package settings import ( "fmt" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" "github.com/qdm12/log" ) // Iptables contains settings to customize iptables. type Iptables struct { LogLevel string } func (i Iptables) validate() (err error) { _, err = log.ParseLevel(i.LogLevel) if err != nil { return fmt.Errorf("log level: %w", err) } return nil } func (i *Iptables) copy() (copied Iptables) { return Iptables{ LogLevel: i.LogLevel, } } func (i *Iptables) overrideWith(other Iptables) { i.LogLevel = gosettings.OverrideWithComparable(i.LogLevel, other.LogLevel) } func (i *Iptables) setDefaults(globalLogLevel string) { defaultLevel := globalLogLevel if defaultLevel == log.LevelDebug.String() { // Given iptables debug logger is quite verbose, we only turn it to debug level // if it is explicitly asked to be at debug level; even if the global logger is // at the debug level, we keep iptables at info level by default. defaultLevel = log.LevelInfo.String() } i.LogLevel = gosettings.DefaultComparable(i.LogLevel, defaultLevel) } func (i Iptables) String() string { return i.toLinesNode().String() } func (i Iptables) toLinesNode() (node *gotree.Node) { node = gotree.New("Iptables settings:") node.Appendf("Log level: %s", i.LogLevel) return node } func (i *Iptables) read(r *reader.Reader) (err error) { debugMode, err := r.BoolPtr("FIREWALL_DEBUG", reader.IsRetro("FIREWALL_IPTABLES_LOG_LEVEL")) if err != nil { return err } if debugMode != nil && *debugMode { i.LogLevel = log.LevelDebug.String() } i.LogLevel = r.String("FIREWALL_IPTABLES_LOG_LEVEL") return nil } ================================================ FILE: internal/configuration/settings/log.go ================================================ package settings import ( "fmt" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" "github.com/qdm12/log" ) // Log contains settings to configure the logger. type Log struct { // Level is the log level of the logger. // It cannot be empty in the internal state. Level string } func (l Log) validate() (err error) { _, err = log.ParseLevel(l.Level) if err != nil { return fmt.Errorf("level: %w", err) } return nil } func (l *Log) copy() (copied Log) { return Log{ Level: l.Level, } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (l *Log) overrideWith(other Log) { l.Level = gosettings.OverrideWithComparable(l.Level, other.Level) } func (l *Log) setDefaults() { l.Level = gosettings.DefaultComparable(l.Level, log.LevelInfo.String()) } func (l Log) String() string { return l.toLinesNode().String() } func (l Log) toLinesNode() (node *gotree.Node) { node = gotree.New("Log settings:") node.Appendf("Log level: %s", l.Level) return node } func (l *Log) read(r *reader.Reader) (err error) { l.Level = r.String("LOG_LEVEL") return nil } ================================================ FILE: internal/configuration/settings/mocks_generate_test.go ================================================ package settings //go:generate mockgen -destination=mocks_test.go -package=$GOPACKAGE . Warner //go:generate mockgen -destination=mocks_reader_test.go -package=$GOPACKAGE github.com/qdm12/gosettings/reader Source ================================================ FILE: internal/configuration/settings/mocks_reader_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gosettings/reader (interfaces: Source) // Package settings is a generated GoMock package. package settings import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockSource is a mock of Source interface. type MockSource struct { ctrl *gomock.Controller recorder *MockSourceMockRecorder } // MockSourceMockRecorder is the mock recorder for MockSource. type MockSourceMockRecorder struct { mock *MockSource } // NewMockSource creates a new mock instance. func NewMockSource(ctrl *gomock.Controller) *MockSource { mock := &MockSource{ctrl: ctrl} mock.recorder = &MockSourceMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockSource) EXPECT() *MockSourceMockRecorder { return m.recorder } // Get mocks base method. func (m *MockSource) Get(arg0 string) (string, bool) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Get", arg0) ret0, _ := ret[0].(string) ret1, _ := ret[1].(bool) return ret0, ret1 } // Get indicates an expected call of Get. func (mr *MockSourceMockRecorder) Get(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockSource)(nil).Get), arg0) } // KeyTransform mocks base method. func (m *MockSource) KeyTransform(arg0 string) string { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "KeyTransform", arg0) ret0, _ := ret[0].(string) return ret0 } // KeyTransform indicates an expected call of KeyTransform. func (mr *MockSourceMockRecorder) KeyTransform(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KeyTransform", reflect.TypeOf((*MockSource)(nil).KeyTransform), arg0) } // String mocks base method. func (m *MockSource) String() string { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "String") ret0, _ := ret[0].(string) return ret0 } // String indicates an expected call of String. func (mr *MockSourceMockRecorder) String() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "String", reflect.TypeOf((*MockSource)(nil).String)) } ================================================ FILE: internal/configuration/settings/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/configuration/settings (interfaces: Warner) // Package settings is a generated GoMock package. package settings import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockWarner is a mock of Warner interface. type MockWarner struct { ctrl *gomock.Controller recorder *MockWarnerMockRecorder } // MockWarnerMockRecorder is the mock recorder for MockWarner. type MockWarnerMockRecorder struct { mock *MockWarner } // NewMockWarner creates a new mock instance. func NewMockWarner(ctrl *gomock.Controller) *MockWarner { mock := &MockWarner{ctrl: ctrl} mock.recorder = &MockWarnerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockWarner) EXPECT() *MockWarnerMockRecorder { return m.recorder } // Warn mocks base method. func (m *MockWarner) Warn(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Warn", arg0) } // Warn indicates an expected call of Warn. func (mr *MockWarnerMockRecorder) Warn(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warn", reflect.TypeOf((*MockWarner)(nil).Warn), arg0) } ================================================ FILE: internal/configuration/settings/nordvpn_retro.go ================================================ package settings // Retro-compatibility because SERVER_REGIONS changed to SERVER_COUNTRIES // and SERVER_REGIONS is now the continent field for servers. // TODO v4 remove. func nordvpnRetroRegion(selection ServerSelection, validRegions, validCountries []string) ( updatedSelection ServerSelection, ) { validRegionsMap := stringSliceToMap(validRegions) validCountriesMap := stringSliceToMap(validCountries) updatedSelection = selection.copy() updatedSelection.Regions = make([]string, 0, len(selection.Regions)) for _, region := range selection.Regions { _, isValid := validRegionsMap[region] if isValid { updatedSelection.Regions = append(updatedSelection.Regions, region) continue } _, isValid = validCountriesMap[region] if !isValid { // Region is not valid for the country or region // just leave it to the validation to fail it later continue } // Region is not valid for a region, but is a valid country // Handle retro-compatibility and transfer the value to the // country field. updatedSelection.Countries = append(updatedSelection.Countries, region) } return updatedSelection } func stringSliceToMap(slice []string) (m map[string]struct{}) { m = make(map[string]struct{}, len(slice)) for _, s := range slice { m[s] = struct{}{} } return m } ================================================ FILE: internal/configuration/settings/openvpn.go ================================================ package settings import ( "encoding/base64" "fmt" "regexp" "strings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/openvpn/extract" "github.com/qdm12/gluetun/internal/provider/privateinternetaccess/presets" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) // OpenVPN contains settings to configure the OpenVPN client. type OpenVPN struct { // Version is the OpenVPN version to run. // It can only be "2.5" or "2.6". Version string `json:"version"` // User is the OpenVPN authentication username. // It cannot be nil in the internal state if OpenVPN is used. // It is usually required but in some cases can be the empty string // to indicate no user+password authentication is needed. User *string `json:"user"` // Password is the OpenVPN authentication password. // It cannot be nil in the internal state if OpenVPN is used. // It is usually required but in some cases can be the empty string // to indicate no user+password authentication is needed. Password *string `json:"password"` // ConfFile is a custom OpenVPN configuration file path. // It can be set to the empty string for it to be ignored. // It cannot be nil in the internal state. ConfFile *string `json:"config_file_path"` // Ciphers is a list of ciphers to use for OpenVPN, // different from the ones specified by the VPN // service provider configuration files. Ciphers []string `json:"ciphers"` // Auth is an auth algorithm to use in OpenVPN instead // of the one specified by the VPN service provider. // It cannot be nil in the internal state. // It is ignored if it is set to the empty string. Auth *string `json:"auth"` // Cert is the base64 encoded DER of an OpenVPN certificate for the block. // This is notably used by Cyberghost and VPN secure. // It can be set to the empty string to be ignored. // It cannot be nil in the internal state. Cert *string `json:"cert"` // Key is the base64 encoded DER of an OpenVPN key. // This is used by Cyberghost and VPN Unlimited. // It can be set to the empty string to be ignored. // It cannot be nil in the internal state. Key *string `json:"key"` // EncryptedKey is the base64 encoded DER of an encrypted key for OpenVPN. // It is used by VPN secure. // It defaults to the empty string meaning it is not // to be used. KeyPassphrase must be set if this one is set. EncryptedKey *string `json:"encrypted_key"` // KeyPassphrase is the key passphrase to be used by OpenVPN // to decrypt the EncryptedPrivateKey. It defaults to the // empty string and must be set if EncryptedPrivateKey is set. KeyPassphrase *string `json:"key_passphrase"` // PIAEncPreset is the encryption preset for // Private Internet Access. It can be set to an // empty string for other providers. PIAEncPreset *string `json:"pia_encryption_preset"` // MSSFix is the value (1 to 10000) to set for the // mssfix option for OpenVPN. It is ignored if set to 0. // It cannot be nil in the internal state. MSSFix *uint16 `json:"mssfix"` // Interface is the OpenVPN device interface name. // It cannot be an empty string in the internal state. Interface string `json:"interface"` // ProcessUser is the OpenVPN process OS username // to use. It cannot be empty in the internal state. // It defaults to 'root'. ProcessUser string `json:"process_user"` // Verbosity is the OpenVPN verbosity level from 0 to 6. // It cannot be nil in the internal state. Verbosity *int `json:"verbosity"` // Flags is a slice of additional flags to be passed // to the OpenVPN program. Flags []string `json:"flags"` } var ivpnAccountID = regexp.MustCompile(`^(i|ivpn)\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{4}\-[a-zA-Z0-9]{4}$`) func (o OpenVPN) validate(vpnProvider string) (err error) { // Validate version validVersions := []string{openvpn.Openvpn25, openvpn.Openvpn26} if err = validate.IsOneOf(o.Version, validVersions...); err != nil { return fmt.Errorf("%w: %w", ErrOpenVPNVersionIsNotValid, err) } isCustom := vpnProvider == providers.Custom isUserRequired := !isCustom && vpnProvider != providers.Airvpn && vpnProvider != providers.VPNSecure if isUserRequired && *o.User == "" { return fmt.Errorf("%w", ErrOpenVPNUserIsEmpty) } passwordRequired := isUserRequired && (vpnProvider != providers.Ivpn || !ivpnAccountID.MatchString(*o.User)) if passwordRequired && *o.Password == "" { return fmt.Errorf("%w", ErrOpenVPNPasswordIsEmpty) } err = validateOpenVPNConfigFilepath(isCustom, *o.ConfFile) if err != nil { return fmt.Errorf("custom configuration file: %w", err) } err = validateOpenVPNClientCertificate(vpnProvider, *o.Cert) if err != nil { return fmt.Errorf("client certificate: %w", err) } err = validateOpenVPNClientKey(vpnProvider, *o.Key) if err != nil { return fmt.Errorf("client key: %w", err) } err = validateOpenVPNEncryptedKey(vpnProvider, *o.EncryptedKey) if err != nil { return fmt.Errorf("encrypted key: %w", err) } if *o.EncryptedKey != "" && *o.KeyPassphrase == "" { return fmt.Errorf("%w", ErrOpenVPNKeyPassphraseIsEmpty) } const maxMSSFix = 10000 if *o.MSSFix > maxMSSFix { return fmt.Errorf("%w: %d is over the maximum value of %d", ErrOpenVPNMSSFixIsTooHigh, *o.MSSFix, maxMSSFix) } if !regexpInterfaceName.MatchString(o.Interface) { return fmt.Errorf("%w: '%s' does not match regex '%s'", ErrOpenVPNInterfaceNotValid, o.Interface, regexpInterfaceName) } if *o.Verbosity < 0 || *o.Verbosity > 6 { return fmt.Errorf("%w: %d can only be between 0 and 5", ErrOpenVPNVerbosityIsOutOfBounds, o.Verbosity) } return nil } func validateOpenVPNConfigFilepath(isCustom bool, confFile string, ) (err error) { if !isCustom { return nil } if confFile == "" { return fmt.Errorf("%w", ErrFilepathMissing) } err = validate.FileExists(confFile) if err != nil { return err } extractor := extract.New() _, _, err = extractor.Data(confFile) if err != nil { return fmt.Errorf("extracting information from custom configuration file: %w", err) } return nil } func validateOpenVPNClientCertificate(vpnProvider, clientCert string, ) (err error) { switch vpnProvider { case providers.Airvpn, providers.Cyberghost, providers.VPNSecure, providers.VPNUnlimited: if clientCert == "" { return fmt.Errorf("%w", ErrMissingValue) } } if clientCert == "" { return nil } _, err = base64.StdEncoding.DecodeString(clientCert) if err != nil { return err } return nil } func validateOpenVPNClientKey(vpnProvider, clientKey string) (err error) { switch vpnProvider { case providers.Airvpn, providers.Cyberghost, providers.VPNUnlimited: if clientKey == "" { return fmt.Errorf("%w", ErrMissingValue) } } if clientKey == "" { return nil } _, err = base64.StdEncoding.DecodeString(clientKey) if err != nil { return err } return nil } func validateOpenVPNEncryptedKey(vpnProvider, encryptedPrivateKey string, ) (err error) { if vpnProvider == providers.VPNSecure && encryptedPrivateKey == "" { return fmt.Errorf("%w", ErrMissingValue) } if encryptedPrivateKey == "" { return nil } _, err = base64.StdEncoding.DecodeString(encryptedPrivateKey) if err != nil { return err } return nil } func (o *OpenVPN) copy() (copied OpenVPN) { return OpenVPN{ Version: o.Version, User: gosettings.CopyPointer(o.User), Password: gosettings.CopyPointer(o.Password), ConfFile: gosettings.CopyPointer(o.ConfFile), Ciphers: gosettings.CopySlice(o.Ciphers), Auth: gosettings.CopyPointer(o.Auth), Cert: gosettings.CopyPointer(o.Cert), Key: gosettings.CopyPointer(o.Key), EncryptedKey: gosettings.CopyPointer(o.EncryptedKey), KeyPassphrase: gosettings.CopyPointer(o.KeyPassphrase), PIAEncPreset: gosettings.CopyPointer(o.PIAEncPreset), MSSFix: gosettings.CopyPointer(o.MSSFix), Interface: o.Interface, ProcessUser: o.ProcessUser, Verbosity: gosettings.CopyPointer(o.Verbosity), Flags: gosettings.CopySlice(o.Flags), } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (o *OpenVPN) overrideWith(other OpenVPN) { o.Version = gosettings.OverrideWithComparable(o.Version, other.Version) o.User = gosettings.OverrideWithPointer(o.User, other.User) o.Password = gosettings.OverrideWithPointer(o.Password, other.Password) o.ConfFile = gosettings.OverrideWithPointer(o.ConfFile, other.ConfFile) o.Ciphers = gosettings.OverrideWithSlice(o.Ciphers, other.Ciphers) o.Auth = gosettings.OverrideWithPointer(o.Auth, other.Auth) o.Cert = gosettings.OverrideWithPointer(o.Cert, other.Cert) o.Key = gosettings.OverrideWithPointer(o.Key, other.Key) o.EncryptedKey = gosettings.OverrideWithPointer(o.EncryptedKey, other.EncryptedKey) o.KeyPassphrase = gosettings.OverrideWithPointer(o.KeyPassphrase, other.KeyPassphrase) o.PIAEncPreset = gosettings.OverrideWithPointer(o.PIAEncPreset, other.PIAEncPreset) o.MSSFix = gosettings.OverrideWithPointer(o.MSSFix, other.MSSFix) o.Interface = gosettings.OverrideWithComparable(o.Interface, other.Interface) o.ProcessUser = gosettings.OverrideWithComparable(o.ProcessUser, other.ProcessUser) o.Verbosity = gosettings.OverrideWithPointer(o.Verbosity, other.Verbosity) o.Flags = gosettings.OverrideWithSlice(o.Flags, other.Flags) } func (o *OpenVPN) setDefaults(vpnProvider string) { o.Version = gosettings.DefaultComparable(o.Version, openvpn.Openvpn26) o.User = gosettings.DefaultPointer(o.User, "") if vpnProvider == providers.Mullvad { o.Password = gosettings.DefaultPointer(o.Password, "m") } else { o.Password = gosettings.DefaultPointer(o.Password, "") } o.ConfFile = gosettings.DefaultPointer(o.ConfFile, "") o.Auth = gosettings.DefaultPointer(o.Auth, "") o.Cert = gosettings.DefaultPointer(o.Cert, "") o.Key = gosettings.DefaultPointer(o.Key, "") o.EncryptedKey = gosettings.DefaultPointer(o.EncryptedKey, "") o.KeyPassphrase = gosettings.DefaultPointer(o.KeyPassphrase, "") var defaultEncPreset string if vpnProvider == providers.PrivateInternetAccess { defaultEncPreset = presets.Strong } o.PIAEncPreset = gosettings.DefaultPointer(o.PIAEncPreset, defaultEncPreset) o.MSSFix = gosettings.DefaultPointer(o.MSSFix, 0) o.Interface = gosettings.DefaultComparable(o.Interface, "tun0") o.ProcessUser = gosettings.DefaultComparable(o.ProcessUser, "root") o.Verbosity = gosettings.DefaultPointer(o.Verbosity, 1) } func (o OpenVPN) String() string { return o.toLinesNode().String() } func (o OpenVPN) toLinesNode() (node *gotree.Node) { node = gotree.New("OpenVPN settings:") node.Appendf("OpenVPN version: %s", o.Version) node.Appendf("User: %s", gosettings.ObfuscateKey(*o.User)) node.Appendf("Password: %s", gosettings.ObfuscateKey(*o.Password)) if *o.ConfFile != "" { node.Appendf("Custom configuration file: %s", *o.ConfFile) } if len(o.Ciphers) > 0 { node.Appendf("Ciphers: %s", o.Ciphers) } if *o.Auth != "" { node.Appendf("Auth: %s", *o.Auth) } if *o.Cert != "" { node.Appendf("Client crt: %s", gosettings.ObfuscateKey(*o.Cert)) } if *o.Key != "" { node.Appendf("Client key: %s", gosettings.ObfuscateKey(*o.Key)) } if *o.EncryptedKey != "" { node.Appendf("Encrypted key: %s (key passhrapse %s)", gosettings.ObfuscateKey(*o.EncryptedKey), gosettings.ObfuscateKey(*o.KeyPassphrase)) } if *o.PIAEncPreset != "" { node.Appendf("Private Internet Access encryption preset: %s", *o.PIAEncPreset) } if *o.MSSFix > 0 { node.Appendf("MSS Fix: %d", *o.MSSFix) } if o.Interface != "" { node.Appendf("Network interface: %s", o.Interface) } node.Appendf("Run OpenVPN as: %s", o.ProcessUser) node.Appendf("Verbosity level: %d", *o.Verbosity) if len(o.Flags) > 0 { node.Appendf("Flags: %s", o.Flags) } return node } // WithDefaults is a shorthand using setDefaults. // It's used in unit tests in other packages. func (o OpenVPN) WithDefaults(provider string) OpenVPN { o.setDefaults(provider) return o } func (o *OpenVPN) read(r *reader.Reader) (err error) { o.Version = r.String("OPENVPN_VERSION") o.User = r.Get("OPENVPN_USER", reader.RetroKeys("USER"), reader.ForceLowercase(false)) o.Password = r.Get("OPENVPN_PASSWORD", reader.RetroKeys("PASSWORD"), reader.ForceLowercase(false)) o.ConfFile = r.Get("OPENVPN_CUSTOM_CONFIG", reader.ForceLowercase(false)) o.Ciphers = r.CSV("OPENVPN_CIPHERS", reader.RetroKeys("OPENVPN_CIPHER")) o.Auth = r.Get("OPENVPN_AUTH") o.Cert = r.Get("OPENVPN_CERT", reader.ForceLowercase(false)) o.Key = r.Get("OPENVPN_KEY", reader.ForceLowercase(false)) o.EncryptedKey = r.Get("OPENVPN_ENCRYPTED_KEY", reader.ForceLowercase(false)) o.KeyPassphrase = r.Get("OPENVPN_KEY_PASSPHRASE", reader.ForceLowercase(false)) o.PIAEncPreset = r.Get("PRIVATE_INTERNET_ACCESS_OPENVPN_ENCRYPTION_PRESET", reader.RetroKeys("ENCRYPTION", "PIA_ENCRYPTION")) o.MSSFix, err = r.Uint16Ptr("OPENVPN_MSSFIX") if err != nil { return err } o.Interface = r.String("VPN_INTERFACE", reader.RetroKeys("OPENVPN_INTERFACE"), reader.ForceLowercase(false)) o.ProcessUser, err = readOpenVPNProcessUser(r) if err != nil { return err } o.Verbosity, err = r.IntPtr("OPENVPN_VERBOSITY") if err != nil { return err } flagsPtr := r.Get("OPENVPN_FLAGS", reader.ForceLowercase(false)) if flagsPtr != nil { o.Flags = strings.Fields(*flagsPtr) } return nil } func readOpenVPNProcessUser(r *reader.Reader) (processUser string, err error) { value, err := r.BoolPtr("OPENVPN_ROOT") // Retro-compatibility if err != nil { return "", err } else if value != nil { if *value { return "root", nil } const defaultNonRootUser = "nonrootuser" return defaultNonRootUser, nil } return r.String("OPENVPN_PROCESS_USER"), nil } ================================================ FILE: internal/configuration/settings/openvpn_test.go ================================================ package settings import ( "testing" "github.com/stretchr/testify/assert" ) func Test_ivpnAccountID(t *testing.T) { t.Parallel() testCases := []struct { s string match bool }{ {}, {s: "abc"}, {s: "i"}, {s: "ivpn"}, {s: "ivpn-aaaa"}, {s: "ivpn-aaaa-aaaa"}, {s: "ivpn-aaaa-aaaa-aaa"}, {s: "ivpn-aaaa-aaaa-aaaa", match: true}, {s: "ivpn-aaaa-aaaa-aaaaa"}, {s: "ivpn-a6B7-fP91-Zh6Y", match: true}, {s: "i-aaaa"}, {s: "i-aaaa-aaaa"}, {s: "i-aaaa-aaaa-aaa"}, {s: "i-aaaa-aaaa-aaaa", match: true}, {s: "i-aaaa-aaaa-aaaaa"}, {s: "i-a6B7-fP91-Zh6Y", match: true}, } for _, testCase := range testCases { t.Run(testCase.s, func(t *testing.T) { t.Parallel() match := ivpnAccountID.MatchString(testCase.s) assert.Equal(t, testCase.match, match) }) } } ================================================ FILE: internal/configuration/settings/openvpnselection.go ================================================ package settings import ( "fmt" "net/netip" "strings" "github.com/qdm12/gluetun/internal/configuration/settings/helpers" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/privateinternetaccess/presets" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) type OpenVPNSelection struct { // ConfFile is the custom configuration file path. // It can be set to an empty string to indicate to // NOT use a custom configuration file. // It cannot be nil in the internal state. ConfFile *string `json:"config_file_path"` // Protocol is the OpenVPN network protocol to use, // and can be udp or tcp. It cannot be the empty string // in the internal state. Protocol string `json:"protocol"` // EndpointIP is the server endpoint IP address. // If set, it overrides any IP address from the picked // built-in server connection. To indicate it should // not be used, it should be set to [netip.IPv4Unspecified]. // It can never be the zero value in the internal state. EndpointIP netip.Addr `json:"endpoint_ip"` // CustomPort is the OpenVPN server endpoint port. // It can be set to 0 to indicate no custom port should // be used. It cannot be nil in the internal state. CustomPort *uint16 `json:"custom_port"` // PIAEncPreset is the encryption preset for // Private Internet Access. It can be set to an // empty string for other providers. PIAEncPreset *string `json:"pia_encryption_preset"` } func (o OpenVPNSelection) validate(vpnProvider string) (err error) { // Validate ConfFile if confFile := *o.ConfFile; confFile != "" { err := validate.FileExists(confFile) if err != nil { return fmt.Errorf("configuration file: %w", err) } } err = validate.IsOneOf(o.Protocol, constants.UDP, constants.TCP) if err != nil { return fmt.Errorf("network protocol: %w", err) } // Validate TCP if o.Protocol == constants.TCP && helpers.IsOneOf(vpnProvider, providers.Giganews, providers.Ipvanish, providers.Perfectprivacy, providers.Vyprvpn, ) { return fmt.Errorf("%w: for VPN service provider %s", ErrOpenVPNTCPNotSupported, vpnProvider) } // Validate CustomPort if *o.CustomPort != 0 { switch vpnProvider { // no restriction on port case providers.Custom, providers.Cyberghost, providers.HideMyAss, providers.Privatevpn, providers.Torguard: // no custom port allowed case providers.Expressvpn, providers.Fastestvpn, providers.Giganews, providers.Ipvanish, providers.Nordvpn, providers.Purevpn, providers.Surfshark, providers.VPNSecure, providers.VPNUnlimited, providers.Vyprvpn: return fmt.Errorf("%w: for VPN service provider %s", ErrOpenVPNCustomPortNotAllowed, vpnProvider) default: var allowedTCP, allowedUDP []uint16 switch vpnProvider { case providers.Airvpn: allowedTCP = []uint16{ 53, 80, 443, // IP in 1, 3 1194, 2018, 41185, // IP in 1, 2, 3, 4 } allowedUDP = []uint16{53, 80, 443, 1194, 2018, 41185} case providers.Ivpn: allowedTCP = []uint16{80, 443, 1143} allowedUDP = []uint16{53, 1194, 2049, 2050} case providers.Mullvad: allowedTCP = []uint16{80, 443, 1401} allowedUDP = []uint16{53, 1194, 1195, 1196, 1197, 1300, 1301, 1302, 1303, 1400} case providers.Perfectprivacy: allowedTCP = []uint16{44, 443, 4433} allowedUDP = []uint16{44, 443, 4433} case providers.Privado: allowedTCP = []uint16{443, 1194, 8080, 8443} allowedUDP = []uint16{443, 1194, 8080, 8443} case providers.PrivateInternetAccess: allowedTCP = []uint16{80, 110, 443} allowedUDP = []uint16{53, 1194, 1197, 1198, 8080, 9201} case providers.Protonvpn: allowedTCP = []uint16{443, 5995, 8443} allowedUDP = []uint16{80, 443, 1194, 4569, 5060, 51820} case providers.SlickVPN: allowedTCP = []uint16{443, 8080, 8888} allowedUDP = []uint16{443, 8080, 8888} case providers.Windscribe: allowedTCP = []uint16{21, 22, 80, 123, 143, 443, 587, 1194, 3306, 8080, 54783} allowedUDP = []uint16{53, 80, 123, 443, 1194, 54783} default: panic(fmt.Sprintf("VPN provider %s has no registered allowed ports", vpnProvider)) } allowedPorts := allowedUDP if o.Protocol == constants.TCP { allowedPorts = allowedTCP } err = validate.IsOneOf(*o.CustomPort, allowedPorts...) if err != nil { return fmt.Errorf("%w: for VPN service provider %s: %w", ErrOpenVPNCustomPortNotAllowed, vpnProvider, err) } } } // Validate EncPreset if vpnProvider == providers.PrivateInternetAccess { validEncryptionPresets := []string{ presets.None, presets.Normal, presets.Strong, } if err = validate.IsOneOf(*o.PIAEncPreset, validEncryptionPresets...); err != nil { return fmt.Errorf("%w: %w", ErrOpenVPNEncryptionPresetNotValid, err) } } return nil } func (o *OpenVPNSelection) copy() (copied OpenVPNSelection) { return OpenVPNSelection{ ConfFile: gosettings.CopyPointer(o.ConfFile), Protocol: o.Protocol, EndpointIP: o.EndpointIP, CustomPort: gosettings.CopyPointer(o.CustomPort), PIAEncPreset: gosettings.CopyPointer(o.PIAEncPreset), } } func (o *OpenVPNSelection) overrideWith(other OpenVPNSelection) { o.ConfFile = gosettings.OverrideWithPointer(o.ConfFile, other.ConfFile) o.Protocol = gosettings.OverrideWithComparable(o.Protocol, other.Protocol) o.CustomPort = gosettings.OverrideWithPointer(o.CustomPort, other.CustomPort) o.EndpointIP = gosettings.OverrideWithValidator(o.EndpointIP, other.EndpointIP) o.PIAEncPreset = gosettings.OverrideWithPointer(o.PIAEncPreset, other.PIAEncPreset) } func (o *OpenVPNSelection) setDefaults(vpnProvider string) { o.ConfFile = gosettings.DefaultPointer(o.ConfFile, "") o.Protocol = gosettings.DefaultComparable(o.Protocol, constants.UDP) o.EndpointIP = gosettings.DefaultValidator(o.EndpointIP, netip.IPv4Unspecified()) o.CustomPort = gosettings.DefaultPointer(o.CustomPort, 0) var defaultEncPreset string if vpnProvider == providers.PrivateInternetAccess { defaultEncPreset = presets.Strong } o.PIAEncPreset = gosettings.DefaultPointer(o.PIAEncPreset, defaultEncPreset) } func (o OpenVPNSelection) String() string { return o.toLinesNode().String() } func (o OpenVPNSelection) toLinesNode() (node *gotree.Node) { node = gotree.New("OpenVPN server selection settings:") node.Appendf("Protocol: %s", strings.ToUpper(o.Protocol)) if !o.EndpointIP.IsUnspecified() { node.Appendf("Endpoint IP address: %s", o.EndpointIP) } if *o.CustomPort != 0 { node.Appendf("Custom port: %d", *o.CustomPort) } if *o.PIAEncPreset != "" { node.Appendf("Private Internet Access encryption preset: %s", *o.PIAEncPreset) } if *o.ConfFile != "" { node.Appendf("Custom configuration file: %s", *o.ConfFile) } return node } func (o *OpenVPNSelection) read(r *reader.Reader) (err error) { o.ConfFile = r.Get("OPENVPN_CUSTOM_CONFIG", reader.ForceLowercase(false)) o.Protocol = r.String("OPENVPN_PROTOCOL", reader.RetroKeys("PROTOCOL")) o.EndpointIP, err = r.NetipAddr("OPENVPN_ENDPOINT_IP", reader.RetroKeys("OPENVPN_TARGET_IP", "VPN_ENDPOINT_IP")) if err != nil { return err } o.CustomPort, err = r.Uint16Ptr("OPENVPN_ENDPOINT_PORT", reader.RetroKeys("PORT", "OPENVPN_PORT", "VPN_ENDPOINT_PORT")) if err != nil { return err } o.PIAEncPreset = r.Get("PRIVATE_INTERNET_ACCESS_OPENVPN_ENCRYPTION_PRESET", reader.RetroKeys("ENCRYPTION", "PIA_ENCRYPTION")) return nil } ================================================ FILE: internal/configuration/settings/pmtud.go ================================================ package settings import ( "errors" "fmt" "net/netip" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // PMTUD contains settings to configure Path MTU Discovery. type PMTUD struct { // ICMPAddresses is the redundancy list of addresses to use // for ICMP path MTU discovery. Each address MUST handle ICMP // packets for PMTUD to work. // It cannot be nil in the internal state. ICMPAddresses []netip.Addr `json:"icmp_addresses"` // TCPAddresses is the redundancy list of addresses to use // for TCP path MTU discovery. Each address MUST have a listening // TCP server on the port specified. // It cannot be nil in the internal state. TCPAddresses []netip.AddrPort `json:"tcp_addresses"` } var ( ErrPMTUDICMPAddressNotValid = errors.New("PMTUD ICMP address is not valid") ErrPMTUDTCPAddressNotValid = errors.New("PMTUD TCP address is not valid") ) // Validate validates PMTUD settings. func (p PMTUD) validate() (err error) { for i, addr := range p.ICMPAddresses { if !addr.IsValid() { return fmt.Errorf("%w: at index %d", ErrPMTUDICMPAddressNotValid, i) } } for i, addr := range p.TCPAddresses { if !addr.IsValid() { return fmt.Errorf("%w: at index %d", ErrPMTUDTCPAddressNotValid, i) } } return nil } func (p *PMTUD) copy() (copied PMTUD) { return PMTUD{ ICMPAddresses: gosettings.CopySlice(p.ICMPAddresses), TCPAddresses: gosettings.CopySlice(p.TCPAddresses), } } func (p *PMTUD) overrideWith(other PMTUD) { p.ICMPAddresses = gosettings.OverrideWithSlice(p.ICMPAddresses, other.ICMPAddresses) p.TCPAddresses = gosettings.OverrideWithSlice(p.TCPAddresses, other.TCPAddresses) } func (p *PMTUD) setDefaults() { defaultICMPAddresses := []netip.Addr{ netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{8, 8, 8, 8}), } p.ICMPAddresses = gosettings.DefaultSlice(p.ICMPAddresses, defaultICMPAddresses) const dnsPort, tlsPort = 53, 443 defaultTCPAddresses := []netip.AddrPort{ netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), dnsPort), netip.AddrPortFrom(netip.AddrFrom4([4]byte{8, 8, 8, 8}), dnsPort), netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), tlsPort), netip.AddrPortFrom(netip.AddrFrom4([4]byte{8, 8, 8, 8}), tlsPort), netip.AddrPortFrom(netip.MustParseAddr("2606:4700:4700::1111"), dnsPort), netip.AddrPortFrom(netip.MustParseAddr("2001:4860:4860::8888"), dnsPort), netip.AddrPortFrom(netip.MustParseAddr("2606:4700:4700::1111"), tlsPort), netip.AddrPortFrom(netip.MustParseAddr("2001:4860:4860::8888"), tlsPort), } p.TCPAddresses = gosettings.DefaultSlice(p.TCPAddresses, defaultTCPAddresses) } func (p PMTUD) String() string { return p.toLinesNode().String() } func (p PMTUD) toLinesNode() (node *gotree.Node) { node = gotree.New("Path MTU discovery:") icmpAddrNode := node.Append("ICMP addresses:") for _, addr := range p.ICMPAddresses { icmpAddrNode.Append(addr.String()) } tcpAddrNode := node.Append("TCP addresses:") for _, addr := range p.TCPAddresses { tcpAddrNode.Append(addr.String()) } return node } func (p *PMTUD) read(r *reader.Reader) (err error) { p.ICMPAddresses, err = r.CSVNetipAddresses("PMTUD_ICMP_ADDRESSES") if err != nil { return err } p.TCPAddresses, err = r.CSVNetipAddrPorts("PMTUD_TCP_ADDRESSES") if err != nil { return err } return nil } ================================================ FILE: internal/configuration/settings/portforward.go ================================================ package settings import ( "fmt" "path/filepath" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) // PortForwarding contains settings for port forwarding. type PortForwarding struct { // Enabled is true if port forwarding should be activated. // It cannot be nil for the internal state. Enabled *bool `json:"enabled"` // Provider is set to specify which custom port forwarding code // should be used. This is especially necessary for the custom // provider using Wireguard for a provider where Wireguard is not // natively supported but custom port forwarding code is available. // It defaults to the empty string, meaning the current provider // should be the one used for port forwarding. // It cannot be nil for the internal state. Provider *string `json:"provider"` // Filepath is the port forwarding status file path // to use. It can be the empty string to indicate not // to write to a file. It cannot be nil for the // internal state Filepath *string `json:"status_file_path"` // UpCommand is the command to use when the port forwarding is up. // It can be the empty string to indicate not to run a command. // It cannot be nil in the internal state. UpCommand *string `json:"up_command"` // DownCommand is the command to use after the port forwarding goes down. // It can be the empty string to indicate to NOT run a command. // It cannot be nil in the internal state. DownCommand *string `json:"down_command"` // ListeningPort is the port traffic would be redirected to from the // forwarded port. The redirection is disabled if it is set to 0, which // is its default as well. ListeningPort *uint16 `json:"listening_port"` // Username is only used for Private Internet Access port forwarding. Username string `json:"username"` // Password is only used for Private Internet Access port forwarding. Password string `json:"password"` } func (p PortForwarding) Validate(vpnProvider string) (err error) { if !*p.Enabled { return nil } // Validate current provider or custom provider specified providerSelected := vpnProvider if *p.Provider != "" { providerSelected = *p.Provider } validProviders := []string{ providers.Perfectprivacy, providers.PrivateInternetAccess, providers.Privatevpn, providers.Protonvpn, } if err = validate.IsOneOf(providerSelected, validProviders...); err != nil { return fmt.Errorf("%w: %w", ErrPortForwardingEnabled, err) } // Validate Filepath if *p.Filepath != "" { // optional _, err := filepath.Abs(*p.Filepath) if err != nil { return fmt.Errorf("filepath is not valid: %w", err) } } if providerSelected == providers.PrivateInternetAccess { switch { case p.Username == "": return fmt.Errorf("%w", ErrPortForwardingUserEmpty) case p.Password == "": return fmt.Errorf("%w", ErrPortForwardingPasswordEmpty) } } return nil } func (p *PortForwarding) Copy() (copied PortForwarding) { return PortForwarding{ Enabled: gosettings.CopyPointer(p.Enabled), Provider: gosettings.CopyPointer(p.Provider), Filepath: gosettings.CopyPointer(p.Filepath), UpCommand: gosettings.CopyPointer(p.UpCommand), DownCommand: gosettings.CopyPointer(p.DownCommand), ListeningPort: gosettings.CopyPointer(p.ListeningPort), Username: p.Username, Password: p.Password, } } func (p *PortForwarding) OverrideWith(other PortForwarding) { p.Enabled = gosettings.OverrideWithPointer(p.Enabled, other.Enabled) p.Provider = gosettings.OverrideWithPointer(p.Provider, other.Provider) p.Filepath = gosettings.OverrideWithPointer(p.Filepath, other.Filepath) p.UpCommand = gosettings.OverrideWithPointer(p.UpCommand, other.UpCommand) p.DownCommand = gosettings.OverrideWithPointer(p.DownCommand, other.DownCommand) p.ListeningPort = gosettings.OverrideWithPointer(p.ListeningPort, other.ListeningPort) p.Username = gosettings.OverrideWithComparable(p.Username, other.Username) p.Password = gosettings.OverrideWithComparable(p.Password, other.Password) } func (p *PortForwarding) setDefaults() { p.Enabled = gosettings.DefaultPointer(p.Enabled, false) p.Provider = gosettings.DefaultPointer(p.Provider, "") p.Filepath = gosettings.DefaultPointer(p.Filepath, "/tmp/gluetun/forwarded_port") p.UpCommand = gosettings.DefaultPointer(p.UpCommand, "") p.DownCommand = gosettings.DefaultPointer(p.DownCommand, "") p.ListeningPort = gosettings.DefaultPointer(p.ListeningPort, 0) } func (p PortForwarding) String() string { return p.toLinesNode().String() } func (p PortForwarding) toLinesNode() (node *gotree.Node) { if !*p.Enabled { return nil } node = gotree.New("Automatic port forwarding settings:") listeningPort := "disabled" if *p.ListeningPort != 0 { listeningPort = fmt.Sprintf("%d", *p.ListeningPort) } node.Appendf("Redirection listening port: %s", listeningPort) if *p.Provider == "" { node.Appendf("Use port forwarding code for current provider") } else { node.Appendf("Use code for provider: %s", *p.Provider) } filepath := *p.Filepath if filepath == "" { filepath = "[not set]" } node.Appendf("Forwarded port file path: %s", filepath) if *p.UpCommand != "" { node.Appendf("Forwarded port up command: %s", *p.UpCommand) } if *p.DownCommand != "" { node.Appendf("Forwarded port down command: %s", *p.DownCommand) } if p.Username != "" { credentialsNode := node.Appendf("Credentials:") credentialsNode.Appendf("Username: %s", p.Username) credentialsNode.Appendf("Password: %s", gosettings.ObfuscateKey(p.Password)) } return node } func (p *PortForwarding) read(r *reader.Reader) (err error) { p.Enabled, err = r.BoolPtr("VPN_PORT_FORWARDING", reader.RetroKeys( "PORT_FORWARDING", "PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING", )) if err != nil { return err } p.Provider = r.Get("VPN_PORT_FORWARDING_PROVIDER") p.Filepath = r.Get("VPN_PORT_FORWARDING_STATUS_FILE", reader.ForceLowercase(false), reader.RetroKeys( "PORT_FORWARDING_STATUS_FILE", "PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING_STATUS_FILE", )) p.UpCommand = r.Get("VPN_PORT_FORWARDING_UP_COMMAND", reader.ForceLowercase(false)) p.DownCommand = r.Get("VPN_PORT_FORWARDING_DOWN_COMMAND", reader.ForceLowercase(false)) p.ListeningPort, err = r.Uint16Ptr("VPN_PORT_FORWARDING_LISTENING_PORT") if err != nil { return err } usernameKeys := []string{"VPN_PORT_FORWARDING_USERNAME", "OPENVPN_USER", "USER"} for _, key := range usernameKeys { p.Username = r.String(key, reader.ForceLowercase(false)) if p.Username != "" { break } } passwordKeys := []string{"VPN_PORT_FORWARDING_PASSWORD", "OPENVPN_PASSWORD", "PASSWORD"} for _, key := range passwordKeys { p.Password = r.String(key, reader.ForceLowercase(false)) if p.Password != "" { break } } return nil } ================================================ FILE: internal/configuration/settings/portforward_test.go ================================================ package settings import ( "testing" "github.com/stretchr/testify/assert" ) func Test_PortForwarding_String(t *testing.T) { t.Parallel() settings := PortForwarding{ Enabled: ptrTo(false), } s := settings.String() assert.Empty(t, s) } ================================================ FILE: internal/configuration/settings/provider.go ================================================ package settings import ( "fmt" "slices" "sort" "strings" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) // Provider contains settings specific to a VPN provider. type Provider struct { // Name is the VPN service provider name. // It cannot be the empty string in the internal state. Name string `json:"name"` // ServerSelection is the settings to // select the VPN server. ServerSelection ServerSelection `json:"server_selection"` // PortForwarding is the settings about port forwarding. PortForwarding PortForwarding `json:"port_forwarding"` } // TODO v4 remove pointer for receiver (because of Surfshark). func (p *Provider) validate(vpnType string, filterChoicesGetter FilterChoicesGetter, warner Warner) (err error) { // Validate Name var validNames []string switch vpnType { case vpn.AmneziaWg: validNames = []string{providers.Custom} case vpn.OpenVPN: validNames = providers.AllWithCustom() validNames = append(validNames, "pia") // Retro-compatibility // Remove Mullvad since it no longer supports OpenVPN as of January 15th, 2026 mullvadIndex := slices.Index(validNames, providers.Mullvad) validNames[mullvadIndex], validNames[len(validNames)-1] = validNames[len(validNames)-1], validNames[mullvadIndex] validNames = validNames[:len(validNames)-1] sort.Strings(validNames) case vpn.Wireguard: validNames = []string{ providers.Airvpn, providers.Custom, providers.Fastestvpn, providers.Ivpn, providers.Mullvad, providers.Nordvpn, providers.Protonvpn, providers.Surfshark, providers.Windscribe, } } if err = validate.IsOneOf(p.Name, validNames...); err != nil { return fmt.Errorf("%w for %s: %w", ErrVPNProviderNameNotValid, vpnType, err) } err = p.ServerSelection.validate(p.Name, filterChoicesGetter, warner) if err != nil { return fmt.Errorf("server selection: %w", err) } err = p.PortForwarding.Validate(p.Name) if err != nil { return fmt.Errorf("port forwarding: %w", err) } return nil } func (p *Provider) copy() (copied Provider) { return Provider{ Name: p.Name, ServerSelection: p.ServerSelection.copy(), PortForwarding: p.PortForwarding.Copy(), } } func (p *Provider) overrideWith(other Provider) { p.Name = gosettings.OverrideWithComparable(p.Name, other.Name) p.ServerSelection.overrideWith(other.ServerSelection) p.PortForwarding.OverrideWith(other.PortForwarding) } func (p *Provider) setDefaults() { p.Name = gosettings.DefaultComparable(p.Name, providers.PrivateInternetAccess) p.PortForwarding.setDefaults() p.ServerSelection.setDefaults(p.Name, *p.PortForwarding.Enabled) } func (p Provider) String() string { return p.toLinesNode().String() } func (p Provider) toLinesNode() (node *gotree.Node) { node = gotree.New("VPN provider settings:") node.Appendf("Name: %s", p.Name) node.AppendNode(p.ServerSelection.toLinesNode()) node.AppendNode(p.PortForwarding.toLinesNode()) return node } func (p *Provider) read(r *reader.Reader, vpnType string) (err error) { p.Name = readVPNServiceProvider(r, vpnType) err = p.ServerSelection.read(r, p.Name, vpnType) if err != nil { return fmt.Errorf("server selection: %w", err) } err = p.PortForwarding.read(r) if err != nil { return fmt.Errorf("port forwarding: %w", err) } return nil } func readVPNServiceProvider(r *reader.Reader, vpnType string) (vpnProvider string) { vpnProvider = r.String("VPN_SERVICE_PROVIDER", reader.RetroKeys("VPNSP")) if vpnProvider == "" { if vpnType != vpn.Wireguard && r.Get("OPENVPN_CUSTOM_CONFIG") != nil { // retro compatibility return providers.Custom } return "" } vpnProvider = strings.ToLower(vpnProvider) if vpnProvider == "pia" { // retro compatibility return providers.PrivateInternetAccess } return vpnProvider } ================================================ FILE: internal/configuration/settings/publicip.go ================================================ package settings import ( "fmt" "path/filepath" "github.com/qdm12/gluetun/internal/publicip/api" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // PublicIP contains settings for port forwarding. type PublicIP struct { // Enabled is set to true to fetch the public ip address // information on VPN connection. It defaults to true. Enabled *bool // IPFilepath is the public IP address status file path // to use. It can be the empty string to indicate not // to write to a file. It cannot be nil for the // internal state IPFilepath *string // APIs is the list of public ip APIs to use to fetch public IP information. // If there is more than one API, the first one is used // by default and the others are used as fallbacks in case of // the service rate limiting us. It defaults to use all services, // with the first one being ipinfo.io for historical reasons. APIs []PublicIPAPI } type PublicIPAPI struct { // Name is the name of the public ip API service. // It can be "cloudflare", "ifconfigco", "ip2location" or "ipinfo". Name string // Token is the token to use for the public ip API service. Token string } // UpdateWith deep copies the receiving settings, overrides the copy with // fields set in the partialUpdate argument, validates the new settings // and returns them if they are valid, or returns an error otherwise. // In all cases, the receiving settings are unmodified. func (p PublicIP) UpdateWith(partialUpdate PublicIP) (updatedSettings PublicIP, err error) { updatedSettings = p.copy() updatedSettings.overrideWith(partialUpdate) err = updatedSettings.validate() if err != nil { return updatedSettings, fmt.Errorf("validating updated settings: %w", err) } return updatedSettings, nil } func (p PublicIP) validate() (err error) { if *p.IPFilepath != "" { // optional _, err := filepath.Abs(*p.IPFilepath) if err != nil { return fmt.Errorf("filepath is not valid: %w", err) } } for _, publicIPAPI := range p.APIs { _, err = api.ParseProvider(publicIPAPI.Name) if err != nil { return fmt.Errorf("API name: %w", err) } } return nil } func (p *PublicIP) copy() (copied PublicIP) { return PublicIP{ Enabled: gosettings.CopyPointer(p.Enabled), IPFilepath: gosettings.CopyPointer(p.IPFilepath), APIs: gosettings.CopySlice(p.APIs), } } func (p *PublicIP) overrideWith(other PublicIP) { p.Enabled = gosettings.OverrideWithPointer(p.Enabled, other.Enabled) p.IPFilepath = gosettings.OverrideWithPointer(p.IPFilepath, other.IPFilepath) p.APIs = gosettings.OverrideWithSlice(p.APIs, other.APIs) } func (p *PublicIP) setDefaults() { p.Enabled = gosettings.DefaultPointer(p.Enabled, true) p.IPFilepath = gosettings.DefaultPointer(p.IPFilepath, "/tmp/gluetun/ip") p.APIs = gosettings.DefaultSlice(p.APIs, []PublicIPAPI{ {Name: string(api.IPInfo)}, {Name: string(api.Cloudflare)}, {Name: string(api.IfConfigCo)}, {Name: string(api.IP2Location)}, }) } func (p PublicIP) String() string { return p.toLinesNode().String() } func (p PublicIP) toLinesNode() (node *gotree.Node) { if !*p.Enabled { return gotree.New("Public IP settings: disabled") } node = gotree.New("Public IP settings:") if *p.IPFilepath != "" { node.Appendf("IP file path: %s", *p.IPFilepath) } baseAPIString := "Public IP data base API: " + p.APIs[0].Name if p.APIs[0].Token != "" { baseAPIString += " (token " + gosettings.ObfuscateKey(p.APIs[0].Token) + ")" } node.Append(baseAPIString) if len(p.APIs) > 1 { backupAPIsNode := node.Append("Public IP data backup APIs:") for i := 1; i < len(p.APIs); i++ { message := p.APIs[i].Name if p.APIs[i].Token != "" { message += " (token " + gosettings.ObfuscateKey(p.APIs[i].Token) + ")" } backupAPIsNode.Append(message) } } return node } func (p *PublicIP) read(r *reader.Reader, warner Warner) (err error) { p.Enabled, err = readPublicIPEnabled(r, warner) if err != nil { return err } p.IPFilepath = r.Get("PUBLICIP_FILE", reader.ForceLowercase(false), reader.RetroKeys("IP_STATUS_FILE")) apiNames := r.CSV("PUBLICIP_API") if len(apiNames) > 0 { apiTokens := r.CSV("PUBLICIP_API_TOKEN") p.APIs = make([]PublicIPAPI, len(apiNames)) for i := range apiNames { p.APIs[i].Name = apiNames[i] var token string if i < len(apiTokens) { // only set token if it exists token = apiTokens[i] } p.APIs[i].Token = token } } return nil } func readPublicIPEnabled(r *reader.Reader, warner Warner) ( enabled *bool, err error, ) { periodPtr, err := r.DurationPtr("PUBLICIP_PERIOD") // Retro-compatibility if err != nil { return nil, err } else if periodPtr == nil { return r.BoolPtr("PUBLICIP_ENABLED") } if *periodPtr == 0 { warner.Warn("please replace PUBLICIP_PERIOD=0 with PUBLICIP_ENABLED=no") return ptrTo(false), nil } warner.Warn("PUBLICIP_PERIOD is no longer used. " + "It is assumed from its non-zero value you want PUBLICIP_ENABLED=yes. " + "Please migrate to use PUBLICIP_ENABLED only in the future.") return ptrTo(true), nil } ================================================ FILE: internal/configuration/settings/publicip_test.go ================================================ package settings import ( "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gosettings/reader" "github.com/stretchr/testify/assert" ) func Test_PublicIP_read(t *testing.T) { t.Parallel() testCases := map[string]struct { makeReader func(ctrl *gomock.Controller) *reader.Reader makeWarner func(ctrl *gomock.Controller) Warner settings PublicIP errWrapped error errMessage string }{ "nothing_read": { makeReader: func(ctrl *gomock.Controller) *reader.Reader { source := newMockSource(ctrl, []sourceKeyValue{ {key: "PUBLICIP_PERIOD"}, {key: "PUBLICIP_ENABLED"}, {key: "IP_STATUS_FILE"}, {key: "PUBLICIP_FILE"}, {key: "PUBLICIP_API"}, }) return reader.New(reader.Settings{ Sources: []reader.Source{source}, }) }, }, "single_api_no_token": { makeReader: func(ctrl *gomock.Controller) *reader.Reader { source := newMockSource(ctrl, []sourceKeyValue{ {key: "PUBLICIP_PERIOD"}, {key: "PUBLICIP_ENABLED"}, {key: "IP_STATUS_FILE"}, {key: "PUBLICIP_FILE"}, {key: "PUBLICIP_API", value: "ipinfo"}, {key: "PUBLICIP_API_TOKEN"}, }) return reader.New(reader.Settings{ Sources: []reader.Source{source}, }) }, settings: PublicIP{ APIs: []PublicIPAPI{ {Name: "ipinfo"}, }, }, }, "single_api_with_token": { makeReader: func(ctrl *gomock.Controller) *reader.Reader { source := newMockSource(ctrl, []sourceKeyValue{ {key: "PUBLICIP_PERIOD"}, {key: "PUBLICIP_ENABLED"}, {key: "IP_STATUS_FILE"}, {key: "PUBLICIP_FILE"}, {key: "PUBLICIP_API", value: "ipinfo"}, {key: "PUBLICIP_API_TOKEN", value: "xyz"}, }) return reader.New(reader.Settings{ Sources: []reader.Source{source}, }) }, settings: PublicIP{ APIs: []PublicIPAPI{ {Name: "ipinfo", Token: "xyz"}, }, }, }, "multiple_apis_no_token": { makeReader: func(ctrl *gomock.Controller) *reader.Reader { source := newMockSource(ctrl, []sourceKeyValue{ {key: "PUBLICIP_PERIOD"}, {key: "PUBLICIP_ENABLED"}, {key: "IP_STATUS_FILE"}, {key: "PUBLICIP_FILE"}, {key: "PUBLICIP_API", value: "ipinfo,ip2location"}, {key: "PUBLICIP_API_TOKEN"}, }) return reader.New(reader.Settings{ Sources: []reader.Source{source}, }) }, settings: PublicIP{ APIs: []PublicIPAPI{ {Name: "ipinfo"}, {Name: "ip2location"}, }, }, }, "multiple_apis_with_token": { makeReader: func(ctrl *gomock.Controller) *reader.Reader { source := newMockSource(ctrl, []sourceKeyValue{ {key: "PUBLICIP_PERIOD"}, {key: "PUBLICIP_ENABLED"}, {key: "IP_STATUS_FILE"}, {key: "PUBLICIP_FILE"}, {key: "PUBLICIP_API", value: "ipinfo,ip2location"}, {key: "PUBLICIP_API_TOKEN", value: "xyz,abc"}, }) return reader.New(reader.Settings{ Sources: []reader.Source{source}, }) }, settings: PublicIP{ APIs: []PublicIPAPI{ {Name: "ipinfo", Token: "xyz"}, {Name: "ip2location", Token: "abc"}, }, }, }, "multiple_apis_with_and_without_token": { makeReader: func(ctrl *gomock.Controller) *reader.Reader { source := newMockSource(ctrl, []sourceKeyValue{ {key: "PUBLICIP_PERIOD"}, {key: "PUBLICIP_ENABLED"}, {key: "IP_STATUS_FILE"}, {key: "PUBLICIP_FILE"}, {key: "PUBLICIP_API", value: "ipinfo,ip2location"}, {key: "PUBLICIP_API_TOKEN", value: "xyz"}, }) return reader.New(reader.Settings{ Sources: []reader.Source{source}, }) }, settings: PublicIP{ APIs: []PublicIPAPI{ {Name: "ipinfo", Token: "xyz"}, {Name: "ip2location"}, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) reader := testCase.makeReader(ctrl) var warner Warner if testCase.makeWarner != nil { warner = testCase.makeWarner(ctrl) } var settings PublicIP err := settings.read(reader, warner) assert.Equal(t, testCase.settings, settings) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/configuration/settings/server.go ================================================ package settings import ( "bytes" "encoding/json" "fmt" "net" "os" "strconv" "github.com/qdm12/gluetun/internal/server/middlewares/auth" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // ControlServer contains settings to customize the control server operation. type ControlServer struct { // Address is the listening address to use. // It cannot be nil in the internal state. Address *string // Log can be true or false to enable logging on requests. // It cannot be nil in the internal state. Log *bool // AuthFilePath is the path to the file containing the authentication // configuration for the middleware. // It cannot be empty in the internal state and defaults to // /gluetun/auth/config.toml. AuthFilePath string // AuthDefaultRole is a JSON encoded object defining the default role // that applies to all routes without a previously user-defined role assigned to. AuthDefaultRole string } func (c ControlServer) validate() (err error) { _, portStr, err := net.SplitHostPort(*c.Address) if err != nil { return fmt.Errorf("listening address is not valid: %w", err) } port, err := strconv.Atoi(portStr) if err != nil { return fmt.Errorf("listening port it not valid: %w", err) } uid := os.Getuid() const maxPrivilegedPort = 1023 if uid != 0 && port != 0 && port <= maxPrivilegedPort { return fmt.Errorf("%w: %d when running with user ID %d", ErrControlServerPrivilegedPort, port, uid) } jsonDecoder := json.NewDecoder(bytes.NewBufferString(c.AuthDefaultRole)) jsonDecoder.DisallowUnknownFields() var role auth.Role err = jsonDecoder.Decode(&role) if err != nil { return fmt.Errorf("default authentication role is not valid JSON: %w", err) } if role.Auth != "" { err = role.Validate() if err != nil { return fmt.Errorf("default authentication role is not valid: %w", err) } } return nil } func (c *ControlServer) copy() (copied ControlServer) { return ControlServer{ Address: gosettings.CopyPointer(c.Address), Log: gosettings.CopyPointer(c.Log), AuthFilePath: c.AuthFilePath, AuthDefaultRole: c.AuthDefaultRole, } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (c *ControlServer) overrideWith(other ControlServer) { c.Address = gosettings.OverrideWithPointer(c.Address, other.Address) c.Log = gosettings.OverrideWithPointer(c.Log, other.Log) c.AuthFilePath = gosettings.OverrideWithComparable(c.AuthFilePath, other.AuthFilePath) c.AuthDefaultRole = gosettings.OverrideWithComparable(c.AuthDefaultRole, other.AuthDefaultRole) } func (c *ControlServer) setDefaults() { c.Address = gosettings.DefaultPointer(c.Address, ":8000") c.Log = gosettings.DefaultPointer(c.Log, true) c.AuthFilePath = gosettings.DefaultComparable(c.AuthFilePath, "/gluetun/auth/config.toml") c.AuthDefaultRole = gosettings.DefaultComparable(c.AuthDefaultRole, "{}") if c.AuthDefaultRole != "{}" { var role auth.Role _ = json.Unmarshal([]byte(c.AuthDefaultRole), &role) role.Name = "default" roleBytes, _ := json.Marshal(role) //nolint:errchkjson c.AuthDefaultRole = string(roleBytes) } } func (c ControlServer) String() string { return c.toLinesNode().String() } func (c ControlServer) toLinesNode() (node *gotree.Node) { node = gotree.New("Control server settings:") node.Appendf("Listening address: %s", *c.Address) node.Appendf("Logging: %s", gosettings.BoolToYesNo(c.Log)) node.Appendf("Authentication file path: %s", c.AuthFilePath) if c.AuthDefaultRole != "{}" { var role auth.Role _ = json.Unmarshal([]byte(c.AuthDefaultRole), &role) node.AppendNode(role.ToLinesNode()) } return node } func (c *ControlServer) read(r *reader.Reader) (err error) { c.Log, err = r.BoolPtr("HTTP_CONTROL_SERVER_LOG") if err != nil { return err } c.Address = r.Get("HTTP_CONTROL_SERVER_ADDRESS") c.AuthFilePath = r.String("HTTP_CONTROL_SERVER_AUTH_CONFIG_FILEPATH") c.AuthDefaultRole = r.String("HTTP_CONTROL_SERVER_AUTH_DEFAULT_ROLE", reader.ForceLowercase(false)) return nil } ================================================ FILE: internal/configuration/settings/serverselection.go ================================================ package settings import ( "errors" "fmt" "strings" "github.com/qdm12/gluetun/internal/configuration/settings/helpers" "github.com/qdm12/gluetun/internal/configuration/settings/validation" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) type ServerSelection struct { // VPN is the VPN type which can be 'openvpn' // or 'wireguard'. It cannot be the empty string // in the internal state. VPN string `json:"vpn"` // Countries is the list of countries to filter VPN servers with. Countries []string `json:"countries"` // Categories is the list of categories to filter VPN servers with. Categories []string `json:"categories"` // Regions is the list of regions to filter VPN servers with. Regions []string `json:"regions"` // Cities is the list of cities to filter VPN servers with. Cities []string `json:"cities"` // ISPs is the list of ISP names to filter VPN servers with. ISPs []string `json:"isps"` // Names is the list of server names to filter VPN servers with. Names []string `json:"names"` // Numbers is the list of server numbers to filter VPN servers with. Numbers []uint16 `json:"numbers"` // Hostnames is the list of hostnames to filter VPN servers with. Hostnames []string `json:"hostnames"` // OwnedOnly is true if VPN provider servers that are not owned // should be filtered. This is used with Mullvad. OwnedOnly *bool `json:"owned_only"` // FreeOnly is true if VPN servers that are not free should // be filtered. This is used with ProtonVPN and VPN Unlimited. FreeOnly *bool `json:"free_only"` // PremiumOnly is true if VPN servers that are not premium should // be filtered. This is used with VPN Secure. // TODO extend to providers using FreeOnly. PremiumOnly *bool `json:"premium_only"` // StreamOnly is true if VPN servers not for streaming should // be filtered. This is used with ProtonVPN and VPNUnlimited. StreamOnly *bool `json:"stream_only"` // MultiHopOnly is true if VPN servers that are not multihop // should be filtered. This is used with Surfshark. MultiHopOnly *bool `json:"multi_hop_only"` // PortForwardOnly is true if VPN servers that don't support // port forwarding should be filtered. This is used with PIA // and ProtonVPN. PortForwardOnly *bool `json:"port_forward_only"` // SecureCoreOnly is true if VPN servers without secure core should // be filtered. This is used with ProtonVPN. SecureCoreOnly *bool `json:"secure_core_only"` // TorOnly is true if VPN servers without tor should // be filtered. This is used with ProtonVPN. TorOnly *bool `json:"tor_only"` // OpenVPN contains settings to select OpenVPN servers // and the final connection. OpenVPN OpenVPNSelection `json:"openvpn"` // Wireguard contains settings to select Wireguard servers // and the final connection. Wireguard WireguardSelection `json:"wireguard"` } var ( ErrOwnedOnlyNotSupported = errors.New("owned only filter is not supported") ErrFreeOnlyNotSupported = errors.New("free only filter is not supported") ErrPremiumOnlyNotSupported = errors.New("premium only filter is not supported") ErrStreamOnlyNotSupported = errors.New("stream only filter is not supported") ErrMultiHopOnlyNotSupported = errors.New("multi hop only filter is not supported") ErrPortForwardOnlyNotSupported = errors.New("port forwarding only filter is not supported") ErrFreePremiumBothSet = errors.New("free only and premium only filters are both set") ErrSecureCoreOnlyNotSupported = errors.New("secure core only filter is not supported") ErrTorOnlyNotSupported = errors.New("tor only filter is not supported") ) func (ss *ServerSelection) validate(vpnServiceProvider string, filterChoicesGetter FilterChoicesGetter, warner Warner, ) (err error) { switch ss.VPN { case vpn.AmneziaWg, vpn.OpenVPN, vpn.Wireguard: default: return fmt.Errorf("%w: %s", ErrVPNTypeNotValid, ss.VPN) } filterChoices, err := getLocationFilterChoices(vpnServiceProvider, ss, filterChoicesGetter, warner) if err != nil { return err // already wrapped error } // Retro-compatibility switch vpnServiceProvider { case providers.Nordvpn: *ss = nordvpnRetroRegion(*ss, filterChoices.Regions, filterChoices.Countries) case providers.Surfshark: *ss = surfsharkRetroRegion(*ss) } err = validateServerFilters(*ss, filterChoices, vpnServiceProvider, warner) if err != nil { return fmt.Errorf("for VPN service provider %s: %w", vpnServiceProvider, err) } err = validateSubscriptionTierFilters(*ss, vpnServiceProvider) if err != nil { return fmt.Errorf("for VPN service provider %s: %w", vpnServiceProvider, err) } err = validateFeatureFilters(*ss, vpnServiceProvider) if err != nil { return fmt.Errorf("for VPN service provider %s: %w", vpnServiceProvider, err) } if ss.VPN == vpn.OpenVPN { err = ss.OpenVPN.validate(vpnServiceProvider) if err != nil { return fmt.Errorf("OpenVPN server selection settings: %w", err) } } else { err = ss.Wireguard.validate(vpnServiceProvider) if err != nil { return fmt.Errorf("Wireguard server selection settings: %w", err) } } return nil } func getLocationFilterChoices(vpnServiceProvider string, ss *ServerSelection, filterChoicesGetter FilterChoicesGetter, warner Warner) ( filterChoices models.FilterChoices, err error, ) { filterChoices = filterChoicesGetter.GetFilterChoices(vpnServiceProvider) if vpnServiceProvider == providers.Surfshark { // // Retro compatibility // TODO v4 remove newAndRetroRegions := append(filterChoices.Regions, validation.SurfsharkRetroLocChoices()...) //nolint:gocritic err := atLeastOneIsOneOfCaseInsensitive(ss.Regions, newAndRetroRegions, warner) if err != nil { // Only return error comparing with newer regions, we don't want to confuse the user // with the retro regions in the error message. err = atLeastOneIsOneOfCaseInsensitive(ss.Regions, filterChoices.Regions, warner) return models.FilterChoices{}, fmt.Errorf("%w: %w", ErrRegionNotValid, err) } } return filterChoices, nil } // validateServerFilters validates filters against the choices given as arguments. // Set an argument to nil to pass the check for a particular filter. func validateServerFilters(settings ServerSelection, filterChoices models.FilterChoices, vpnServiceProvider string, warner Warner, ) (err error) { err = atLeastOneIsOneOfCaseInsensitive(settings.Countries, filterChoices.Countries, warner) if err != nil { return fmt.Errorf("%w: %w", ErrCountryNotValid, err) } err = atLeastOneIsOneOfCaseInsensitive(settings.Regions, filterChoices.Regions, warner) if err != nil { return fmt.Errorf("%w: %w", ErrRegionNotValid, err) } err = atLeastOneIsOneOfCaseInsensitive(settings.Cities, filterChoices.Cities, warner) if err != nil { return fmt.Errorf("%w: %w", ErrCityNotValid, err) } err = atLeastOneIsOneOfCaseInsensitive(settings.ISPs, filterChoices.ISPs, warner) if err != nil { return fmt.Errorf("%w: %w", ErrISPNotValid, err) } err = atLeastOneIsOneOfCaseInsensitive(settings.Hostnames, filterChoices.Hostnames, warner) if err != nil { return fmt.Errorf("%w: %w", ErrHostnameNotValid, err) } if vpnServiceProvider == providers.Custom { switch len(settings.Names) { case 0: case 1: // Allow a single name to be specified for the custom provider in case // the user wants to use VPN server side port forwarding with PIA // which requires a server name for TLS verification. filterChoices.Names = settings.Names default: return fmt.Errorf("%w: %d names specified instead of "+ "0 or 1 for the custom provider", ErrNameNotValid, len(settings.Names)) } } err = atLeastOneIsOneOfCaseInsensitive(settings.Names, filterChoices.Names, warner) if err != nil { return fmt.Errorf("%w: %w", ErrNameNotValid, err) } err = atLeastOneIsOneOfCaseInsensitive(settings.Categories, filterChoices.Categories, warner) if err != nil { return fmt.Errorf("%w: %w", ErrCategoryNotValid, err) } return nil } func atLeastOneIsOneOfCaseInsensitive(values, choices []string, warner Warner, ) (err error) { if len(values) > 0 && len(choices) == 0 { return fmt.Errorf("%w", validate.ErrNoChoice) } set := make(map[string]struct{}, len(choices)) for _, choice := range choices { lowercaseChoice := strings.ToLower(choice) set[lowercaseChoice] = struct{}{} } invalidValues := make([]string, 0, len(values)) for _, value := range values { lowercaseValue := strings.ToLower(value) _, ok := set[lowercaseValue] if ok { continue } invalidValues = append(invalidValues, value) } switch len(invalidValues) { case 0: return nil case len(values): return fmt.Errorf("%w: none of %s is one of the choices available %s", validate.ErrValueNotOneOf, strings.Join(values, ", "), strings.Join(choices, ", ")) default: warner.Warn(fmt.Sprintf("values %s are not in choices %s", strings.Join(invalidValues, ", "), strings.Join(choices, ", "))) } return nil } func validateSubscriptionTierFilters(settings ServerSelection, vpnServiceProvider string) error { switch { case *settings.FreeOnly && !helpers.IsOneOf(vpnServiceProvider, providers.Protonvpn, providers.VPNUnlimited): return fmt.Errorf("%w", ErrFreeOnlyNotSupported) case *settings.PremiumOnly && !helpers.IsOneOf(vpnServiceProvider, providers.VPNSecure): return fmt.Errorf("%w", ErrPremiumOnlyNotSupported) case *settings.FreeOnly && *settings.PremiumOnly: return fmt.Errorf("%w", ErrFreePremiumBothSet) default: return nil } } func validateFeatureFilters(settings ServerSelection, vpnServiceProvider string) error { switch { case *settings.OwnedOnly && vpnServiceProvider != providers.Mullvad: return fmt.Errorf("%w", ErrOwnedOnlyNotSupported) case vpnServiceProvider == providers.Protonvpn && *settings.FreeOnly && *settings.PortForwardOnly: return fmt.Errorf("%w: together with free only filter", ErrPortForwardOnlyNotSupported) case *settings.StreamOnly && !helpers.IsOneOf(vpnServiceProvider, providers.Protonvpn, providers.VPNUnlimited): return fmt.Errorf("%w", ErrStreamOnlyNotSupported) case *settings.MultiHopOnly && vpnServiceProvider != providers.Surfshark: return fmt.Errorf("%w", ErrMultiHopOnlyNotSupported) case *settings.PortForwardOnly && !helpers.IsOneOf(vpnServiceProvider, providers.PrivateInternetAccess, providers.Protonvpn): return fmt.Errorf("%w", ErrPortForwardOnlyNotSupported) case *settings.SecureCoreOnly && vpnServiceProvider != providers.Protonvpn: return fmt.Errorf("%w", ErrSecureCoreOnlyNotSupported) case *settings.TorOnly && vpnServiceProvider != providers.Protonvpn: return fmt.Errorf("%w", ErrTorOnlyNotSupported) default: return nil } } func (ss *ServerSelection) copy() (copied ServerSelection) { return ServerSelection{ VPN: ss.VPN, Countries: gosettings.CopySlice(ss.Countries), Categories: gosettings.CopySlice(ss.Categories), Regions: gosettings.CopySlice(ss.Regions), Cities: gosettings.CopySlice(ss.Cities), ISPs: gosettings.CopySlice(ss.ISPs), Hostnames: gosettings.CopySlice(ss.Hostnames), Names: gosettings.CopySlice(ss.Names), Numbers: gosettings.CopySlice(ss.Numbers), OwnedOnly: gosettings.CopyPointer(ss.OwnedOnly), FreeOnly: gosettings.CopyPointer(ss.FreeOnly), PremiumOnly: gosettings.CopyPointer(ss.PremiumOnly), StreamOnly: gosettings.CopyPointer(ss.StreamOnly), SecureCoreOnly: gosettings.CopyPointer(ss.SecureCoreOnly), TorOnly: gosettings.CopyPointer(ss.TorOnly), PortForwardOnly: gosettings.CopyPointer(ss.PortForwardOnly), MultiHopOnly: gosettings.CopyPointer(ss.MultiHopOnly), OpenVPN: ss.OpenVPN.copy(), Wireguard: ss.Wireguard.copy(), } } func (ss *ServerSelection) overrideWith(other ServerSelection) { ss.VPN = gosettings.OverrideWithComparable(ss.VPN, other.VPN) ss.Countries = gosettings.OverrideWithSlice(ss.Countries, other.Countries) ss.Categories = gosettings.OverrideWithSlice(ss.Categories, other.Categories) ss.Regions = gosettings.OverrideWithSlice(ss.Regions, other.Regions) ss.Cities = gosettings.OverrideWithSlice(ss.Cities, other.Cities) ss.ISPs = gosettings.OverrideWithSlice(ss.ISPs, other.ISPs) ss.Hostnames = gosettings.OverrideWithSlice(ss.Hostnames, other.Hostnames) ss.Names = gosettings.OverrideWithSlice(ss.Names, other.Names) ss.Numbers = gosettings.OverrideWithSlice(ss.Numbers, other.Numbers) ss.OwnedOnly = gosettings.OverrideWithPointer(ss.OwnedOnly, other.OwnedOnly) ss.FreeOnly = gosettings.OverrideWithPointer(ss.FreeOnly, other.FreeOnly) ss.PremiumOnly = gosettings.OverrideWithPointer(ss.PremiumOnly, other.PremiumOnly) ss.StreamOnly = gosettings.OverrideWithPointer(ss.StreamOnly, other.StreamOnly) ss.SecureCoreOnly = gosettings.OverrideWithPointer(ss.SecureCoreOnly, other.SecureCoreOnly) ss.TorOnly = gosettings.OverrideWithPointer(ss.TorOnly, other.TorOnly) ss.MultiHopOnly = gosettings.OverrideWithPointer(ss.MultiHopOnly, other.MultiHopOnly) ss.PortForwardOnly = gosettings.OverrideWithPointer(ss.PortForwardOnly, other.PortForwardOnly) ss.OpenVPN.overrideWith(other.OpenVPN) ss.Wireguard.overrideWith(other.Wireguard) } func (ss *ServerSelection) setDefaults(vpnProvider string, portForwardingEnabled bool) { ss.VPN = gosettings.DefaultComparable(ss.VPN, vpn.OpenVPN) ss.OwnedOnly = gosettings.DefaultPointer(ss.OwnedOnly, false) ss.FreeOnly = gosettings.DefaultPointer(ss.FreeOnly, false) ss.PremiumOnly = gosettings.DefaultPointer(ss.PremiumOnly, false) ss.StreamOnly = gosettings.DefaultPointer(ss.StreamOnly, false) ss.SecureCoreOnly = gosettings.DefaultPointer(ss.SecureCoreOnly, false) ss.TorOnly = gosettings.DefaultPointer(ss.TorOnly, false) ss.MultiHopOnly = gosettings.DefaultPointer(ss.MultiHopOnly, false) defaultPortForwardOnly := portForwardingEnabled && helpers.IsOneOf(vpnProvider, providers.PrivateInternetAccess, providers.Protonvpn) ss.PortForwardOnly = gosettings.DefaultPointer(ss.PortForwardOnly, defaultPortForwardOnly) ss.OpenVPN.setDefaults(vpnProvider) ss.Wireguard.setDefaults() } func (ss ServerSelection) String() string { return ss.toLinesNode().String() } func (ss ServerSelection) toLinesNode() (node *gotree.Node) { node = gotree.New("Server selection settings:") node.Appendf("VPN type: %s", ss.VPN) if len(ss.Countries) > 0 { node.Appendf("Countries: %s", strings.Join(ss.Countries, ", ")) } if len(ss.Categories) > 0 { node.Appendf("Categories: %s", strings.Join(ss.Categories, ", ")) } if len(ss.Regions) > 0 { node.Appendf("Regions: %s", strings.Join(ss.Regions, ", ")) } if len(ss.Cities) > 0 { node.Appendf("Cities: %s", strings.Join(ss.Cities, ", ")) } if len(ss.ISPs) > 0 { node.Appendf("ISPs: %s", strings.Join(ss.ISPs, ", ")) } if len(ss.Names) > 0 { node.Appendf("Server names: %s", strings.Join(ss.Names, ", ")) } if len(ss.Numbers) > 0 { numbersNode := node.Appendf("Server numbers:") for _, number := range ss.Numbers { numbersNode.Appendf("%d", number) } } if len(ss.Hostnames) > 0 { node.Appendf("Hostnames: %s", strings.Join(ss.Hostnames, ", ")) } if *ss.OwnedOnly { node.Appendf("Owned only servers: yes") } if *ss.FreeOnly { node.Appendf("Free only servers: yes") } if *ss.PremiumOnly { node.Appendf("Premium only servers: yes") } if *ss.StreamOnly { node.Appendf("Stream only servers: yes") } if *ss.SecureCoreOnly { node.Appendf("Secure Core only servers: yes") } if *ss.TorOnly { node.Appendf("Tor only servers: yes") } if *ss.MultiHopOnly { node.Appendf("Multi-hop only servers: yes") } if *ss.PortForwardOnly { node.Appendf("Port forwarding only servers: yes") } if ss.VPN == vpn.OpenVPN { node.AppendNode(ss.OpenVPN.toLinesNode()) } else { node.AppendNode(ss.Wireguard.toLinesNode()) } return node } // WithDefaults is a shorthand using setDefaults. // It's used in unit tests in other packages. func (ss ServerSelection) WithDefaults(provider string) ServerSelection { const portForwardingEnabled = false ss.setDefaults(provider, portForwardingEnabled) return ss } func (ss *ServerSelection) read(r *reader.Reader, vpnProvider, vpnType string, ) (err error) { ss.VPN = vpnType countriesRetroKeys := []string{"COUNTRY"} if vpnProvider == providers.Cyberghost { countriesRetroKeys = append(countriesRetroKeys, "REGION") } ss.Countries = r.CSV("SERVER_COUNTRIES", reader.RetroKeys(countriesRetroKeys...)) ss.Regions = r.CSV("SERVER_REGIONS", reader.RetroKeys("REGION")) ss.Cities = r.CSV("SERVER_CITIES", reader.RetroKeys("CITY")) ss.ISPs = r.CSV("ISP") ss.Hostnames = r.CSV("SERVER_HOSTNAMES", reader.RetroKeys("SERVER_HOSTNAME")) ss.Names = r.CSV("SERVER_NAMES", reader.RetroKeys("SERVER_NAME")) ss.Numbers, err = r.CSVUint16("SERVER_NUMBER") ss.Categories = r.CSV("SERVER_CATEGORIES") if err != nil { return err } // Mullvad only ss.OwnedOnly, err = r.BoolPtr("OWNED_ONLY", reader.RetroKeys("OWNED")) if err != nil { return err } // VPNUnlimited and ProtonVPN only ss.FreeOnly, err = r.BoolPtr("FREE_ONLY") if err != nil { return err } // VPNSecure only ss.PremiumOnly, err = r.BoolPtr("PREMIUM_ONLY") if err != nil { return err } // Surfshark only ss.MultiHopOnly, err = r.BoolPtr("MULTIHOP_ONLY") if err != nil { return err } // VPNUnlimited and ProtonVPN only ss.StreamOnly, err = r.BoolPtr("STREAM_ONLY") if err != nil { return err } // ProtonVPN only ss.SecureCoreOnly, err = r.BoolPtr("SECURE_CORE_ONLY") if err != nil { return err } // ProtonVPN only ss.TorOnly, err = r.BoolPtr("TOR_ONLY") if err != nil { return err } // PIA and ProtonVPN only ss.PortForwardOnly, err = r.BoolPtr("PORT_FORWARD_ONLY") if err != nil { return err } err = ss.OpenVPN.read(r) if err != nil { return err } err = ss.Wireguard.read(r) if err != nil { return err } return nil } ================================================ FILE: internal/configuration/settings/settings.go ================================================ package settings import ( "fmt" "github.com/qdm12/gluetun/internal/configuration/settings/helpers" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/pprof" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) type Settings struct { ControlServer ControlServer DNS DNS Firewall Firewall Health Health HTTPProxy HTTPProxy Log Log PublicIP PublicIP Shadowsocks Shadowsocks Storage Storage System System Updater Updater Version Version VPN VPN Pprof pprof.Settings BoringPoll BoringPoll } type FilterChoicesGetter interface { GetFilterChoices(provider string) models.FilterChoices } // Validate validates all the settings and returns an error // if one of them is not valid. // TODO v4 remove pointer for receiver (because of Surfshark). func (s *Settings) Validate(filterChoicesGetter FilterChoicesGetter, ipv6Supported bool, warner Warner, ) (err error) { nameToValidation := map[string]func() error{ "control server": s.ControlServer.validate, "dns": s.DNS.validate, "firewall": s.Firewall.validate, "health": s.Health.Validate, "http proxy": s.HTTPProxy.validate, "log": s.Log.validate, "public ip check": s.PublicIP.validate, "shadowsocks": s.Shadowsocks.validate, "storage": s.Storage.validate, "system": s.System.validate, "updater": s.Updater.Validate, "version": s.Version.validate, // Pprof validation done in pprof constructor "VPN": func() error { return s.VPN.Validate(filterChoicesGetter, ipv6Supported, warner) }, "boring poll": s.BoringPoll.validate, } for name, validation := range nameToValidation { err = validation() if err != nil { return fmt.Errorf("%s settings: %w", name, err) } } return nil } func (s *Settings) copy() (copied Settings) { return Settings{ ControlServer: s.ControlServer.copy(), DNS: s.DNS.Copy(), Firewall: s.Firewall.copy(), Health: s.Health.copy(), HTTPProxy: s.HTTPProxy.copy(), Log: s.Log.copy(), PublicIP: s.PublicIP.copy(), Shadowsocks: s.Shadowsocks.copy(), Storage: s.Storage.copy(), System: s.System.copy(), Updater: s.Updater.copy(), Version: s.Version.copy(), VPN: s.VPN.Copy(), Pprof: s.Pprof.Copy(), BoringPoll: s.BoringPoll.Copy(), } } func (s *Settings) OverrideWith(other Settings, filterChoicesGetter FilterChoicesGetter, ipv6Supported bool, warner Warner, ) (err error) { patchedSettings := s.copy() patchedSettings.ControlServer.overrideWith(other.ControlServer) patchedSettings.DNS.overrideWith(other.DNS) patchedSettings.Firewall.overrideWith(other.Firewall) patchedSettings.Health.OverrideWith(other.Health) patchedSettings.HTTPProxy.overrideWith(other.HTTPProxy) patchedSettings.Log.overrideWith(other.Log) patchedSettings.PublicIP.overrideWith(other.PublicIP) patchedSettings.Shadowsocks.overrideWith(other.Shadowsocks) patchedSettings.Storage.overrideWith(other.Storage) patchedSettings.System.overrideWith(other.System) patchedSettings.Updater.overrideWith(other.Updater) patchedSettings.Version.overrideWith(other.Version) patchedSettings.VPN.OverrideWith(other.VPN) patchedSettings.Pprof.OverrideWith(other.Pprof) patchedSettings.BoringPoll.overrideWith(other.BoringPoll) err = patchedSettings.Validate(filterChoicesGetter, ipv6Supported, warner) if err != nil { return err } *s = patchedSettings return nil } func (s *Settings) SetDefaults() { s.ControlServer.setDefaults() s.DNS.setDefaults() s.Log.setDefaults() s.Firewall.setDefaults(s.Log.Level) s.Health.SetDefaults() s.HTTPProxy.setDefaults() s.PublicIP.setDefaults() s.Shadowsocks.setDefaults() s.Storage.setDefaults() s.System.setDefaults() s.Version.setDefaults() s.VPN.setDefaults() s.Updater.SetDefaults(s.VPN.Provider.Name) s.Pprof.SetDefaults() s.BoringPoll.setDefaults() } func (s Settings) String() string { return s.toLinesNode().String() } func (s Settings) toLinesNode() (node *gotree.Node) { node = gotree.New("Settings summary:") node.AppendNode(s.VPN.toLinesNode()) node.AppendNode(s.DNS.toLinesNode()) node.AppendNode(s.Firewall.toLinesNode()) node.AppendNode(s.Log.toLinesNode()) node.AppendNode(s.Health.toLinesNode()) node.AppendNode(s.Shadowsocks.toLinesNode()) node.AppendNode(s.HTTPProxy.toLinesNode()) node.AppendNode(s.ControlServer.toLinesNode()) node.AppendNode(s.Storage.toLinesNode()) node.AppendNode(s.System.toLinesNode()) node.AppendNode(s.PublicIP.toLinesNode()) node.AppendNode(s.Updater.toLinesNode()) node.AppendNode(s.Version.toLinesNode()) node.AppendNode(s.Pprof.ToLinesNode()) node.AppendNode(s.BoringPoll.toLinesNode()) return node } func (s Settings) Warnings() (warnings []string) { if s.VPN.Provider.Name == providers.HideMyAss { warnings = append(warnings, "HideMyAss dropped support for Linux OpenVPN "+ " so this will likely not work anymore. See https://github.com/qdm12/gluetun/issues/1498.") } if helpers.IsOneOf(s.VPN.Provider.Name, providers.SlickVPN) && s.VPN.Type == vpn.OpenVPN { warnings = append(warnings, "OpenVPN 2.5 and 2.6 use OpenSSL 3 "+ "which prohibits the usage of weak security in today's standards. "+ s.VPN.Provider.Name+" uses weak security which is out "+ "of Gluetun's control so the only workaround is to allow such weaknesses "+ `using the OpenVPN option tls-cipher "DEFAULT:@SECLEVEL=0". `+ "You might want to reach to your provider so they upgrade their certificates. "+ "Once this is done, you will have to let the Gluetun maintainers know "+ "by creating an issue, attaching the new certificate and we will update Gluetun.") } for _, upstreamAddress := range s.DNS.UpstreamPlainAddresses { if upstreamAddress.Addr().IsPrivate() { warnings = append(warnings, "DNS upstream address "+upstreamAddress.String()+" is private: "+ "DNS traffic might leak out of the VPN tunnel to that address.") } } return warnings } func (s *Settings) Read(r *reader.Reader, warner Warner) (err error) { warnings := readObsolete(r) for _, warning := range warnings { warner.Warn(warning) } readFunctions := map[string]func(r *reader.Reader) error{ "control server": s.ControlServer.read, "DNS": s.DNS.read, "firewall": s.Firewall.read, "health": s.Health.Read, "http proxy": s.HTTPProxy.read, "log": s.Log.read, "public ip": func(r *reader.Reader) error { return s.PublicIP.read(r, warner) }, "shadowsocks": s.Shadowsocks.read, "storage": s.Storage.read, "system": s.System.read, "updater": s.Updater.read, "version": s.Version.read, "VPN": s.VPN.read, "profiling": s.Pprof.Read, "boring poll": s.BoringPoll.read, } for name, read := range readFunctions { err = read(r) if err != nil { return fmt.Errorf("reading %s settings: %w", name, err) } } return nil } ================================================ FILE: internal/configuration/settings/settings_test.go ================================================ package settings import ( "testing" "github.com/stretchr/testify/assert" ) func Test_Settings_String(t *testing.T) { t.Parallel() withDefaults := func(s Settings) Settings { s.SetDefaults() return s } testCases := map[string]struct { settings Settings s string }{ "default settings": { settings: withDefaults(Settings{}), s: `Settings summary: ├── VPN settings: | ├── VPN provider settings: | | ├── Name: private internet access | | └── Server selection settings: | | ├── VPN type: openvpn | | └── OpenVPN server selection settings: | | ├── Protocol: UDP | | └── Private Internet Access encryption preset: strong | ├── OpenVPN settings: | | ├── OpenVPN version: 2.6 | | ├── User: [not set] | | ├── Password: [not set] | | ├── Private Internet Access encryption preset: strong | | ├── Network interface: tun0 | | ├── Run OpenVPN as: root | | └── Verbosity level: 1 | └── Path MTU discovery: | ├── ICMP addresses: | | ├── 1.1.1.1 | | └── 8.8.8.8 | └── TCP addresses: | ├── 1.1.1.1:53 | ├── 8.8.8.8:53 | ├── 1.1.1.1:443 | ├── 8.8.8.8:443 | ├── [2606:4700:4700::1111]:53 | ├── [2001:4860:4860::8888]:53 | ├── [2606:4700:4700::1111]:443 | └── [2001:4860:4860::8888]:443 ├── DNS settings: | ├── Upstream resolver type: dot | ├── Upstream resolvers: | | └── Cloudflare | ├── Caching: yes | ├── IPv6: no | ├── Update period: every 24h0m0s | └── DNS filtering settings: | ├── Block malicious: yes | ├── Block ads: no | └── Block surveillance: yes ├── Firewall settings: | ├── Enabled: yes | └── Iptables settings: | └── Log level: INFO ├── Log settings: | └── Log level: INFO ├── Health settings: | ├── Server listening address: 127.0.0.1:9999 | ├── Target addresses: | | ├── cloudflare.com:443 | | └── github.com:443 | ├── Small health check type: ICMP echo request | | └── ICMP target IPs: | | ├── 1.1.1.1 | | └── 8.8.8.8 | └── Restart VPN on healthcheck failure: yes ├── Shadowsocks server settings: | └── Enabled: no ├── HTTP proxy settings: | └── Enabled: no ├── Control server settings: | ├── Listening address: :8000 | ├── Logging: yes | └── Authentication file path: /gluetun/auth/config.toml ├── Storage settings: | └── Filepath: /gluetun/servers.json ├── OS Alpine settings: | ├── Process UID: 1000 | └── Process GID: 1000 ├── Public IP settings: | ├── IP file path: /tmp/gluetun/ip | ├── Public IP data base API: ipinfo | └── Public IP data backup APIs: | ├── cloudflare | ├── ifconfigco | └── ip2location └── Version settings: └── Enabled: yes`, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() s := testCase.settings.String() assert.Equal(t, testCase.s, s) }) } } ================================================ FILE: internal/configuration/settings/shadowsocks.go ================================================ package settings import ( "fmt" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" "github.com/qdm12/ss-server/pkg/tcpudp" ) // Shadowsocks contains settings to configure the Shadowsocks server. type Shadowsocks struct { // Enabled is true if the server should be running. // It defaults to false, and cannot be nil in the internal state. Enabled *bool // Settings are settings for the TCP+UDP server. Settings tcpudp.Settings } func (s Shadowsocks) validate() (err error) { return s.Settings.Validate() } func (s *Shadowsocks) copy() (copied Shadowsocks) { return Shadowsocks{ Enabled: gosettings.CopyPointer(s.Enabled), Settings: s.Settings.Copy(), } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (s *Shadowsocks) overrideWith(other Shadowsocks) { s.Enabled = gosettings.OverrideWithPointer(s.Enabled, other.Enabled) s.Settings.OverrideWith(other.Settings) } func (s *Shadowsocks) setDefaults() { s.Enabled = gosettings.DefaultPointer(s.Enabled, false) s.Settings.SetDefaults() } func (s Shadowsocks) String() string { return s.toLinesNode().String() } func (s Shadowsocks) toLinesNode() (node *gotree.Node) { node = gotree.New("Shadowsocks server settings:") node.Appendf("Enabled: %s", gosettings.BoolToYesNo(s.Enabled)) if !*s.Enabled { return node } // TODO have ToLinesNode in qdm12/ss-server node.Appendf("Listening address: %s", *s.Settings.Address) node.Appendf("Cipher: %s", s.Settings.CipherName) node.Appendf("Password: %s", gosettings.ObfuscateKey(*s.Settings.Password)) node.Appendf("Log addresses: %s", gosettings.BoolToYesNo(s.Settings.LogAddresses)) return node } func (s *Shadowsocks) read(r *reader.Reader) (err error) { s.Enabled, err = r.BoolPtr("SHADOWSOCKS") if err != nil { return err } s.Settings.Address, err = readShadowsocksAddress(r) if err != nil { return err } s.Settings.LogAddresses, err = r.BoolPtr("SHADOWSOCKS_LOG") if err != nil { return err } s.Settings.CipherName = r.String("SHADOWSOCKS_CIPHER", reader.RetroKeys("SHADOWSOCKS_METHOD")) s.Settings.Password = r.Get("SHADOWSOCKS_PASSWORD", reader.ForceLowercase(false)) return nil } func readShadowsocksAddress(r *reader.Reader) (address *string, err error) { const currentKey = "SHADOWSOCKS_LISTENING_ADDRESS" port, err := r.Uint16Ptr("SHADOWSOCKS_PORT", reader.IsRetro(currentKey)) // retro-compatibility if err != nil { return nil, err } else if port != nil { return ptrTo(fmt.Sprintf(":%d", *port)), nil } return r.Get(currentKey), nil } ================================================ FILE: internal/configuration/settings/storage.go ================================================ package settings import ( "fmt" "path/filepath" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // Storage contains settings to configure the storage. type Storage struct { // Filepath is the path to the servers.json file. An empty string disables on-disk storage. Filepath *string } func (s Storage) validate() (err error) { if *s.Filepath != "" { // optional _, err := filepath.Abs(*s.Filepath) if err != nil { return fmt.Errorf("filepath is not valid: %w", err) } } return nil } func (s *Storage) copy() (copied Storage) { return Storage{ Filepath: gosettings.CopyPointer(s.Filepath), } } func (s *Storage) overrideWith(other Storage) { s.Filepath = gosettings.OverrideWithPointer(s.Filepath, other.Filepath) } func (s *Storage) setDefaults() { const defaultFilepath = "/gluetun/servers.json" s.Filepath = gosettings.DefaultPointer(s.Filepath, defaultFilepath) } func (s Storage) String() string { return s.toLinesNode().String() } func (s Storage) toLinesNode() (node *gotree.Node) { if *s.Filepath == "" { return gotree.New("Storage settings: disabled") } node = gotree.New("Storage settings:") node.Appendf("Filepath: %s", *s.Filepath) return node } func (s *Storage) read(r *reader.Reader) (err error) { s.Filepath = r.Get("STORAGE_FILEPATH", reader.AcceptEmpty(true)) return nil } ================================================ FILE: internal/configuration/settings/surfshark_retro.go ================================================ package settings import ( "strings" "github.com/qdm12/gluetun/internal/provider/surfshark/servers" ) func surfsharkRetroRegion(selection ServerSelection) ( updatedSelection ServerSelection, ) { locationData := servers.LocationData() retroToLocation := make(map[string]servers.ServerLocation, len(locationData)) for _, data := range locationData { if data.RetroLoc == "" { continue } retroToLocation[strings.ToLower(data.RetroLoc)] = data } for i, region := range selection.Regions { location, ok := retroToLocation[region] if !ok { continue } selection.Regions[i] = strings.ToLower(location.Region) selection.Countries = append(selection.Countries, strings.ToLower(location.Country)) selection.Cities = append(selection.Cities, strings.ToLower(location.City)) // even empty string selection.Hostnames = append(selection.Hostnames, location.Hostname) } selection.Regions = dedupSlice(selection.Regions) selection.Countries = dedupSlice(selection.Countries) selection.Cities = dedupSlice(selection.Cities) selection.Hostnames = dedupSlice(selection.Hostnames) return selection } func dedupSlice(slice []string) (deduped []string) { if slice == nil { return nil } deduped = make([]string, 0, len(slice)) seen := make(map[string]struct{}, len(slice)) for _, s := range slice { if _, ok := seen[s]; !ok { seen[s] = struct{}{} deduped = append(deduped, s) } } return deduped } ================================================ FILE: internal/configuration/settings/system.go ================================================ package settings import ( "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // System contains settings to configure system related elements. type System struct { PUID *uint32 PGID *uint32 Timezone string } // Validate validates System settings. func (s System) validate() (err error) { return nil } func (s *System) copy() (copied System) { return System{ PUID: gosettings.CopyPointer(s.PUID), PGID: gosettings.CopyPointer(s.PGID), Timezone: s.Timezone, } } func (s *System) overrideWith(other System) { s.PUID = gosettings.OverrideWithPointer(s.PUID, other.PUID) s.PGID = gosettings.OverrideWithPointer(s.PGID, other.PGID) s.Timezone = gosettings.OverrideWithComparable(s.Timezone, other.Timezone) } func (s *System) setDefaults() { const defaultID = 1000 s.PUID = gosettings.DefaultPointer(s.PUID, defaultID) s.PGID = gosettings.DefaultPointer(s.PGID, defaultID) } func (s System) String() string { return s.toLinesNode().String() } func (s System) toLinesNode() (node *gotree.Node) { node = gotree.New("OS Alpine settings:") node.Appendf("Process UID: %d", *s.PUID) node.Appendf("Process GID: %d", *s.PGID) if s.Timezone != "" { node.Appendf("Timezone: %s", s.Timezone) } return node } func (s *System) read(r *reader.Reader) (err error) { s.PUID, err = r.Uint32Ptr("PUID", reader.RetroKeys("UID")) if err != nil { return err } s.PGID, err = r.Uint32Ptr("PGID", reader.RetroKeys("GID")) if err != nil { return err } s.Timezone = r.String("TZ") return nil } ================================================ FILE: internal/configuration/settings/updater.go ================================================ package settings import ( "fmt" "slices" "strings" "time" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) // Updater contains settings to configure the VPN // server information updater. type Updater struct { // Period is the period for which the updater // should run. It can be set to 0 to disable the // updater. It cannot be nil in the internal state. // TODO change to value and add Enabled field. Period *time.Duration // MinRatio is the minimum ratio of servers to // find per provider, compared to the total current // number of servers. It defaults to 0.8. MinRatio float64 // Providers is the list of VPN service providers // to update server information for. Providers []string // ProtonEmail is the email to authenticate with the Proton API. ProtonEmail *string // ProtonPassword is the password to authenticate with the Proton API. ProtonPassword *string } func (u Updater) Validate() (err error) { const minPeriod = time.Minute if *u.Period > 0 && *u.Period < minPeriod { return fmt.Errorf("%w: %d must be larger than %s", ErrUpdaterPeriodTooSmall, *u.Period, minPeriod) } if u.MinRatio <= 0 || u.MinRatio > 1 { return fmt.Errorf("%w: %.2f must be between 0+ and 1", ErrMinRatioNotValid, u.MinRatio) } validProviders := providers.All() for _, provider := range u.Providers { err = validate.IsOneOf(provider, validProviders...) if err != nil { return fmt.Errorf("%w: %w", ErrVPNProviderNameNotValid, err) } if provider == providers.Protonvpn { authenticatedAPI := *u.ProtonEmail != "" || *u.ProtonPassword != "" if authenticatedAPI { switch { case *u.ProtonEmail == "": return fmt.Errorf("%w", ErrUpdaterProtonEmailMissing) case *u.ProtonPassword == "": return fmt.Errorf("%w", ErrUpdaterProtonPasswordMissing) } } } } return nil } func (u *Updater) copy() (copied Updater) { return Updater{ Period: gosettings.CopyPointer(u.Period), MinRatio: u.MinRatio, Providers: gosettings.CopySlice(u.Providers), ProtonEmail: gosettings.CopyPointer(u.ProtonEmail), ProtonPassword: gosettings.CopyPointer(u.ProtonPassword), } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (u *Updater) overrideWith(other Updater) { u.Period = gosettings.OverrideWithPointer(u.Period, other.Period) u.MinRatio = gosettings.OverrideWithComparable(u.MinRatio, other.MinRatio) u.Providers = gosettings.OverrideWithSlice(u.Providers, other.Providers) u.ProtonEmail = gosettings.OverrideWithPointer(u.ProtonEmail, other.ProtonEmail) u.ProtonPassword = gosettings.OverrideWithPointer(u.ProtonPassword, other.ProtonPassword) } func (u *Updater) SetDefaults(vpnProvider string) { u.Period = gosettings.DefaultPointer(u.Period, 0) if u.MinRatio == 0 { const defaultMinRatio = 0.8 u.MinRatio = defaultMinRatio } if len(u.Providers) == 0 && vpnProvider != providers.Custom { u.Providers = []string{vpnProvider} } // Set these to empty strings to avoid nil pointer panics u.ProtonEmail = gosettings.DefaultPointer(u.ProtonEmail, "") u.ProtonPassword = gosettings.DefaultPointer(u.ProtonPassword, "") } func (u Updater) String() string { return u.toLinesNode().String() } func (u Updater) toLinesNode() (node *gotree.Node) { if *u.Period == 0 || len(u.Providers) == 0 { return nil } node = gotree.New("Server data updater settings:") node.Appendf("Update period: %s", *u.Period) node.Appendf("Minimum ratio: %.1f", u.MinRatio) node.Appendf("Providers to update: %s", strings.Join(u.Providers, ", ")) if slices.Contains(u.Providers, providers.Protonvpn) { node.Appendf("Proton API email: %s", *u.ProtonEmail) node.Appendf("Proton API password: %s", gosettings.ObfuscateKey(*u.ProtonPassword)) } return node } func (u *Updater) read(r *reader.Reader) (err error) { u.Period, err = r.DurationPtr("UPDATER_PERIOD") if err != nil { return err } u.MinRatio, err = r.Float64("UPDATER_MIN_RATIO") if err != nil { return err } u.Providers = r.CSV("UPDATER_VPN_SERVICE_PROVIDERS") u.ProtonEmail = r.Get("UPDATER_PROTONVPN_EMAIL") if u.ProtonEmail == nil { protonUsername := r.String("UPDATER_PROTONVPN_USERNAME", reader.IsRetro("UPDATER_PROTONVPN_EMAIL")) if protonUsername != "" { protonEmail := protonUsername + "@protonmail.com" u.ProtonEmail = &protonEmail } } u.ProtonPassword = r.Get("UPDATER_PROTONVPN_PASSWORD") return nil } ================================================ FILE: internal/configuration/settings/validation/servers.go ================================================ package validation import ( "sort" "github.com/qdm12/gluetun/internal/models" ) func sortedInsert(ss []string, s string) []string { i := sort.SearchStrings(ss, s) ss = append(ss, "") copy(ss[i+1:], ss[i:]) ss[i] = s return ss } func ExtractCountries(servers []models.Server) (values []string) { seen := make(map[string]struct{}, len(servers)) values = make([]string, 0, len(servers)) for _, server := range servers { value := server.Country if value == "" { continue } _, alreadySeen := seen[value] if alreadySeen { continue } seen[value] = struct{}{} values = sortedInsert(values, value) } return values } func ExtractCategories(servers []models.Server) (values []string) { seen := make(map[string]struct{}, len(servers)) values = make([]string, 0, len(servers)) for _, server := range servers { categories := server.Categories if len(categories) == 0 { continue } for _, value := range categories { _, alreadySeen := seen[value] if alreadySeen { continue } seen[value] = struct{}{} values = sortedInsert(values, value) } } return values } func ExtractRegions(servers []models.Server) (values []string) { seen := make(map[string]struct{}, len(servers)) values = make([]string, 0, len(servers)) for _, server := range servers { value := server.Region if value == "" { continue } _, alreadySeen := seen[value] if alreadySeen { continue } seen[value] = struct{}{} values = sortedInsert(values, value) } return values } func ExtractCities(servers []models.Server) (values []string) { seen := make(map[string]struct{}, len(servers)) values = make([]string, 0, len(servers)) for _, server := range servers { value := server.City if value == "" { continue } _, alreadySeen := seen[value] if alreadySeen { continue } seen[value] = struct{}{} values = sortedInsert(values, value) } return values } func ExtractISPs(servers []models.Server) (values []string) { seen := make(map[string]struct{}, len(servers)) values = make([]string, 0, len(servers)) for _, server := range servers { value := server.ISP if value == "" { continue } _, alreadySeen := seen[value] if alreadySeen { continue } seen[value] = struct{}{} values = sortedInsert(values, value) } return values } func ExtractServerNames(servers []models.Server) (values []string) { seen := make(map[string]struct{}, len(servers)) values = make([]string, 0, len(servers)) for _, server := range servers { value := server.ServerName if value == "" { continue } _, alreadySeen := seen[value] if alreadySeen { continue } seen[value] = struct{}{} values = sortedInsert(values, value) } return values } func ExtractHostnames(servers []models.Server) (values []string) { seen := make(map[string]struct{}, len(servers)) values = make([]string, 0, len(servers)) for _, server := range servers { value := server.Hostname if value == "" { continue } _, alreadySeen := seen[value] if alreadySeen { continue } seen[value] = struct{}{} values = sortedInsert(values, value) } return values } ================================================ FILE: internal/configuration/settings/validation/surfshark.go ================================================ package validation import ( "github.com/qdm12/gluetun/internal/provider/surfshark/servers" ) // TODO remove in v4. func SurfsharkRetroLocChoices() (choices []string) { locationData := servers.LocationData() choices = make([]string, 0, len(locationData)) seen := make(map[string]struct{}, len(locationData)) for _, data := range locationData { if data.RetroLoc == "" { continue } if _, ok := seen[data.RetroLoc]; ok { continue } seen[data.RetroLoc] = struct{}{} choices = sortedInsert(choices, data.RetroLoc) } return choices } ================================================ FILE: internal/configuration/settings/version.go ================================================ package settings import ( "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // Version contains settings to configure the version // information fetcher. type Version struct { // Enabled is true if the version information should // be fetched from Github. Enabled *bool } func (v Version) validate() (err error) { return nil } func (v *Version) copy() (copied Version) { return Version{ Enabled: gosettings.CopyPointer(v.Enabled), } } // overrideWith overrides fields of the receiver // settings object with any field set in the other // settings. func (v *Version) overrideWith(other Version) { v.Enabled = gosettings.OverrideWithPointer(v.Enabled, other.Enabled) } func (v *Version) setDefaults() { v.Enabled = gosettings.DefaultPointer(v.Enabled, true) } func (v Version) String() string { return v.toLinesNode().String() } func (v Version) toLinesNode() (node *gotree.Node) { node = gotree.New("Version settings:") node.Appendf("Enabled: %s", gosettings.BoolToYesNo(v.Enabled)) return node } func (v *Version) read(r *reader.Reader) (err error) { v.Enabled, err = r.BoolPtr("VERSION_INFORMATION") if err != nil { return err } return nil } ================================================ FILE: internal/configuration/settings/vpn.go ================================================ package settings import ( "fmt" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) type VPN struct { // Type is the VPN type and can only be // 'openvpn' or 'wireguard'. It cannot be the // empty string in the internal state. Type string `json:"type"` Provider Provider `json:"provider"` AmneziaWg AmneziaWg `json:"amneziawg"` OpenVPN OpenVPN `json:"openvpn"` Wireguard Wireguard `json:"wireguard"` PMTUD PMTUD `json:"pmtud"` // UpCommand is the command to use when the VPN connection is up. // It can be the empty string to indicate not to run a command. // It cannot be nil in the internal state. UpCommand *string `json:"up_command"` // DownCommand is the command to use after the VPN connection goes down. // It can be the empty string to indicate to NOT run a command. // It cannot be nil in the internal state. DownCommand *string `json:"down_command"` } // Validate validates VPN settings, using the filter choices getter (aka servers data storage), // and if IPv6 is supported or not. // TODO v4 remove pointer for receiver (because of Surfshark). func (v *VPN) Validate(filterChoicesGetter FilterChoicesGetter, ipv6Supported bool, warner Warner) (err error) { // Validate Type validVPNTypes := []string{vpn.AmneziaWg, vpn.OpenVPN, vpn.Wireguard} if err = validate.IsOneOf(v.Type, validVPNTypes...); err != nil { return fmt.Errorf("%w: %w", ErrVPNTypeNotValid, err) } err = v.Provider.validate(v.Type, filterChoicesGetter, warner) if err != nil { return fmt.Errorf("provider settings: %w", err) } switch v.Type { case vpn.AmneziaWg: err = v.AmneziaWg.validate(v.Provider.Name, ipv6Supported) if err != nil { return fmt.Errorf("AmneziaWG settings: %w", err) } case vpn.OpenVPN: err := v.OpenVPN.validate(v.Provider.Name) if err != nil { return fmt.Errorf("OpenVPN settings: %w", err) } case vpn.Wireguard: const amneziawg = false err := v.Wireguard.validate(v.Provider.Name, ipv6Supported, amneziawg) if err != nil { return fmt.Errorf("Wireguard settings: %w", err) } } err = v.PMTUD.validate() if err != nil { return fmt.Errorf("PMTUD settings: %w", err) } return nil } func (v *VPN) Copy() (copied VPN) { return VPN{ Type: v.Type, Provider: v.Provider.copy(), AmneziaWg: v.AmneziaWg.copy(), OpenVPN: v.OpenVPN.copy(), Wireguard: v.Wireguard.copy(), PMTUD: v.PMTUD.copy(), UpCommand: gosettings.CopyPointer(v.UpCommand), DownCommand: gosettings.CopyPointer(v.DownCommand), } } func (v *VPN) OverrideWith(other VPN) { v.Type = gosettings.OverrideWithComparable(v.Type, other.Type) v.Provider.overrideWith(other.Provider) v.AmneziaWg.overrideWith(other.AmneziaWg) v.OpenVPN.overrideWith(other.OpenVPN) v.Wireguard.overrideWith(other.Wireguard) v.PMTUD.overrideWith(other.PMTUD) v.UpCommand = gosettings.OverrideWithPointer(v.UpCommand, other.UpCommand) v.DownCommand = gosettings.OverrideWithPointer(v.DownCommand, other.DownCommand) } func (v *VPN) setDefaults() { v.Type = gosettings.DefaultComparable(v.Type, vpn.OpenVPN) v.Provider.setDefaults() v.AmneziaWg.setDefaults(v.Provider.Name) v.OpenVPN.setDefaults(v.Provider.Name) v.Wireguard.setDefaults(v.Provider.Name) v.PMTUD.setDefaults() v.UpCommand = gosettings.DefaultPointer(v.UpCommand, "") v.DownCommand = gosettings.DefaultPointer(v.DownCommand, "") } func (v VPN) String() string { return v.toLinesNode().String() } func (v VPN) toLinesNode() (node *gotree.Node) { node = gotree.New("VPN settings:") node.AppendNode(v.Provider.toLinesNode()) switch v.Type { case vpn.AmneziaWg: node.AppendNode(v.AmneziaWg.toLinesNode()) case vpn.OpenVPN: node.AppendNode(v.OpenVPN.toLinesNode()) case vpn.Wireguard: node.AppendNode(v.Wireguard.toLinesNode()) } node.AppendNode(v.PMTUD.toLinesNode()) if *v.UpCommand != "" { node.Appendf("Up command: %s", *v.UpCommand) } if *v.DownCommand != "" { node.Appendf("Down command: %s", *v.DownCommand) } return node } func (v *VPN) read(r *reader.Reader) (err error) { v.Type = r.String("VPN_TYPE") err = v.Provider.read(r, v.Type) if err != nil { return fmt.Errorf("VPN provider: %w", err) } err = v.AmneziaWg.read(r) if err != nil { return fmt.Errorf("AmneziaWG: %w", err) } err = v.OpenVPN.read(r) if err != nil { return fmt.Errorf("OpenVPN: %w", err) } const amneziawg = false err = v.Wireguard.read(r, amneziawg) if err != nil { return fmt.Errorf("wireguard: %w", err) } err = v.PMTUD.read(r) if err != nil { return fmt.Errorf("PMTUD: %w", err) } v.UpCommand = r.Get("VPN_UP_COMMAND", reader.ForceLowercase(false)) v.DownCommand = r.Get("VPN_DOWN_COMMAND", reader.ForceLowercase(false)) return nil } ================================================ FILE: internal/configuration/settings/wireguard.go ================================================ package settings import ( "fmt" "net/netip" "regexp" "strings" "time" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" ) // Wireguard contains settings to configure the Wireguard client. type Wireguard struct { // PrivateKey is the Wireguard client peer private key. // It cannot be nil in the internal state. PrivateKey *string `json:"private_key"` // PreSharedKey is the Wireguard pre-shared key. // It can be the empty string to indicate there // is no pre-shared key. // It cannot be nil in the internal state. PreSharedKey *string `json:"pre_shared_key"` // Addresses are the Wireguard interface addresses. Addresses []netip.Prefix `json:"addresses"` // AllowedIPs are the Wireguard allowed IPs. // If left unset, they default to "0.0.0.0/0" // and, if IPv6 is supported, "::0". AllowedIPs []netip.Prefix `json:"allowed_ips"` // Interface is the name of the Wireguard interface // to create. It cannot be the empty string in the // internal state. Interface string `json:"interface"` PersistentKeepaliveInterval *time.Duration `json:"persistent_keep_alive_interval"` // Maximum Transmission Unit (MTU) of the Wireguard interface. // It cannot be nil in the internal state, and defaults to // 0 indicating to use PMTUD. MTU *uint32 `json:"mtu"` // Implementation is the Wireguard implementation to use. // It can be "auto", "userspace" or "kernelspace". // It defaults to "auto" and cannot be the empty string // in the internal state. Implementation string `json:"implementation"` } var regexpInterfaceName = regexp.MustCompile(`^[a-zA-Z0-9_]+$`) // Validate validates Wireguard settings. // It should only be ran if the VPN type chosen is Wireguard or AmneziaWg. func (w Wireguard) validate(vpnProvider string, ipv6Supported, amneziawg bool) (err error) { // Validate PrivateKey if *w.PrivateKey == "" { return fmt.Errorf("%w", ErrWireguardPrivateKeyNotSet) } _, err = wgtypes.ParseKey(*w.PrivateKey) if err != nil { err = fmt.Errorf("private key is not valid: %w", err) if vpnProvider == providers.Nordvpn && err.Error() == "wgtypes: incorrect key size: 48" { err = fmt.Errorf("%w - you might be using your access token instead of the Wireguard private key", err) } return err } if vpnProvider == providers.Airvpn { if *w.PreSharedKey == "" { return fmt.Errorf("%w", ErrWireguardPreSharedKeyNotSet) } } // Validate PreSharedKey if *w.PreSharedKey != "" { // Note: this is optional _, err = wgtypes.ParseKey(*w.PreSharedKey) if err != nil { return fmt.Errorf("pre-shared key is not valid: %w", err) } } // Validate Addresses if len(w.Addresses) == 0 { return fmt.Errorf("%w", ErrWireguardInterfaceAddressNotSet) } for i, ipNet := range w.Addresses { if !ipNet.IsValid() { return fmt.Errorf("%w: for address at index %d", ErrWireguardInterfaceAddressNotSet, i) } if !ipv6Supported && ipNet.Addr().Is6() { return fmt.Errorf("%w: address %s", ErrWireguardInterfaceAddressIPv6, ipNet.String()) } } // Validate AllowedIPs // WARNING: do not check for IPv6 networks in the allowed IPs, // the wireguard code will take care to ignore it. if len(w.AllowedIPs) == 0 { return fmt.Errorf("%w", ErrWireguardAllowedIPsNotSet) } for i, allowedIP := range w.AllowedIPs { if !allowedIP.IsValid() { return fmt.Errorf("%w: for allowed ip %d of %d", ErrWireguardAllowedIPNotSet, i+1, len(w.AllowedIPs)) } } if *w.PersistentKeepaliveInterval < 0 { return fmt.Errorf("%w: %s", ErrWireguardKeepAliveNegative, *w.PersistentKeepaliveInterval) } // Validate interface if !regexpInterfaceName.MatchString(w.Interface) { return fmt.Errorf("%w: '%s' does not match regex '%s'", ErrWireguardInterfaceNotValid, w.Interface, regexpInterfaceName) } if !amneziawg { // amneziawg should have its own Implementation field and ignore this one validImplementations := []string{"auto", "userspace", "kernelspace"} if err := validate.IsOneOf(w.Implementation, validImplementations...); err != nil { return fmt.Errorf("%w: %w", ErrWireguardImplementationNotValid, err) } } return nil } func (w *Wireguard) copy() (copied Wireguard) { return Wireguard{ PrivateKey: gosettings.CopyPointer(w.PrivateKey), PreSharedKey: gosettings.CopyPointer(w.PreSharedKey), Addresses: gosettings.CopySlice(w.Addresses), AllowedIPs: gosettings.CopySlice(w.AllowedIPs), PersistentKeepaliveInterval: gosettings.CopyPointer(w.PersistentKeepaliveInterval), Interface: w.Interface, MTU: w.MTU, Implementation: w.Implementation, } } func (w *Wireguard) overrideWith(other Wireguard) { w.PrivateKey = gosettings.OverrideWithPointer(w.PrivateKey, other.PrivateKey) w.PreSharedKey = gosettings.OverrideWithPointer(w.PreSharedKey, other.PreSharedKey) w.Addresses = gosettings.OverrideWithSlice(w.Addresses, other.Addresses) w.AllowedIPs = gosettings.OverrideWithSlice(w.AllowedIPs, other.AllowedIPs) w.PersistentKeepaliveInterval = gosettings.OverrideWithPointer(w.PersistentKeepaliveInterval, other.PersistentKeepaliveInterval) w.Interface = gosettings.OverrideWithComparable(w.Interface, other.Interface) w.MTU = gosettings.OverrideWithComparable(w.MTU, other.MTU) w.Implementation = gosettings.OverrideWithComparable(w.Implementation, other.Implementation) } func (w *Wireguard) setDefaults(vpnProvider string) { w.PrivateKey = gosettings.DefaultPointer(w.PrivateKey, "") w.PreSharedKey = gosettings.DefaultPointer(w.PreSharedKey, "") switch vpnProvider { case providers.Nordvpn: defaultNordVPNAddress := netip.AddrFrom4([4]byte{10, 5, 0, 2}) defaultNordVPNPrefix := netip.PrefixFrom(defaultNordVPNAddress, defaultNordVPNAddress.BitLen()) w.Addresses = gosettings.DefaultSlice(w.Addresses, []netip.Prefix{defaultNordVPNPrefix}) case providers.Protonvpn: defaultAddress := netip.AddrFrom4([4]byte{10, 2, 0, 2}) defaultPrefix := netip.PrefixFrom(defaultAddress, defaultAddress.BitLen()) w.Addresses = gosettings.DefaultSlice(w.Addresses, []netip.Prefix{defaultPrefix}) } defaultAllowedIPs := []netip.Prefix{ netip.PrefixFrom(netip.IPv4Unspecified(), 0), netip.PrefixFrom(netip.IPv6Unspecified(), 0), } w.AllowedIPs = gosettings.DefaultSlice(w.AllowedIPs, defaultAllowedIPs) w.PersistentKeepaliveInterval = gosettings.DefaultPointer(w.PersistentKeepaliveInterval, 0) w.Interface = gosettings.DefaultComparable(w.Interface, "wg0") w.MTU = gosettings.DefaultPointer(w.MTU, 0) w.Implementation = gosettings.DefaultComparable(w.Implementation, "auto") } func (w Wireguard) String() string { return w.toLinesNode().String() } func (w Wireguard) toLinesNode() (node *gotree.Node) { node = gotree.New("Wireguard settings:") if *w.PrivateKey != "" { s := gosettings.ObfuscateKey(*w.PrivateKey) node.Appendf("Private key: %s", s) } if *w.PreSharedKey != "" { s := gosettings.ObfuscateKey(*w.PreSharedKey) node.Appendf("Pre-shared key: %s", s) } addressesNode := node.Appendf("Interface addresses:") for _, address := range w.Addresses { addressesNode.Append(address.String()) } allowedIPsNode := node.Appendf("Allowed IPs:") for _, allowedIP := range w.AllowedIPs { allowedIPsNode.Append(allowedIP.String()) } if *w.PersistentKeepaliveInterval > 0 { node.Appendf("Persistent keepalive interval: %s", w.PersistentKeepaliveInterval) } interfaceNode := node.Appendf("Network interface: %s", w.Interface) if *w.MTU == 0 { interfaceNode.Append("MTU: use path MTU discovery") } else { interfaceNode.Appendf("MTU: %d", *w.MTU) } if w.Implementation != "auto" { node.Appendf("Implementation: %s", w.Implementation) } return node } func (w *Wireguard) read(r *reader.Reader, amneziaWG bool) (err error) { prefix := "WIREGUARD" if amneziaWG { prefix = "AMNEZIAWG" } w.PrivateKey = r.Get(prefix+"_PRIVATE_KEY", reader.ForceLowercase(false)) w.PreSharedKey = r.Get(prefix+"_PRESHARED_KEY", reader.ForceLowercase(false)) w.Interface = r.String("VPN_INTERFACE", reader.RetroKeys(prefix+"_INTERFACE"), reader.ForceLowercase(false)) if !amneziaWG { w.Implementation = r.String("WIREGUARD_IMPLEMENTATION") } addressStrings := r.CSV(prefix+"_ADDRESSES", reader.RetroKeys(prefix+"_ADDRESS")) // WARNING: do not initialize w.Addresses to an empty slice // or the defaults for nordvpn will not work. for _, addressString := range addressStrings { if !strings.ContainsRune(addressString, '/') { addressString += "/32" } addressString = strings.TrimSpace(addressString) address, err := netip.ParsePrefix(addressString) if err != nil { return fmt.Errorf("parsing address: %w", err) } w.Addresses = append(w.Addresses, address) } w.AllowedIPs, err = r.CSVNetipPrefixes(prefix + "_ALLOWED_IPS") if err != nil { return err // already wrapped } w.PersistentKeepaliveInterval, err = r.DurationPtr(prefix + "_PERSISTENT_KEEPALIVE_INTERVAL") if err != nil { return err } w.MTU, err = r.Uint32Ptr(prefix + "_MTU") if err != nil { return err } return nil } ================================================ FILE: internal/configuration/settings/wireguardselection.go ================================================ package settings import ( "fmt" "net/netip" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" ) type WireguardSelection struct { // EndpointIP is the server endpoint IP address. // It is notably required with the custom provider. // Otherwise it overrides any IP address from the picked // built-in server connection. To indicate it should // not be used, it should be set to [netip.IPv4Unspecified]. // It can never be the zero value in the internal state. EndpointIP netip.Addr `json:"endpoint_ip"` // EndpointPort is a the server port to use for the VPN server. // It is optional for VPN providers IVPN, Mullvad, Surfshark // and Windscribe, and compulsory for the others. // When optional, it can be set to 0 to indicate not use // a custom endpoint port. It cannot be nil in the internal // state. EndpointPort *uint16 `json:"endpoint_port"` // PublicKey is the server public key. // It is only used with VPN providers generating Wireguard // configurations specific to each server and user. PublicKey string `json:"public_key"` } // Validate validates WireguardSelection settings. // It should only be ran if the VPN type chosen is Wireguard. func (w WireguardSelection) validate(vpnProvider string) (err error) { // Validate EndpointIP switch vpnProvider { case providers.Airvpn, providers.Fastestvpn, providers.Ivpn, providers.Mullvad, providers.Nordvpn, providers.Protonvpn, providers.Surfshark, providers.Windscribe: // endpoint IP addresses are baked in case providers.Custom: if !w.EndpointIP.IsValid() || w.EndpointIP.IsUnspecified() { return fmt.Errorf("%w", ErrWireguardEndpointIPNotSet) } default: // Providers not supporting Wireguard } // Validate EndpointPort switch vpnProvider { // EndpointPort is required case providers.Custom: if *w.EndpointPort == 0 { return fmt.Errorf("%w", ErrWireguardEndpointPortNotSet) } // EndpointPort cannot be set case providers.Fastestvpn, providers.Nordvpn, providers.Protonvpn, providers.Surfshark: if *w.EndpointPort != 0 { return fmt.Errorf("%w", ErrWireguardEndpointPortSet) } case providers.Airvpn, providers.Ivpn, providers.Mullvad, providers.Windscribe: // EndpointPort is optional and can be 0 if *w.EndpointPort == 0 { break // no custom endpoint port set } if vpnProvider == providers.Mullvad { break // no restriction on custom endpoint port value } var allowed []uint16 switch vpnProvider { case providers.Airvpn: allowed = []uint16{1637, 47107} case providers.Ivpn: allowed = []uint16{2049, 2050, 53, 30587, 41893, 48574, 58237} case providers.Windscribe: allowed = []uint16{53, 80, 123, 443, 1194, 65142} } err = validate.IsOneOf(*w.EndpointPort, allowed...) if err == nil { break } return fmt.Errorf("%w: for VPN service provider %s: %w", ErrWireguardEndpointPortNotAllowed, vpnProvider, err) default: // Providers not supporting Wireguard } // Validate PublicKey switch vpnProvider { case providers.Fastestvpn, providers.Ivpn, providers.Mullvad, providers.Surfshark, providers.Windscribe: // public keys are baked in case providers.Custom: if w.PublicKey == "" { return fmt.Errorf("%w", ErrWireguardPublicKeyNotSet) } default: // Providers not supporting Wireguard } if w.PublicKey != "" { _, err := wgtypes.ParseKey(w.PublicKey) if err != nil { return fmt.Errorf("%w: %s: %s", ErrWireguardPublicKeyNotValid, w.PublicKey, err) } } return nil } func (w *WireguardSelection) copy() (copied WireguardSelection) { return WireguardSelection{ EndpointIP: w.EndpointIP, EndpointPort: gosettings.CopyPointer(w.EndpointPort), PublicKey: w.PublicKey, } } func (w *WireguardSelection) overrideWith(other WireguardSelection) { w.EndpointIP = gosettings.OverrideWithValidator(w.EndpointIP, other.EndpointIP) w.EndpointPort = gosettings.OverrideWithPointer(w.EndpointPort, other.EndpointPort) w.PublicKey = gosettings.OverrideWithComparable(w.PublicKey, other.PublicKey) } func (w *WireguardSelection) setDefaults() { w.EndpointIP = gosettings.DefaultValidator(w.EndpointIP, netip.IPv4Unspecified()) w.EndpointPort = gosettings.DefaultPointer(w.EndpointPort, 0) } func (w WireguardSelection) String() string { return w.toLinesNode().String() } func (w WireguardSelection) toLinesNode() (node *gotree.Node) { node = gotree.New("Wireguard selection settings:") if !w.EndpointIP.IsUnspecified() { node.Appendf("Endpoint IP address: %s", w.EndpointIP) } if *w.EndpointPort != 0 { node.Appendf("Endpoint port: %d", *w.EndpointPort) } if w.PublicKey != "" { node.Appendf("Server public key: %s", w.PublicKey) } return node } func (w *WireguardSelection) read(r *reader.Reader) (err error) { w.EndpointIP, err = r.NetipAddr("WIREGUARD_ENDPOINT_IP", reader.RetroKeys("VPN_ENDPOINT_IP")) if err != nil { return fmt.Errorf("%w - note this MUST be an IP address, "+ "see https://github.com/qdm12/gluetun/issues/788", err) } w.EndpointPort, err = r.Uint16Ptr("WIREGUARD_ENDPOINT_PORT", reader.RetroKeys("VPN_ENDPOINT_PORT")) if err != nil { return err } w.PublicKey = r.String("WIREGUARD_PUBLIC_KEY", reader.ForceLowercase(false)) return nil } ================================================ FILE: internal/configuration/sources/files/amneziawg.go ================================================ package files import ( "errors" "fmt" "os" "path/filepath" "gopkg.in/ini.v1" ) func (s *Source) lazyLoadAmneziawgConf() AmneziawgConfig { if s.cached.amneziawgLoaded { return s.cached.amneziawgConf } s.cached.amneziawgLoaded = true var err error s.cached.amneziawgConf, err = ParseAmneziawgConf(filepath.Join(s.rootDirectory, "amneziawg", "awg0.conf")) if err != nil { s.warner.Warnf("skipping Amneziawg config: %s", err) } return s.cached.amneziawgConf } type AmneziawgConfig struct { Wireguard WireguardConfig Jc *string Jmin *string Jmax *string S1 *string S2 *string S3 *string S4 *string H1 *string H2 *string H3 *string H4 *string I1 *string I2 *string I3 *string I4 *string I5 *string } func ParseAmneziawgConf(path string) (config AmneziawgConfig, err error) { iniFile, err := ini.InsensitiveLoad(path) if err != nil { if errors.Is(err, os.ErrNotExist) { return AmneziawgConfig{}, nil } return AmneziawgConfig{}, fmt.Errorf("loading ini from reader: %w", err) } config.Wireguard, err = ParseWireguardConf(path) if err != nil { return AmneziawgConfig{}, err } interfaceSection, err := iniFile.GetSection("Interface") if err != nil { // can never happen return AmneziawgConfig{}, fmt.Errorf("getting interface section: %w", err) } config.Jc = getINIKeyFromSection(interfaceSection, "Jc") config.Jmin = getINIKeyFromSection(interfaceSection, "Jmin") config.Jmax = getINIKeyFromSection(interfaceSection, "Jmax") config.S1 = getINIKeyFromSection(interfaceSection, "S1") config.S2 = getINIKeyFromSection(interfaceSection, "S2") config.S3 = getINIKeyFromSection(interfaceSection, "S3") config.S4 = getINIKeyFromSection(interfaceSection, "S4") config.H1 = getINIKeyFromSection(interfaceSection, "H1") config.H2 = getINIKeyFromSection(interfaceSection, "H2") config.H3 = getINIKeyFromSection(interfaceSection, "H3") config.H4 = getINIKeyFromSection(interfaceSection, "H4") config.I1 = getINIKeyFromSection(interfaceSection, "I1") config.I2 = getINIKeyFromSection(interfaceSection, "I2") config.I3 = getINIKeyFromSection(interfaceSection, "I3") config.I4 = getINIKeyFromSection(interfaceSection, "I4") config.I5 = getINIKeyFromSection(interfaceSection, "I5") return config, nil } ================================================ FILE: internal/configuration/sources/files/amneziawg_test.go ================================================ package files import ( "io/fs" "os" "path/filepath" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_Source_ParseAmneziawgConf(t *testing.T) { t.Parallel() t.Run("no_file", func(t *testing.T) { t.Parallel() noFile := filepath.Join(t.TempDir(), "doesnotexist") wireguard, err := ParseAmneziawgConf(noFile) assert.Equal(t, AmneziawgConfig{}, wireguard) assert.NoError(t, err) }) testCases := map[string]struct { fileContent string amneziawg AmneziawgConfig errMessage string }{ "ini_load_error": { fileContent: "invalid", errMessage: "loading ini from reader: key-value delimiter not found: invalid", }, "empty_file": { errMessage: `getting interface section: section "interface" does not exist`, }, "success": { fileContent: ` [Interface] PrivateKey = QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8= Address = 10.38.22.35/32 DNS = 193.138.218.74 Jc = 4 H1 = 721391205 I1 = [Peer] PresharedKey = YJ680VN+dGrdsWNjSFqZ6vvwuiNhbq502ZL3G7Q3o3g= `, amneziawg: AmneziawgConfig{ Wireguard: WireguardConfig{ PrivateKey: ptrTo("QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8="), PreSharedKey: ptrTo("YJ680VN+dGrdsWNjSFqZ6vvwuiNhbq502ZL3G7Q3o3g="), Addresses: ptrTo("10.38.22.35/32"), }, Jc: ptrTo("4"), H1: ptrTo("721391205"), I1: ptrTo(""), }, }, } for testName, testCase := range testCases { t.Run(testName, func(t *testing.T) { t.Parallel() configFile := filepath.Join(t.TempDir(), "awg.conf") const permission = fs.FileMode(0o600) err := os.WriteFile(configFile, []byte(testCase.fileContent), permission) require.NoError(t, err) wireguard, err := ParseAmneziawgConf(configFile) assert.Equal(t, testCase.amneziawg, wireguard) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/configuration/sources/files/helpers.go ================================================ package files import ( "fmt" "io" "os" "strings" "github.com/qdm12/gluetun/internal/openvpn/extract" ) // ReadFromFile reads the content of the file as a string, // and returns if the file was present or not with isSet. func ReadFromFile(filepath string) (content string, isSet bool, err error) { file, err := os.Open(filepath) if err != nil { if os.IsNotExist(err) { return "", false, nil } return "", false, fmt.Errorf("opening file: %w", err) } b, err := io.ReadAll(file) if err != nil { _ = file.Close() return "", false, fmt.Errorf("reading file: %w", err) } if err := file.Close(); err != nil { return "", false, fmt.Errorf("closing file: %w", err) } content = string(b) content = strings.TrimSuffix(content, "\r\n") content = strings.TrimSuffix(content, "\n") return content, true, nil } func ReadPEMFile(filepath string) (base64Str string, isSet bool, err error) { pemData, isSet, err := ReadFromFile(filepath) if err != nil { return "", false, fmt.Errorf("reading file: %w", err) } else if !isSet { return "", false, nil } base64Str, err = extract.PEM([]byte(pemData)) if err != nil { return "", false, fmt.Errorf("extracting base64 encoded data from PEM content: %w", err) } return base64Str, true, nil } ================================================ FILE: internal/configuration/sources/files/interfaces.go ================================================ package files type Warner interface { Warnf(format string, a ...interface{}) } ================================================ FILE: internal/configuration/sources/files/reader.go ================================================ package files import ( "os" "path/filepath" "strings" ) type Source struct { rootDirectory string environ map[string]string warner Warner cached struct { wireguardLoaded bool wireguardConf WireguardConfig amneziawgLoaded bool amneziawgConf AmneziawgConfig } } func New(warner Warner) (source *Source) { osEnviron := os.Environ() environ := make(map[string]string, len(osEnviron)) for _, pair := range osEnviron { const maxSplit = 2 split := strings.SplitN(pair, "=", maxSplit) environ[split[0]] = split[1] } return &Source{ rootDirectory: "/gluetun", environ: environ, warner: warner, } } func (s *Source) String() string { return "files" } func (s *Source) Get(key string) (value string, isSet bool) { if key == "" { return "", false } // TODO v4 custom environment variable to set the files parent directory // and not to set each file to a specific path envKey := strings.ToUpper(key) envKey = strings.ReplaceAll(envKey, "-", "_") envKey += "_FILE" path := s.environ[envKey] if path == "" { path = filepath.Join(s.rootDirectory, key) } // Special file handling switch key { // TODO timezone from /etc/localtime case "client.crt", "client.key", "openvpn_encrypted_key": value, isSet, err := ReadPEMFile(path) if err != nil { s.warner.Warnf("skipping %s: parsing PEM: %s", path, err) } return value, isSet case "wireguard_private_key": return strPtrToStringIsSet(s.lazyLoadWireguardConf().PrivateKey) case "wireguard_preshared_key": return strPtrToStringIsSet(s.lazyLoadWireguardConf().PreSharedKey) case "wireguard_addresses": return strPtrToStringIsSet(s.lazyLoadWireguardConf().Addresses) case "wireguard_public_key": return strPtrToStringIsSet(s.lazyLoadWireguardConf().PublicKey) case "wireguard_endpoint_ip": return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointIP) case "wireguard_endpoint_port": return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointPort) } value, isSet, matched := s.getAmneziawgKey(key) if matched { return value, isSet } value, isSet, err := ReadFromFile(path) if err != nil { s.warner.Warnf("skipping %s: reading file: %s", path, err) } return value, isSet } func (s *Source) getAmneziawgKey(key string) (value string, isSet, matched bool) { switch key { case "amnezia_private_key": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.PrivateKey) case "amnezia_preshared_key": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.PreSharedKey) case "amnezia_addresses": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.Addresses) case "amnezia_public_key": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.PublicKey) case "amnezia_endpoint_ip": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.EndpointIP) case "amnezia_endpoint_port": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.EndpointPort) case "amnezia_jc": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Jc) case "amnezia_jmin": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Jmin) case "amnezia_jmax": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Jmax) case "amnezia_s1": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S1) case "amnezia_s2": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S2) case "amnezia_s3": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S3) case "amnezia_s4": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S4) case "amnezia_h1": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H1) case "amnezia_h2": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H2) case "amnezia_h3": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H3) case "amnezia_h4": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H4) case "amnezia_i1": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I1) case "amnezia_i2": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I2) case "amnezia_i3": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I3) case "amnezia_i4": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I4) case "amnezia_i5": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I5) default: return "", false, false } return value, isSet, true } func (s *Source) KeyTransform(key string) string { switch key { // TODO v4 remove these irregular cases case "OPENVPN_KEY": return "client.key" case "OPENVPN_CERT": return "client.crt" case "OPENVPN_ENCRYPTED_KEY": return "openvpn_encrypted_key" default: key = strings.ToLower(key) // HTTPROXY_USER -> httpproxy_user return key } } func strPtrToStringIsSet(ptr *string) (s string, isSet bool) { if ptr == nil { return "", false } return *ptr, true } ================================================ FILE: internal/configuration/sources/files/wireguard.go ================================================ package files import ( "errors" "fmt" "os" "path/filepath" "regexp" "strings" "gopkg.in/ini.v1" ) func (s *Source) lazyLoadWireguardConf() WireguardConfig { if s.cached.wireguardLoaded { return s.cached.wireguardConf } s.cached.wireguardLoaded = true var err error s.cached.wireguardConf, err = ParseWireguardConf(filepath.Join(s.rootDirectory, "wireguard", "wg0.conf")) if err != nil { s.warner.Warnf("skipping Wireguard config: %s", err) } return s.cached.wireguardConf } type WireguardConfig struct { PrivateKey *string PreSharedKey *string Addresses *string PublicKey *string EndpointIP *string EndpointPort *string } var regexINISectionNotExist = regexp.MustCompile(`^section ".+" does not exist$`) func ParseWireguardConf(path string) (config WireguardConfig, err error) { iniFile, err := ini.InsensitiveLoad(path) if err != nil { if errors.Is(err, os.ErrNotExist) { return WireguardConfig{}, nil } return WireguardConfig{}, fmt.Errorf("loading ini from reader: %w", err) } interfaceSection, err := iniFile.GetSection("Interface") if err == nil { config.PrivateKey, config.Addresses = parseWireguardInterfaceSection(interfaceSection) } else if !regexINISectionNotExist.MatchString(err.Error()) { // can never happen return WireguardConfig{}, fmt.Errorf("getting interface section: %w", err) } peerSection, err := iniFile.GetSection("Peer") if err == nil { config.PreSharedKey, config.PublicKey, config.EndpointIP, config.EndpointPort = parseWireguardPeerSection(peerSection) } else if !regexINISectionNotExist.MatchString(err.Error()) { // can never happen return WireguardConfig{}, fmt.Errorf("getting peer section: %w", err) } return config, nil } func parseWireguardInterfaceSection(interfaceSection *ini.Section) ( privateKey, addresses *string, ) { privateKey = getINIKeyFromSection(interfaceSection, "PrivateKey") addresses = getINIKeyFromSection(interfaceSection, "Address") return privateKey, addresses } var ErrEndpointHostNotIP = errors.New("endpoint host is not an IP") func parseWireguardPeerSection(peerSection *ini.Section) ( preSharedKey, publicKey, endpointIP, endpointPort *string, ) { preSharedKey = getINIKeyFromSection(peerSection, "PresharedKey") publicKey = getINIKeyFromSection(peerSection, "PublicKey") endpoint := getINIKeyFromSection(peerSection, "Endpoint") if endpoint != nil { parts := strings.Split(*endpoint, ":") endpointIP = &parts[0] const partsWithPort = 2 if len(parts) >= partsWithPort { endpointPort = new(string) *endpointPort = strings.Join(parts[1:], ":") } } return preSharedKey, publicKey, endpointIP, endpointPort } var regexINIKeyNotExist = regexp.MustCompile(`key ".*" not exists$`) func getINIKeyFromSection(section *ini.Section, key string) (value *string) { iniKey, err := section.GetKey(key) if err != nil { if regexINIKeyNotExist.MatchString(err.Error()) { return nil } // can never happen panic(fmt.Sprintf("getting key %q: %s", key, err)) } value = new(string) *value = iniKey.String() return value } ================================================ FILE: internal/configuration/sources/files/wireguard_test.go ================================================ package files import ( "io/fs" "os" "path/filepath" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "gopkg.in/ini.v1" ) func ptrTo[T any](value T) *T { return &value } func Test_Source_ParseWireguardConf(t *testing.T) { t.Parallel() t.Run("fail reading from file", func(t *testing.T) { t.Parallel() dirPath := t.TempDir() wireguard, err := ParseWireguardConf(dirPath) assert.Equal(t, WireguardConfig{}, wireguard) assert.Error(t, err) assert.Regexp(t, `loading ini from reader: BOM: read .+: is a directory`, err.Error()) }) t.Run("no file", func(t *testing.T) { t.Parallel() noFile := filepath.Join(t.TempDir(), "doesnotexist") wireguard, err := ParseWireguardConf(noFile) assert.Equal(t, WireguardConfig{}, wireguard) assert.NoError(t, err) }) testCases := map[string]struct { fileContent string wireguard WireguardConfig errMessage string }{ "ini load error": { fileContent: "invalid", errMessage: "loading ini from reader: key-value delimiter not found: invalid", }, "empty file": {}, "interface_section_missing": { fileContent: ` [Peer] PresharedKey = YJ680VN+dGrdsWNjSFqZ6vvwuiNhbq502ZL3G7Q3o3g= `, wireguard: WireguardConfig{ PreSharedKey: ptrTo("YJ680VN+dGrdsWNjSFqZ6vvwuiNhbq502ZL3G7Q3o3g="), }, }, "success": { fileContent: ` [Interface] PrivateKey = QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8= Address = 10.38.22.35/32 DNS = 193.138.218.74 [Peer] PresharedKey = YJ680VN+dGrdsWNjSFqZ6vvwuiNhbq502ZL3G7Q3o3g= `, wireguard: WireguardConfig{ PrivateKey: ptrTo("QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8="), PreSharedKey: ptrTo("YJ680VN+dGrdsWNjSFqZ6vvwuiNhbq502ZL3G7Q3o3g="), Addresses: ptrTo("10.38.22.35/32"), }, }, } for testName, testCase := range testCases { t.Run(testName, func(t *testing.T) { t.Parallel() configFile := filepath.Join(t.TempDir(), "wg.conf") const permission = fs.FileMode(0o600) err := os.WriteFile(configFile, []byte(testCase.fileContent), permission) require.NoError(t, err) wireguard, err := ParseWireguardConf(configFile) assert.Equal(t, testCase.wireguard, wireguard) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } }) } } func Test_parseWireguardInterfaceSection(t *testing.T) { t.Parallel() testCases := map[string]struct { iniData string privateKey *string addresses *string }{ "no_fields": { iniData: `[Interface]`, }, "only_private_key": { iniData: `[Interface] PrivateKey = x `, privateKey: ptrTo("x"), }, "all_fields": { iniData: ` [Interface] PrivateKey = QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8= Address = 10.38.22.35/32 `, privateKey: ptrTo("QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8="), addresses: ptrTo("10.38.22.35/32"), }, } for testName, testCase := range testCases { t.Run(testName, func(t *testing.T) { t.Parallel() iniFile, err := ini.Load([]byte(testCase.iniData)) require.NoError(t, err) iniSection, err := iniFile.GetSection("Interface") require.NoError(t, err) privateKey, addresses := parseWireguardInterfaceSection(iniSection) assert.Equal(t, testCase.privateKey, privateKey) assert.Equal(t, testCase.addresses, addresses) }) } } func Test_parseWireguardPeerSection(t *testing.T) { t.Parallel() testCases := map[string]struct { iniData string preSharedKey *string publicKey *string endpointIP *string endpointPort *string errMessage string }{ "public key set": { iniData: `[Peer] PublicKey = QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8=`, publicKey: ptrTo("QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8="), }, "endpoint_only_host": { iniData: `[Peer] Endpoint = x`, endpointIP: ptrTo("x"), }, "endpoint_no_port": { iniData: `[Peer] Endpoint = x:`, endpointIP: ptrTo("x"), endpointPort: ptrTo(""), }, "valid_endpoint": { iniData: `[Peer] Endpoint = 1.2.3.4:51820`, endpointIP: ptrTo("1.2.3.4"), endpointPort: ptrTo("51820"), }, "all_set": { iniData: `[Peer] PublicKey = QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8= Endpoint = 1.2.3.4:51820`, publicKey: ptrTo("QOlCgyA/Sn/c/+YNTIEohrjm8IZV+OZ2AUFIoX20sk8="), endpointIP: ptrTo("1.2.3.4"), endpointPort: ptrTo("51820"), }, } for testName, testCase := range testCases { t.Run(testName, func(t *testing.T) { t.Parallel() iniFile, err := ini.Load([]byte(testCase.iniData)) require.NoError(t, err) iniSection, err := iniFile.GetSection("Peer") require.NoError(t, err) preSharedKey, publicKey, endpointIP, endpointPort := parseWireguardPeerSection(iniSection) assert.Equal(t, testCase.preSharedKey, preSharedKey) assert.Equal(t, testCase.publicKey, publicKey) assert.Equal(t, testCase.endpointIP, endpointIP) assert.Equal(t, testCase.endpointPort, endpointPort) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/configuration/sources/secrets/amneziawg.go ================================================ package secrets import ( "os" "path/filepath" "github.com/qdm12/gluetun/internal/configuration/sources/files" ) func (s *Source) lazyLoadAmneziawgConf() files.AmneziawgConfig { if s.cached.amneziawgLoaded { return s.cached.amneziawgConf } path := os.Getenv("AMNEZIAWG_CONF_SECRETFILE") if path == "" { path = filepath.Join(s.rootDirectory, "amneziawg", "awg0.conf") } s.cached.amneziawgLoaded = true var err error s.cached.amneziawgConf, err = files.ParseAmneziawgConf(path) if err != nil { s.warner.Warnf("skipping Amneziawg config: %s", err) } return s.cached.amneziawgConf } ================================================ FILE: internal/configuration/sources/secrets/helpers.go ================================================ package secrets func strPtrToStringIsSet(ptr *string) (s string, isSet bool) { if ptr == nil { return "", false } return *ptr, true } ================================================ FILE: internal/configuration/sources/secrets/interfaces.go ================================================ package secrets type Warner interface { Warnf(format string, a ...interface{}) } ================================================ FILE: internal/configuration/sources/secrets/reader.go ================================================ package secrets import ( "os" "path/filepath" "strings" "github.com/qdm12/gluetun/internal/configuration/sources/files" ) type Source struct { rootDirectory string environ map[string]string warner Warner cached struct { wireguardLoaded bool wireguardConf files.WireguardConfig amneziawgLoaded bool amneziawgConf files.AmneziawgConfig } } func New(warner Warner) (source *Source) { const rootDirectory = "/run/secrets" osEnviron := os.Environ() environ := make(map[string]string, len(osEnviron)) for _, pair := range osEnviron { const maxSplit = 2 split := strings.SplitN(pair, "=", maxSplit) environ[split[0]] = split[1] } return &Source{ rootDirectory: rootDirectory, environ: environ, warner: warner, } } func (s *Source) String() string { return "secret files" } func (s *Source) Get(key string) (value string, isSet bool) { if key == "" { return "", false } // TODO v4 custom environment variable to set the secrets parent directory // and not to set each secret file to a specific path envKey := strings.ToUpper(key) envKey = strings.ReplaceAll(envKey, "-", "_") envKey += "_SECRETFILE" // TODO v4 change _SECRETFILE to _FILE path := s.environ[envKey] if path == "" { path = filepath.Join(s.rootDirectory, key) } // Special file parsing switch key { // TODO timezone from /etc/localtime case "openvpn_clientcrt", "openvpn_clientkey", "openvpn_encrypted_key": value, isSet, err := files.ReadPEMFile(path) if err != nil { s.warner.Warnf("skipping %s: parsing PEM: %s", path, err) } return value, isSet case "wireguard_private_key": privateKey := s.lazyLoadWireguardConf().PrivateKey if privateKey != nil { return *privateKey, true } // else continue to read from individual secret file case "wireguard_preshared_key": preSharedKey := s.lazyLoadWireguardConf().PreSharedKey if preSharedKey != nil { return *preSharedKey, true } // else continue to read from individual secret file case "wireguard_addresses": addresses := s.lazyLoadWireguardConf().Addresses if addresses != nil { return *addresses, true } // else continue to read from individual secret file case "wireguard_public_key": return strPtrToStringIsSet(s.lazyLoadWireguardConf().PublicKey) case "wireguard_endpoint_ip": return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointIP) case "wireguard_endpoint_port": return strPtrToStringIsSet(s.lazyLoadWireguardConf().EndpointPort) } value, isSet, matched := s.getAmneziaWg(key) if matched { return value, isSet } value, isSet, err := files.ReadFromFile(path) if err != nil { s.warner.Warnf("skipping %s: reading file: %s", path, err) } return value, isSet } func (s *Source) KeyTransform(key string) string { switch key { // TODO v4 remove these irregular cases case "OPENVPN_KEY": return "openvpn_clientkey" case "OPENVPN_CERT": return "openvpn_clientcrt" case "OPENVPN_ENCRYPTED_KEY": return "openvpn_encrypted_key" default: key = strings.ToLower(key) // HTTPROXY_USER -> httpproxy_user return key } } func (s *Source) getAmneziaWg(key string) (value string, isSet, matched bool) { switch key { case "amneziawg_private_key": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.PrivateKey) case "amneziawg_preshared_key": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.PreSharedKey) case "amneziawg_addresses": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.Addresses) case "amneziawg_public_key": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.PublicKey) case "amneziawg_endpoint_ip": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.EndpointIP) case "amneziawg_endpoint_port": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Wireguard.EndpointPort) case "amneziawg_jc": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Jc) case "amneziawg_jmin": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Jmin) case "amneziawg_jmax": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().Jmax) case "amneziawg_s1": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S1) case "amneziawg_s2": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S2) case "amneziawg_s3": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S3) case "amneziawg_s4": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().S4) case "amneziawg_h1": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H1) case "amneziawg_h2": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H2) case "amneziawg_h3": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H3) case "amneziawg_h4": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().H4) case "amneziawg_i1": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I1) case "amneziawg_i2": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I2) case "amneziawg_i3": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I3) case "amneziawg_i4": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I4) case "amneziawg_i5": value, isSet = strPtrToStringIsSet(s.lazyLoadAmneziawgConf().I5) default: return "", false, false } return value, isSet, true } ================================================ FILE: internal/configuration/sources/secrets/reader_test.go ================================================ package secrets import ( "io/fs" "os" "path/filepath" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_Source_Get(t *testing.T) { t.Parallel() testCases := map[string]struct { makeSource func(tempDir string) (source *Source, err error) key string value string isSet bool }{ "empty_key": { makeSource: func(tempDir string) (source *Source, err error) { return &Source{ rootDirectory: tempDir, environ: map[string]string{}, }, nil }, }, "no_secret_file": { makeSource: func(tempDir string) (source *Source, err error) { return &Source{ rootDirectory: tempDir, environ: map[string]string{}, }, nil }, key: "test_file", }, "empty_secret_file": { makeSource: func(tempDir string) (source *Source, err error) { secretFilepath := filepath.Join(tempDir, "test_file") const permission = fs.FileMode(0o600) err = os.WriteFile(secretFilepath, nil, permission) if err != nil { return nil, err } return &Source{ rootDirectory: tempDir, environ: map[string]string{}, }, nil }, key: "test_file", isSet: true, }, "default_secret_file": { makeSource: func(tempDir string) (source *Source, err error) { secretFilepath := filepath.Join(tempDir, "test_file") const permission = fs.FileMode(0o600) err = os.WriteFile(secretFilepath, []byte{'A'}, permission) if err != nil { return nil, err } return &Source{ rootDirectory: tempDir, environ: map[string]string{}, }, nil }, key: "test_file", value: "A", isSet: true, }, "env_specified_secret_file": { makeSource: func(tempDir string) (source *Source, err error) { secretFilepath := filepath.Join(tempDir, "test_file_custom") const permission = fs.FileMode(0o600) err = os.WriteFile(secretFilepath, []byte{'A'}, permission) if err != nil { return nil, err } return &Source{ rootDirectory: tempDir, environ: map[string]string{ "TEST_FILE_SECRETFILE": secretFilepath, }, }, nil }, key: "test_file", value: "A", isSet: true, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() source, err := testCase.makeSource(t.TempDir()) require.NoError(t, err) value, isSet := source.Get(testCase.key) assert.Equal(t, testCase.value, value) assert.Equal(t, testCase.isSet, isSet) }) } } ================================================ FILE: internal/configuration/sources/secrets/wireguard.go ================================================ package secrets import ( "os" "path/filepath" "github.com/qdm12/gluetun/internal/configuration/sources/files" ) func (s *Source) lazyLoadWireguardConf() files.WireguardConfig { if s.cached.wireguardLoaded { return s.cached.wireguardConf } path := os.Getenv("WIREGUARD_CONF_SECRETFILE") if path == "" { path = filepath.Join(s.rootDirectory, "wg0.conf") } s.cached.wireguardLoaded = true var err error s.cached.wireguardConf, err = files.ParseWireguardConf(path) if err != nil { s.warner.Warnf("skipping Wireguard config: %s", err) } return s.cached.wireguardConf } ================================================ FILE: internal/constants/colors.go ================================================ package constants import "github.com/fatih/color" func ColorOpenvpn() *color.Color { return color.New(color.FgHiMagenta) } ================================================ FILE: internal/constants/countries.go ================================================ package constants func CountryCodes() map[string]string { return map[string]string{ "af": "Afghanistan", "ax": "Aland Islands", "al": "Albania", "dz": "Algeria", "as": "American Samoa", "ad": "Andorra", "ao": "Angola", "ai": "Anguilla", "aq": "Antarctica", "ag": "Antigua and Barbuda", "ar": "Argentina", "am": "Armenia", "aw": "Aruba", "au": "Australia", "at": "Austria", "az": "Azerbaijan", "bs": "Bahamas", "bh": "Bahrain", "bd": "Bangladesh", "bb": "Barbados", "by": "Belarus", "be": "Belgium", "bz": "Belize", "bj": "Benin", "bm": "Bermuda", "bt": "Bhutan", "bo": "Bolivia", "bq": "Bonaire", "ba": "Bosnia and Herzegovina", "bw": "Botswana", "bv": "Bouvet Island", "br": "Brazil", "io": "British Indian Ocean Territory", "vg": "British Virgin Islands", "bn": "Brunei Darussalam", "bg": "Bulgaria", "bf": "Burkina Faso", "bi": "Burundi", "kh": "Cambodia", "cm": "Cameroon", "ca": "Canada", "cv": "Cape Verde", "ky": "Cayman Islands", "cf": "Central African Republic", "td": "Chad", "cl": "Chile", "cn": "China", "cx": "Christmas Island", "cc": "Cocos Islands", "co": "Colombia", "km": "Comoros", "cg": "Congo", "ck": "Cook Islands", "cr": "Costa Rica", "ci": "Cote d'Ivoire", "hr": "Croatia", "cu": "Cuba", "cw": "Curacao", "cy": "Cyprus", "cz": "Czech Republic", "cd": "Democratic Republic of the Congo", "dk": "Denmark", "dj": "Djibouti", "dm": "Dominica", "do": "Dominican Republic", "ec": "Ecuador", "eg": "Egypt", "sv": "El Salvador", "gq": "Equatorial Guinea", "er": "Eritrea", "ee": "Estonia", "et": "Ethiopia", "fk": "Falkland Islands", "fo": "Faroe Islands", "fj": "Fiji", "fi": "Finland", "fr": "France", "gf": "French Guiana", "pf": "French Polynesia", "tf": "French Southern Territories", "ga": "Gabon", "gm": "Gambia", "ge": "Georgia", "de": "Germany", "gh": "Ghana", "gi": "Gibraltar", "gr": "Greece", "gl": "Greenland", "gd": "Grenada", "gp": "Guadeloupe", "gu": "Guam", "gt": "Guatemala", "gg": "Guernsey", "gw": "Guinea-Bissau", "gn": "Guinea", "gy": "Guyana", "ht": "Haiti", "hm": "Heard Island and McDonald Islands", "hn": "Honduras", "hk": "Hong Kong", "hu": "Hungary", "is": "Iceland", "in": "India", "id": "Indonesia", "ir": "Iran", "iq": "Iraq", "ie": "Ireland", "im": "Isle of Man", "il": "Israel", "it": "Italy", "jm": "Jamaica", "jp": "Japan", "je": "Jersey", "jo": "Jordan", "kz": "Kazakhstan", "ke": "Kenya", "ki": "Kiribati", "kr": "Korea", "kw": "Kuwait", "kg": "Kyrgyzstan", "la": "Lao People's Democratic Republic", "lv": "Latvia", "lb": "Lebanon", "ls": "Lesotho", "lr": "Liberia", "ly": "Libya", "li": "Liechtenstein", "lt": "Lithuania", "lu": "Luxembourg", "mo": "Macao", "mk": "Macedonia", "mg": "Madagascar", "mw": "Malawi", "my": "Malaysia", "mys": "Kuala Lumpur", "mv": "Maldives", "ml": "Mali", "mt": "Malta", "mh": "Marshall Islands", "mq": "Martinique", "mr": "Mauritania", "mu": "Mauritius", "yt": "Mayotte", "mx": "Mexico", "fm": "Micronesia", "md": "Moldova", "mc": "Monaco", "mn": "Mongolia", "me": "Montenegro", "ms": "Montserrat", "ma": "Morocco", "mz": "Mozambique", "mm": "Myanmar", "na": "Namibia", "nr": "Nauru", "np": "Nepal", "nl": "Netherlands", "nc": "New Caledonia", "nz": "New Zealand", "ni": "Nicaragua", "ne": "Niger", "ng": "Nigeria", "nu": "Niue", "nf": "Norfolk Island", "mp": "Northern Mariana Islands", "no": "Norway", "om": "Oman", "pk": "Pakistan", "pw": "Palau", "ps": "Palestine, State of", "pa": "Panama", "pg": "Papua New Guinea", "py": "Paraguay", "pe": "Peru", "ph": "Philippines", "pn": "Pitcairn", "pl": "Poland", "pt": "Portugal", "pr": "Puerto Rico", "qa": "Qatar", "re": "Reunion", "ro": "Romania", "ru": "Russian Federation", "rw": "Rwanda", "bl": "Saint Barthelemy", "sh": "Saint Helena", "kn": "Saint Kitts and Nevis", "lc": "Saint Lucia", "mf": "Saint Martin", "pm": "Saint Pierre and Miquelon", "vc": "Saint Vincent and the Grenadines", "ws": "Samoa", "sm": "San Marino", "st": "Sao Tome and Principe", "sa": "Saudi Arabia", "sn": "Senegal", "rs": "Serbia", "sc": "Seychelles", "sl": "Sierra Leone", "sg": "Singapore", "sx": "Sint Maarten", "sk": "Slovakia", "si": "Slovenia", "sb": "Solomon Islands", "so": "Somalia", "za": "South Africa", "gs": "South Georgia and the South Sandwich Islands", "ss": "South Sudan", "es": "Spain", "lk": "Sri Lanka", "sd": "Sudan", "sr": "Suriname", "sj": "Svalbard and Jan Mayen", "sz": "Swaziland", "se": "Sweden", "ch": "Switzerland", "sy": "Syrian Arab Republic", "tw": "Taiwan", "tj": "Tajikistan", "tz": "Tanzania", "th": "Thailand", "tl": "Timor-Leste", "tg": "Togo", "tk": "Tokelau", "to": "Tonga", "tt": "Trinidad and Tobago", "tn": "Tunisia", "tr": "Turkey", "tm": "Turkmenistan", "tc": "Turks and Caicos Islands", "tv": "Tuvalu", "ug": "Uganda", "ua": "Ukraine", "ae": "United Arab Emirates", "gb": "United Kingdom", "uk": "United Kingdom", "um": "United States Minor Outlying Islands", "us": "United States", "uy": "Uruguay", "vi": "US Virgin Islands", "uz": "Uzbekistan", "vu": "Vanuatu", "va": "Vatican City State", "ve": "Venezuela", "vn": "Vietnam", "wf": "Wallis and Futuna", "eh": "Western Sahara", "ye": "Yemen", "zm": "Zambia", "zw": "Zimbabwe", } } ================================================ FILE: internal/constants/openvpn/auth.go ================================================ package openvpn const ( SHA1 = "sha1" SHA256 = "sha256" SHA512 = "sha512" ) ================================================ FILE: internal/constants/openvpn/ciphers.go ================================================ package openvpn const ( AES128cbc = "aes-128-cbc" AES192cbc = "aes-192-cbc" AES256cbc = "aes-256-cbc" AES128gcm = "aes-128-gcm" AES192gcm = "aes-192-gcm" AES256gcm = "aes-256-gcm" Chacha20Poly1305 = "chacha20-poly1305" ) ================================================ FILE: internal/constants/openvpn/paths.go ================================================ package openvpn const ( // AuthConf is the file path to the OpenVPN auth file. AuthConf = "/etc/openvpn/auth.conf" // AskPassPath is the file path to the decryption passphrase for // and encrypted private key, which is pointed by `askpass`. AskPassPath = "/etc/openvpn/askpass" //nolint:gosec ) ================================================ FILE: internal/constants/openvpn/versions.go ================================================ package openvpn const ( Openvpn25 = "2.5" Openvpn26 = "2.6" ) ================================================ FILE: internal/constants/paths.go ================================================ package constants const ( // ServersData is the server information filepath. ServersData = "/gluetun/servers.json" ) ================================================ FILE: internal/constants/protocol.go ================================================ package constants const ( // TCP is a network protocol (reliable and slower than UDP). TCP string = "tcp" // UDP is a network protocol (unreliable and faster than TCP). UDP string = "udp" ) ================================================ FILE: internal/constants/providers/providers.go ================================================ package providers const ( // Custom is the VPN provider name for custom // VPN configurations. Airvpn = "airvpn" Custom = "custom" Cyberghost = "cyberghost" Example = "example" Expressvpn = "expressvpn" Fastestvpn = "fastestvpn" Giganews = "giganews" HideMyAss = "hidemyass" Ipvanish = "ipvanish" Ivpn = "ivpn" Mullvad = "mullvad" Nordvpn = "nordvpn" Perfectprivacy = "perfect privacy" Privado = "privado" PrivateInternetAccess = "private internet access" Privatevpn = "privatevpn" Protonvpn = "protonvpn" Purevpn = "purevpn" SlickVPN = "slickvpn" Surfshark = "surfshark" Torguard = "torguard" VPNSecure = "vpnsecure" VPNUnlimited = "vpn unlimited" Vyprvpn = "vyprvpn" Windscribe = "windscribe" ) // All returns all the providers except the custom provider. func All() []string { return []string{ Airvpn, Cyberghost, Expressvpn, Fastestvpn, Giganews, HideMyAss, Ipvanish, Ivpn, Mullvad, Nordvpn, Perfectprivacy, Privado, PrivateInternetAccess, Privatevpn, Protonvpn, Purevpn, SlickVPN, Surfshark, Torguard, VPNSecure, VPNUnlimited, Vyprvpn, Windscribe, } } func AllWithCustom() []string { allProviders := All() allProvidersWithCustom := make([]string, len(allProviders)+1) copy(allProvidersWithCustom, allProviders) allProvidersWithCustom[len(allProvidersWithCustom)-1] = Custom return allProvidersWithCustom } ================================================ FILE: internal/constants/providers/providers_test.go ================================================ package providers import ( "testing" "github.com/stretchr/testify/assert" ) func Test_All(t *testing.T) { t.Parallel() all := All() assert.NotContains(t, all, Custom) assert.NotEmpty(t, all) } func Test_AllWithCustom(t *testing.T) { t.Parallel() all := AllWithCustom() assert.Contains(t, all, Custom) assert.Len(t, all, len(All())+1) } ================================================ FILE: internal/constants/status.go ================================================ package constants import ( "github.com/qdm12/gluetun/internal/models" ) const ( Starting models.LoopStatus = "starting" Running models.LoopStatus = "running" Stopping models.LoopStatus = "stopping" Stopped models.LoopStatus = "stopped" Crashed models.LoopStatus = "crashed" Completed models.LoopStatus = "completed" ) ================================================ FILE: internal/constants/vpn/protocol.go ================================================ package vpn const ( AmneziaWg = "amneziawg" OpenVPN = "openvpn" Wireguard = "wireguard" ) ================================================ FILE: internal/dns/leak.go ================================================ package dns import ( "context" "encoding/json" "errors" "fmt" "math" "math/rand/v2" "net/http" "sort" "strings" ) func leakCheck(ctx context.Context, client *http.Client) (report string, err error) { const sessionLength = 40 session := generateRandomString(sessionLength) ctx, cancel := context.WithCancel(ctx) defer cancel() type result struct { dnsToCount map[string]uint err error } resultsCh := make(chan result) const requestsCount = 5 for range requestsCount { go func() { dnsToCount, err := triggerDNSQuery(ctx, client, session) resultsCh <- result{dnsToCount: dnsToCount, err: err} }() } dnsToCount := make(map[string]uint) for range requestsCount { result := <-resultsCh if result.err != nil { if err == nil { cancel() err = fmt.Errorf("request failed: %w", result.err) } continue } for dns, count := range result.dnsToCount { dnsToCount[dns] += count } } if err != nil { return "", err } return formatPercentages(dnsToCount), nil } func generateRandomString(length uint) string { const charset = "abcdefghijklmnopqrstuvwxyz0123456789" b := make([]byte, length) for i := range b { b[i] = charset[rand.IntN(len(charset))] //nolint:gosec } return string(b) } var errIPLeakSessionMismatch = errors.New("ipleak.net session mismatch") func triggerDNSQuery(ctx context.Context, client *http.Client, session string) ( dnsToCount map[string]uint, err error, ) { const randomLength = 12 randomPart := generateRandomString(randomLength) url := fmt.Sprintf("https://%s-%s.ipleak.net/dnsdetection/", session, randomPart) request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, fmt.Errorf("creating request: %w", err) } response, err := client.Do(request) if err != nil { return nil, fmt.Errorf("performing request: %w", err) } defer response.Body.Close() type ipLeakData struct { Session string `json:"session"` IP map[string]uint `json:"ip"` } decoder := json.NewDecoder(response.Body) var data ipLeakData err = decoder.Decode(&data) if err != nil { return nil, fmt.Errorf("decoding response: %w", err) } else if data.Session != session { return nil, fmt.Errorf("%w: expected %s, got %s", errIPLeakSessionMismatch, session, data.Session) } return data.IP, nil } func formatPercentages(data map[string]uint) string { if len(data) == 0 { return "" } var total uint keys := make([]string, 0, len(data)) for k, v := range data { total += v keys = append(keys, k) } sort.Slice(keys, func(i, j int) bool { if data[keys[i]] == data[keys[j]] { return keys[i] < keys[j] // Tie-breaker: alphabetical } return data[keys[i]] > data[keys[j]] }) results := make([]string, len(keys)) for i, key := range keys { var pct float64 if total > 0 { pct = math.Ceil((float64(data[key]) / float64(total)) * 100) //nolint:mnd } results[i] = fmt.Sprintf("%s (%.0f%%)", key, pct) } return strings.Join(results, ", ") } ================================================ FILE: internal/dns/leak_test.go ================================================ package dns import ( "context" "net/http" "testing" "time" "github.com/stretchr/testify/require" ) func Test_leakCheck(t *testing.T) { t.Parallel() const timeout = 10 * time.Second ctx, cancel := context.WithTimeout(t.Context(), timeout) t.Cleanup(cancel) client := http.DefaultClient report, err := leakCheck(ctx, client) require.NoError(t, err) require.NotEmpty(t, report) } ================================================ FILE: internal/dns/logger.go ================================================ package dns type Logger interface { Debug(s string) Info(s string) Infof(format string, args ...any) Warn(s string) Warnf(format string, args ...any) Error(s string) } ================================================ FILE: internal/dns/loop.go ================================================ package dns import ( "context" "fmt" "net/http" "net/netip" "time" "github.com/qdm12/dns/v2/pkg/middlewares/filter/mapfilter" "github.com/qdm12/dns/v2/pkg/server" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/dns/state" "github.com/qdm12/gluetun/internal/loopstate" "github.com/qdm12/gluetun/internal/models" ) type Loop struct { statusManager *loopstate.State state *state.State server *server.Server filter *mapfilter.Filter localResolvers []netip.Addr localSubnets []netip.Prefix resolvConf string client *http.Client logger Logger userTrigger bool start <-chan struct{} running chan<- models.LoopStatus stop <-chan struct{} stopped chan<- struct{} updateTicker <-chan struct{} backoffTime time.Duration timeNow func() time.Time timeSince func(time.Time) time.Duration } const defaultBackoffTime = 10 * time.Second func NewLoop(settings settings.DNS, client *http.Client, logger Logger, localSubnets []netip.Prefix, ) (loop *Loop, err error) { start := make(chan struct{}) running := make(chan models.LoopStatus) stop := make(chan struct{}) stopped := make(chan struct{}) updateTicker := make(chan struct{}) statusManager := loopstate.New(constants.Stopped, start, running, stop, stopped) state := state.New(statusManager, settings, updateTicker) filter, err := mapfilter.New(mapfilter.Settings{ Logger: buildFilterLogger(logger), }) if err != nil { return nil, fmt.Errorf("creating map filter: %w", err) } return &Loop{ statusManager: statusManager, state: state, server: nil, filter: filter, localSubnets: localSubnets, resolvConf: "/etc/resolv.conf", client: client, logger: logger, userTrigger: true, start: start, running: running, stop: stop, stopped: stopped, updateTicker: updateTicker, backoffTime: defaultBackoffTime, timeNow: time.Now, timeSince: time.Since, }, nil } func (l *Loop) logAndWait(ctx context.Context, err error) { if err != nil { l.logger.Warn(err.Error()) } l.logger.Info("attempting restart in " + l.backoffTime.String()) timer := time.NewTimer(l.backoffTime) l.backoffTime *= 2 select { case <-timer.C: case <-ctx.Done(): if !timer.Stop() { <-timer.C } } } func (l *Loop) signalOrSetStatus(status models.LoopStatus) { if l.userTrigger { l.userTrigger = false select { case l.running <- status: default: // receiver dropped out - avoid deadlock on events routing when shutting down } } else { l.statusManager.SetStatus(status) } } type filterLogger struct { logger Logger } func (l *filterLogger) Log(msg string) { l.logger.Debug(msg) } func buildFilterLogger(logger Logger) *filterLogger { return &filterLogger{logger: logger} } ================================================ FILE: internal/dns/plaintext.go ================================================ package dns import ( "net/netip" "time" "github.com/qdm12/dns/v2/pkg/nameserver" ) func (l *Loop) useUnencryptedDNS(fallback bool) { settings := l.GetSettings() targetIP := settings.GetFirstPlaintextIPv4() if fallback { l.logger.Info("falling back on plaintext DNS at address " + targetIP.String()) } else { l.logger.Info("using plaintext DNS at address " + targetIP.String()) } const dialTimeout = 3 * time.Second const defaultDNSPort = 53 settingsInternalDNS := nameserver.SettingsInternalDNS{ AddrPort: netip.AddrPortFrom(targetIP, defaultDNSPort), Timeout: dialTimeout, } nameserver.UseDNSInternally(settingsInternalDNS) settingsSystemWide := nameserver.SettingsSystemDNS{ IPs: []netip.Addr{targetIP}, ResolvPath: l.resolvConf, } err := nameserver.UseDNSSystemWide(settingsSystemWide) if err != nil { l.logger.Error(err.Error()) } } ================================================ FILE: internal/dns/run.go ================================================ package dns import ( "context" "github.com/qdm12/dns/v2/pkg/nameserver" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" ) func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { defer close(done) var err error l.localResolvers, err = nameserver.GetPrivateDNSServers() if err != nil { l.logger.Error("getting private DNS servers: " + err.Error()) return } const fallback = false l.useUnencryptedDNS(fallback) select { case <-l.start: case <-ctx.Done(): return } for ctx.Err() == nil { // Upper scope variables for the DNS forwarder server only // Their values are to be used if DOT=off var runError <-chan error var settings settings.DNS for { settings = l.GetSettings() var err error runError, err = l.setupServer(ctx, settings) if err == nil { break } l.signalOrSetStatus(constants.Crashed) if ctx.Err() != nil { return } l.logAndWait(ctx, err) } l.backoffTime = defaultBackoffTime l.logger.Infof("ready and using DNS server with %s upstream resolvers", settings.UpstreamType) err = l.updateFiles(ctx, settings) if err != nil { l.logger.Warn("downloading block lists failed, skipping: " + err.Error()) } l.signalOrSetStatus(constants.Running) l.userTrigger = false report, err := leakCheck(ctx, l.client) if err != nil { l.logger.Warnf("running leak check: %s", err) } else { l.logger.Infof("leak check report: %s", report) } exitLoop := l.runWait(ctx, runError) if exitLoop { return } } } func (l *Loop) runWait(ctx context.Context, runError <-chan error) (exitLoop bool) { for { select { case <-ctx.Done(): l.stopServer() // TODO revert OS and Go nameserver when exiting return true case <-l.stop: l.userTrigger = true l.logger.Info("stopping") const fallback = false l.useUnencryptedDNS(fallback) l.stopServer() l.stopped <- struct{}{} case <-l.start: l.userTrigger = true l.logger.Info("starting") return false case err := <-runError: // unexpected error l.statusManager.SetStatus(constants.Crashed) const fallback = true l.useUnencryptedDNS(fallback) l.logAndWait(ctx, err) return false } } } func (l *Loop) stopServer() { stopErr := l.server.Stop() if stopErr != nil { l.logger.Error("stopping server: " + stopErr.Error()) } } ================================================ FILE: internal/dns/settings.go ================================================ package dns import ( "context" "fmt" "net/netip" "slices" "github.com/qdm12/dns/v2/pkg/doh" "github.com/qdm12/dns/v2/pkg/dot" cachemiddleware "github.com/qdm12/dns/v2/pkg/middlewares/cache" "github.com/qdm12/dns/v2/pkg/middlewares/cache/lru" filtermiddleware "github.com/qdm12/dns/v2/pkg/middlewares/filter" "github.com/qdm12/dns/v2/pkg/middlewares/filter/mapfilter" "github.com/qdm12/dns/v2/pkg/middlewares/localdns" "github.com/qdm12/dns/v2/pkg/plain" "github.com/qdm12/dns/v2/pkg/provider" "github.com/qdm12/dns/v2/pkg/server" "github.com/qdm12/gluetun/internal/configuration/settings" ) func (l *Loop) GetSettings() (settings settings.DNS) { return l.state.GetSettings() } func (l *Loop) SetSettings(ctx context.Context, settings settings.DNS) ( outcome string, ) { return l.state.SetSettings(ctx, settings) } func buildServerSettings(userSettings settings.DNS, filter *mapfilter.Filter, localResolvers []netip.Addr, localSubnets []netip.Prefix, logger Logger) ( serverSettings server.Settings, err error, ) { serverSettings.Logger = logger upstreamResolvers := buildProviders(userSettings, localSubnets, logger) ipVersion := "ipv4" if *userSettings.IPv6 { ipVersion = "ipv6" } var dialer server.Dialer switch userSettings.UpstreamType { case settings.DNSUpstreamTypeDot: dialerSettings := dot.Settings{ UpstreamResolvers: upstreamResolvers, IPVersion: ipVersion, } dialer, err = dot.New(dialerSettings) if err != nil { return server.Settings{}, fmt.Errorf("creating DNS over TLS dialer: %w", err) } case settings.DNSUpstreamTypeDoh: dialerSettings := doh.Settings{ UpstreamResolvers: upstreamResolvers, IPVersion: ipVersion, } dialer, err = doh.New(dialerSettings) if err != nil { return server.Settings{}, fmt.Errorf("creating DNS over HTTPS dialer: %w", err) } case settings.DNSUpstreamTypePlain: dialerSettings := plain.Settings{ UpstreamResolvers: upstreamResolvers, IPVersion: ipVersion, } dialer, err = plain.New(dialerSettings) if err != nil { return server.Settings{}, fmt.Errorf("creating plain DNS dialer: %w", err) } default: panic("unknown upstream type: " + userSettings.UpstreamType) } serverSettings.Dialer = dialer if *userSettings.Caching { lruCache, err := lru.New(lru.Settings{}) if err != nil { return server.Settings{}, fmt.Errorf("creating LRU cache: %w", err) } cacheMiddleware, err := cachemiddleware.New(cachemiddleware.Settings{ Cache: lruCache, }) if err != nil { return server.Settings{}, fmt.Errorf("creating cache middleware: %w", err) } serverSettings.Middlewares = append(serverSettings.Middlewares, cacheMiddleware) } filterMiddleware, err := filtermiddleware.New(filtermiddleware.Settings{ Filter: filter, }) if err != nil { return server.Settings{}, fmt.Errorf("creating filter middleware: %w", err) } serverSettings.Middlewares = append(serverSettings.Middlewares, filterMiddleware) localResolversAddrPorts := make([]netip.AddrPort, len(localResolvers)) const defaultDNSPort = 53 for i, addr := range localResolvers { localResolversAddrPorts[i] = netip.AddrPortFrom(addr, defaultDNSPort) } localDNSMiddleware, err := localdns.New(localdns.Settings{ Resolvers: localResolversAddrPorts, // auto-detected at container start only Logger: logger, }) if err != nil { return server.Settings{}, fmt.Errorf("creating local DNS middleware: %w", err) } // Place after cache middleware, since we want to avoid caching for local // hostnames that may change regularly. // Place after filter middleware to avoid conflicts with the rebinding protection. serverSettings.Middlewares = append(serverSettings.Middlewares, localDNSMiddleware) return serverSettings, nil } func buildProviders(userSettings settings.DNS, localSubnets []netip.Prefix, logger Logger, ) (providers []provider.Provider) { providersCount := len(userSettings.Providers) if userSettings.UpstreamType == settings.DNSUpstreamTypePlain { providersCount += len(userSettings.UpstreamPlainAddresses) } providers = make([]provider.Provider, 0, providersCount) providersData := provider.NewProviders() for _, providerName := range userSettings.Providers { provider, err := providersData.Get(providerName) if err != nil { panic(err) // this should already had been checked } providers = append(providers, provider) } for _, addrPort := range userSettings.UpstreamPlainAddresses { addr := addrPort.Addr() if addr.IsPrivate() && !addr.IsLoopback() && !slices.ContainsFunc(localSubnets, func(prefix netip.Prefix) bool { return prefix.Contains(addr) }) { logger.Warnf("DNS server address %s is not in local subnets, "+ "make sure to specify it in FIREWALL_OUTBOUND_SUBNETS as %s", addr, netip.PrefixFrom(addr, addr.BitLen())) } provider := provider.Provider{ Name: addrPort.String(), } if addr.Is4() { provider.Plain.IPv4 = []netip.AddrPort{addrPort} } else { provider.Plain.IPv6 = []netip.AddrPort{addrPort} } providers = append(providers, provider) } return providers } ================================================ FILE: internal/dns/setup.go ================================================ package dns import ( "context" "fmt" "github.com/qdm12/dns/v2/pkg/check" "github.com/qdm12/dns/v2/pkg/middlewares/filter/update" "github.com/qdm12/dns/v2/pkg/nameserver" "github.com/qdm12/dns/v2/pkg/server" "github.com/qdm12/gluetun/internal/configuration/settings" ) func (l *Loop) setupServer(ctx context.Context, settings settings.DNS) (runError <-chan error, err error) { var updateSettings update.Settings updateSettings.SetRebindingProtectionExempt(settings.Blacklist.RebindingProtectionExemptHostnames) err = l.filter.Update(updateSettings) if err != nil { return nil, fmt.Errorf("updating filter for rebinding protection: %w", err) } serverSettings, err := buildServerSettings(settings, l.filter, l.localResolvers, l.localSubnets, l.logger) if err != nil { return nil, fmt.Errorf("building server settings: %w", err) } server, err := server.New(serverSettings) if err != nil { return nil, fmt.Errorf("creating server: %w", err) } runError, err = server.Start(ctx) if err != nil { return nil, fmt.Errorf("starting server: %w", err) } l.server = server // use internal DNS server nameserver.UseDNSInternally(nameserver.SettingsInternalDNS{}) err = nameserver.UseDNSSystemWide(nameserver.SettingsSystemDNS{ ResolvPath: l.resolvConf, }) if err != nil { l.logger.Error(err.Error()) } err = check.WaitForDNS(ctx, check.Settings{}) if err != nil { l.stopServer() return nil, err } return runError, nil } ================================================ FILE: internal/dns/state/settings.go ================================================ package state import ( "context" "reflect" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" ) func (s *State) GetSettings() (settings settings.DNS) { s.settingsMu.RLock() defer s.settingsMu.RUnlock() return s.settings } func (s *State) SetSettings(ctx context.Context, settings settings.DNS) ( outcome string, ) { s.settingsMu.Lock() settingsUnchanged := reflect.DeepEqual(s.settings, settings) if settingsUnchanged { s.settingsMu.Unlock() return "settings left unchanged" } // Check for only update period change tempSettings := s.settings.Copy() *tempSettings.UpdatePeriod = *settings.UpdatePeriod onlyUpdatePeriodChanged := reflect.DeepEqual(tempSettings, settings) s.settings = settings s.settingsMu.Unlock() if onlyUpdatePeriodChanged { s.updateTicker <- struct{}{} return "update period changed" } // Restart _, _ = s.statusApplier.ApplyStatus(ctx, constants.Stopped) outcome, _ = s.statusApplier.ApplyStatus(ctx, constants.Running) return outcome } ================================================ FILE: internal/dns/state/state.go ================================================ package state import ( "context" "sync" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) func New(statusApplier StatusApplier, settings settings.DNS, updateTicker chan<- struct{}, ) *State { return &State{ statusApplier: statusApplier, settings: settings, updateTicker: updateTicker, } } type State struct { statusApplier StatusApplier settings settings.DNS settingsMu sync.RWMutex updateTicker chan<- struct{} } type StatusApplier interface { ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) } ================================================ FILE: internal/dns/status.go ================================================ package dns import ( "context" "github.com/qdm12/gluetun/internal/models" ) func (l *Loop) GetStatus() (status models.LoopStatus) { return l.statusManager.GetStatus() } func (l *Loop) ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error, ) { return l.statusManager.ApplyStatus(ctx, status) } ================================================ FILE: internal/dns/ticker.go ================================================ package dns import ( "context" "time" "github.com/qdm12/gluetun/internal/constants" ) func (l *Loop) RunRestartTicker(ctx context.Context, done chan<- struct{}) { defer close(done) // Timer that acts as a ticker timer := time.NewTimer(time.Hour) timer.Stop() timerIsStopped := true settings := l.GetSettings() if period := *settings.UpdatePeriod; period > 0 { timer.Reset(period) timerIsStopped = false } lastTick := time.Unix(0, 0) for { select { case <-ctx.Done(): if !timerIsStopped && !timer.Stop() { <-timer.C } return case <-timer.C: lastTick = l.timeNow() settings := l.GetSettings() if l.GetStatus() == constants.Running { if err := l.updateFiles(ctx, settings); err != nil { l.logger.Warn("updating block lists failed, skipping: " + err.Error()) } } timer.Reset(*settings.UpdatePeriod) case <-l.updateTicker: if !timer.Stop() { <-timer.C } timerIsStopped = true settings := l.GetSettings() newUpdatePeriod := *settings.UpdatePeriod if newUpdatePeriod == 0 { continue } var waited time.Duration if lastTick.UnixNano() != 0 { waited = l.timeSince(lastTick) } leftToWait := newUpdatePeriod - waited timer.Reset(leftToWait) timerIsStopped = false } } } ================================================ FILE: internal/dns/update.go ================================================ package dns import ( "context" "fmt" "github.com/qdm12/dns/v2/pkg/blockbuilder" "github.com/qdm12/dns/v2/pkg/middlewares/filter/update" "github.com/qdm12/gluetun/internal/configuration/settings" ) func (l *Loop) updateFiles(ctx context.Context, settings settings.DNS) (err error) { l.logger.Info("downloading hostnames and IP block lists") blacklistSettings := settings.Blacklist.ToBlockBuilderSettings(l.client) blockBuilder, err := blockbuilder.New(blacklistSettings) if err != nil { return fmt.Errorf("creating block builder: %w", err) } result := blockBuilder.BuildAll(ctx) for _, resultErr := range result.Errors { if err != nil { err = fmt.Errorf("%w, %w", err, resultErr) continue } err = resultErr } if err != nil { return err } updateSettings := update.Settings{ IPs: result.BlockedIPs, IPPrefixes: result.BlockedIPPrefixes, } updateSettings.BlockHostnames(result.BlockedHostnames) err = l.filter.Update(updateSettings) if err != nil { return fmt.Errorf("updating filter: %w", err) } return nil } ================================================ FILE: internal/firewall/enable.go ================================================ package firewall import ( "context" "fmt" "github.com/qdm12/gluetun/internal/netlink" ) func (c *Config) SetEnabled(ctx context.Context, enabled bool) (err error) { c.stateMutex.Lock() defer c.stateMutex.Unlock() if enabled == c.enabled { if enabled { c.logger.Info("already enabled") } else { c.logger.Info("already disabled") } return nil } if !enabled { c.logger.Info("disabling...") c.restore(ctx) c.enabled = false c.logger.Info("disabled successfully") return nil } c.logger.Info("enabling...") if err := c.enable(ctx); err != nil { return fmt.Errorf("enabling firewall: %w", err) } c.enabled = true c.logger.Info("enabled successfully") return nil } func (c *Config) enable(ctx context.Context) (err error) { c.restore, err = c.impl.SaveAndRestore(ctx) if err != nil { return fmt.Errorf("saving firewall rules: %w", err) } defer func() { if err != nil { c.restore(context.Background()) } }() if err = c.impl.SetIPv4AllPolicies(ctx, "DROP"); err != nil { return err } if err = c.impl.SetIPv6AllPolicies(ctx, "DROP"); err != nil { return err } // Loopback traffic if err = c.impl.AcceptInputThroughInterface(ctx, "lo"); err != nil { return err } const remove = false if err = c.impl.AcceptOutputThroughInterface(ctx, "lo", remove); err != nil { return err } if err = c.impl.AcceptEstablishedRelatedTraffic(ctx); err != nil { return err } if err = c.allowVPNIP(ctx); err != nil { return err } localInterfaces := make(map[string]struct{}, len(c.localNetworks)) for _, network := range c.localNetworks { err = c.impl.AcceptOutputFromIPToSubnet(ctx, network.InterfaceName, network.IP, network.IPNet, remove) if err != nil { return err } _, localInterfaceSeen := localInterfaces[network.InterfaceName] if localInterfaceSeen { continue } localInterfaces[network.InterfaceName] = struct{}{} err = c.impl.AcceptIpv6MulticastOutput(ctx, network.InterfaceName) if err != nil { return fmt.Errorf("accepting IPv6 multicast output: %w", err) } } if err = c.allowOutboundSubnets(ctx); err != nil { return err } // Allows packets from any IP address to go through eth0 / local network // to reach Gluetun. for _, network := range c.localNetworks { if err := c.impl.AcceptInputToSubnet(ctx, network.InterfaceName, network.IPNet); err != nil { return err } } if err = c.allowInputPorts(ctx); err != nil { return err } err = c.redirectPorts(ctx) if err != nil { return fmt.Errorf("redirecting ports: %w", err) } if err := c.impl.RunUserPostRules(ctx, c.customRulesPath); err != nil { return fmt.Errorf("running user defined post firewall rules: %w", err) } return nil } func (c *Config) allowVPNIP(ctx context.Context) (err error) { if !c.vpnConnection.IP.IsValid() { return nil } const remove = false interfacesSeen := make(map[string]struct{}, len(c.defaultRoutes)) for _, defaultRoute := range c.defaultRoutes { _, seen := interfacesSeen[defaultRoute.NetInterface] if seen { continue } interfacesSeen[defaultRoute.NetInterface] = struct{}{} err = c.impl.AcceptOutputTrafficToVPN(ctx, defaultRoute.NetInterface, c.vpnConnection, remove) if err != nil { return fmt.Errorf("accepting output traffic through VPN: %w", err) } } return nil } func (c *Config) allowOutboundSubnets(ctx context.Context) (err error) { for _, subnet := range c.outboundSubnets { subnetIsIPv6 := subnet.Addr().Is6() firewallUpdated := false for _, defaultRoute := range c.defaultRoutes { defaultRouteIsIPv6 := defaultRoute.Family == netlink.FamilyV6 ipFamilyMatch := subnetIsIPv6 == defaultRouteIsIPv6 if !ipFamilyMatch { continue } firewallUpdated = true const remove = false err := c.impl.AcceptOutputFromIPToSubnet(ctx, defaultRoute.NetInterface, defaultRoute.AssignedIP, subnet, remove) if err != nil { return err } } if !firewallUpdated { c.logIgnoredSubnetFamily(subnet) } } return nil } func (c *Config) allowInputPorts(ctx context.Context) (err error) { for port, netInterfaces := range c.allowedInputPorts { for netInterface := range netInterfaces { const remove = false err = c.impl.AcceptInputToPort(ctx, netInterface, port, remove) if err != nil { return fmt.Errorf("accepting input port %d on interface %s: %w", port, netInterface, err) } } } return nil } func (c *Config) redirectPorts(ctx context.Context) (err error) { for _, portRedirection := range c.portRedirections { const remove = false err = c.impl.RedirectPort(ctx, portRedirection.interfaceName, portRedirection.sourcePort, portRedirection.destinationPort, remove) if err != nil { return err } } return nil } ================================================ FILE: internal/firewall/firewall.go ================================================ package firewall import ( "context" "fmt" "net/netip" "sync" "github.com/qdm12/gluetun/internal/firewall/iptables" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/routing" ) type Config struct { runner CmdRunner logger Logger defaultRoutes []routing.DefaultRoute localNetworks []routing.LocalNetwork // Fixed impl firewallImpl customRulesPath string // State enabled bool restore func(context.Context) vpnConnection models.Connection vpnIntf string outboundSubnets []netip.Prefix allowedInputPorts map[uint16]map[string]struct{} // port to interfaces set mapping portRedirections portRedirections stateMutex sync.Mutex } // NewConfig creates a new Config instance and returns an error // if no iptables implementation is available. func NewConfig(ctx context.Context, logger, iptablesLogger Logger, runner CmdRunner, defaultRoutes []routing.DefaultRoute, localNetworks []routing.LocalNetwork, ) (config *Config, err error) { impl, err := iptables.New(ctx, runner, iptablesLogger) if err != nil { return nil, fmt.Errorf("creating iptables firewall: %w", err) } return &Config{ runner: runner, logger: logger, allowedInputPorts: make(map[uint16]map[string]struct{}), // Obtained from routing defaultRoutes: defaultRoutes, localNetworks: localNetworks, impl: impl, customRulesPath: "/iptables/post-rules.txt", }, nil } ================================================ FILE: internal/firewall/interfaces.go ================================================ package firewall import ( "context" "net/netip" "os/exec" "github.com/qdm12/gluetun/internal/models" ) type CmdRunner interface { Run(cmd *exec.Cmd) (output string, err error) } type Logger interface { Debug(s string) Info(s string) Warn(s string) Error(s string) } type firewallImpl interface { //nolint:interfacebloat SaveAndRestore(ctx context.Context) (restore func(context.Context), err error) AcceptEstablishedRelatedTraffic(ctx context.Context) error AcceptInputThroughInterface(ctx context.Context, intf string) error AcceptInputToPort(ctx context.Context, intf string, port uint16, remove bool) error AcceptInputToSubnet(ctx context.Context, intf string, subnet netip.Prefix) error AcceptIpv6MulticastOutput(ctx context.Context, intf string) error AcceptOutputFromIPToSubnet(ctx context.Context, intf string, assignedIP netip.Addr, subnet netip.Prefix, remove bool) error AcceptOutputThroughInterface(ctx context.Context, intf string, remove bool) error AcceptOutputTrafficToVPN(ctx context.Context, intf string, connection models.Connection, remove bool) error RedirectPort(ctx context.Context, intf string, sourcePort, destinationPort uint16, remove bool) error RunUserPostRules(ctx context.Context, customRulesPath string) error SetIPv4AllPolicies(ctx context.Context, policy string) error SetIPv6AllPolicies(ctx context.Context, policy string) error TempDropOutputTCPRST(ctx context.Context, src, dst netip.AddrPort, excludeMark int) ( revert func(ctx context.Context) error, err error) Version(ctx context.Context) (version string, err error) } ================================================ FILE: internal/firewall/iptables/atomic.go ================================================ package iptables import ( "context" "fmt" "os/exec" "strings" ) // SaveAndRestore saves the current iptables and ip6tables rules and // returns a restore function that can be called to restore the saved rules. func (c *Config) SaveAndRestore(ctx context.Context) (restore func(context.Context), err error) { c.iptablesMutex.Lock() c.ip6tablesMutex.Lock() defer c.iptablesMutex.Unlock() defer c.ip6tablesMutex.Unlock() return c.saveAndRestore(ctx) } // callers MUST always lock both the [Config] iptablesMutex and the ip6tablesMutex // before calling this function. Note the restore function does not interact with mutexes // so the caller must make sure the mutexes are locked when calling the restore function. func (c *Config) saveAndRestore(ctx context.Context) (restore func(context.Context), err error) { restoreIPv4, err := c.saveAndRestoreIPv4(ctx) if err != nil { return nil, err } restoreIPv6, err := c.saveAndRestoreIPv6(ctx) if err != nil { return nil, err } restore = func(ctx context.Context) { restoreIPv4(ctx) if restoreIPv6 != nil { restoreIPv6(ctx) } } return restore, nil } // Callers of saveAndRestoreIPv4 MUST always lock the [Config] iptablesMutex // before calling this function. func (c *Config) saveAndRestoreIPv4(ctx context.Context) (restore func(context.Context), err error) { cmd := exec.CommandContext(ctx, c.ipTables+"-save") //nolint:gosec data, err := c.runner.Run(cmd) if err != nil { return nil, fmt.Errorf("saving IPv4 iptables: %w", err) } restore = func(ctx context.Context) { cmd := exec.CommandContext(ctx, c.ipTables+"-restore") //nolint:gosec cmd.Stdin = strings.NewReader(data) output, err := c.runner.Run(cmd) if err != nil { c.logger.Warn(fmt.Sprintf("restoring IPv4 iptables failed: %v: %s", err, output)) } } return restore, nil } // Callers of saveAndRestoreIPv6 MUST always lock the [Config] ip6tablesMutex // before calling this function. func (c *Config) saveAndRestoreIPv6(ctx context.Context) (restore func(context.Context), err error) { if c.ip6Tables == "" { return nil, nil //nolint:nilnil } cmd := exec.CommandContext(ctx, c.ip6Tables+"-save") //nolint:gosec data, err := c.runner.Run(cmd) if err != nil { return nil, fmt.Errorf("saving IPv6 iptables: %w", err) } restore = func(ctx context.Context) { cmd = exec.CommandContext(ctx, c.ip6Tables+"-restore") //nolint:gosec cmd.Stdin = strings.NewReader(data) output, err := c.runner.Run(cmd) if err != nil { c.logger.Warn(fmt.Sprintf("restoring IPv6 iptables failed: %v: %s", err, output)) } } return restore, nil } ================================================ FILE: internal/firewall/iptables/cmd_matcher_test.go ================================================ package iptables import ( "fmt" "os/exec" "regexp" "github.com/golang/mock/gomock" ) var _ gomock.Matcher = (*cmdMatcher)(nil) type cmdMatcher struct { path string argsRegex []string argsRegexp []*regexp.Regexp } func (cm *cmdMatcher) Matches(x interface{}) bool { cmd, ok := x.(*exec.Cmd) if !ok { return false } if cmd.Path != cm.path { return false } if len(cmd.Args) == 0 { return false } arguments := cmd.Args[1:] if len(arguments) != len(cm.argsRegex) { return false } for i, arg := range arguments { if !cm.argsRegexp[i].MatchString(arg) { return false } } return true } func (cm *cmdMatcher) String() string { return fmt.Sprintf("path %s, argument regular expressions %v", cm.path, cm.argsRegex) } func newCmdMatcher(path string, argsRegex ...string) *cmdMatcher { argsRegexp := make([]*regexp.Regexp, len(argsRegex)) for i, argRegex := range argsRegex { argsRegexp[i] = regexp.MustCompile(argRegex) } return &cmdMatcher{ path: path, argsRegex: argsRegex, argsRegexp: argsRegexp, } } ================================================ FILE: internal/firewall/iptables/delete.go ================================================ package iptables import ( "context" "fmt" "os/exec" "strconv" "strings" ) // isDeleteMatchInstruction returns true if the iptables instruction // is a delete instruction by rule matching. It returns false if the // instruction is a delete instruction by line number, or not a delete // instruction. func isDeleteMatchInstruction(instruction string) bool { fields := strings.Fields(instruction) for i, field := range fields { switch { case field != "-D" && field != "--delete": continue case i == len(fields)-1: // malformed: missing chain name return false case i == len(fields)-2: // chain name is last field return true default: // chain name is fields[i+1] const base, bitLength = 10, 16 _, err := strconv.ParseUint(fields[i+2], base, bitLength) return err != nil // not a line number } } return false } func deleteIPTablesRule(ctx context.Context, iptablesBinary, instruction string, runner CmdRunner, logger Logger, ) (err error) { targetRule, err := parseIptablesInstruction(instruction) if err != nil { return fmt.Errorf("parsing iptables command: %w", err) } lineNumber, err := findLineNumber(ctx, iptablesBinary, targetRule, runner, logger) if err != nil { return fmt.Errorf("finding iptables chain rule line number: %w", err) } else if lineNumber == 0 { logger.Debug("rule matching \"" + instruction + "\" not found") return nil } logger.Debug(fmt.Sprintf("found iptables chain rule matching %q at line number %d", instruction, lineNumber)) cmd := exec.CommandContext(ctx, iptablesBinary, "-t", targetRule.table, "-D", targetRule.chain, fmt.Sprint(lineNumber)) // #nosec G204 logger.Debug(cmd.String()) output, err := runner.Run(cmd) if err != nil { err = fmt.Errorf("command failed: %q: %w", cmd, err) if output != "" { err = fmt.Errorf("%w: %s", err, output) } return err } return nil } // findLineNumber finds the line number of an iptables rule. // It returns 0 if the rule is not found. func findLineNumber(ctx context.Context, iptablesBinary string, instruction iptablesInstruction, runner CmdRunner, logger Logger) ( lineNumber uint16, err error, ) { listFlags := []string{ "-t", instruction.table, "-L", instruction.chain, "--line-numbers", "-n", "-v", } cmd := exec.CommandContext(ctx, iptablesBinary, listFlags...) // #nosec G204 logger.Debug(cmd.String()) output, err := runner.Run(cmd) if err != nil { err = fmt.Errorf("command failed: %q: %w", cmd, err) if output != "" { err = fmt.Errorf("%w: %s", err, output) } return 0, err } chain, err := parseChain(output) if err != nil { return 0, fmt.Errorf("parsing chain list: %w", err) } for _, rule := range chain.rules { if instruction.equalToRule(instruction.table, chain.name, rule) { return rule.lineNumber, nil } } return 0, nil } ================================================ FILE: internal/firewall/iptables/delete_test.go ================================================ package iptables import ( "context" "errors" "testing" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" ) func Test_isDeleteMatchInstruction(t *testing.T) { t.Parallel() testCases := map[string]struct { instruction string isDeleteMatch bool }{ "not_delete": { instruction: "-t nat -A PREROUTING -i tun0 -j ACCEPT", }, "malformed_missing_chain_name": { instruction: "-t nat -D", }, "delete_chain_name_last_field": { instruction: "-t nat --delete PREROUTING", isDeleteMatch: true, }, "delete_match": { instruction: "-t nat --delete PREROUTING -i tun0 -j ACCEPT", isDeleteMatch: true, }, "delete_line_number_last_field": { instruction: "-t nat -D PREROUTING 2", }, "delete_line_number": { instruction: "-t nat -D PREROUTING 2 -i tun0 -j ACCEPT", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() isDeleteMatch := isDeleteMatchInstruction(testCase.instruction) assert.Equal(t, testCase.isDeleteMatch, isDeleteMatch) }) } } func newCmdMatcherListRules(iptablesBinary, table, chain string) *cmdMatcher { //nolint:unparam return newCmdMatcher(iptablesBinary, "^-t$", "^"+table+"$", "^-L$", "^"+chain+"$", "^--line-numbers$", "^-n$", "^-v$") } func Test_deleteIPTablesRule(t *testing.T) { t.Parallel() const iptablesBinary = "/sbin/iptables" errTest := errors.New("test error") testCases := map[string]struct { instruction string makeRunner func(ctrl *gomock.Controller) *MockCmdRunner makeLogger func(ctrl *gomock.Controller) *MockLogger errWrapped error errMessage string }{ "invalid_instruction": { instruction: "invalid", errWrapped: ErrIptablesCommandMalformed, errMessage: "parsing iptables command: parsing \"invalid\": " + "iptables command is malformed: flag \"invalid\" requires a value, but got none", }, "list_error": { instruction: "-t nat --delete PREROUTING -i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678", makeRunner: func(ctrl *gomock.Controller) *MockCmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT(). Run(newCmdMatcherListRules(iptablesBinary, "nat", "PREROUTING")). Return("", errTest) return runner }, makeLogger: func(ctrl *gomock.Controller) *MockLogger { logger := NewMockLogger(ctrl) logger.EXPECT().Debug("/sbin/iptables -t nat -L PREROUTING --line-numbers -n -v") return logger }, errWrapped: errTest, errMessage: `finding iptables chain rule line number: command failed: ` + `"/sbin/iptables -t nat -L PREROUTING --line-numbers -n -v": test error`, }, "rule_not_found": { instruction: "-t nat --delete PREROUTING -i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678", makeRunner: func(ctrl *gomock.Controller) *MockCmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newCmdMatcherListRules(iptablesBinary, "nat", "PREROUTING")). Return(`Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 REDIRECT 6 -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5000 redir ports 9999`, //nolint:lll nil) return runner }, makeLogger: func(ctrl *gomock.Controller) *MockLogger { logger := NewMockLogger(ctrl) logger.EXPECT().Debug("/sbin/iptables -t nat -L PREROUTING --line-numbers -n -v") logger.EXPECT().Debug("rule matching \"-t nat --delete PREROUTING " + "-i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678\" not found") return logger }, }, "rule_found_delete_error": { instruction: "-t nat --delete PREROUTING -i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678", makeRunner: func(ctrl *gomock.Controller) *MockCmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newCmdMatcherListRules(iptablesBinary, "nat", "PREROUTING")). Return("Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)\n"+ "num pkts bytes target prot opt in out source destination \n"+ "1 0 0 REDIRECT 6 -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5000 redir ports 9999\n"+ //nolint:lll "2 0 0 REDIRECT 6 -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:43716 redir ports 5678\n", //nolint:lll nil) runner.EXPECT().Run(newCmdMatcher(iptablesBinary, "^-t$", "^nat$", "^-D$", "^PREROUTING$", "^2$")).Return("details", errTest) return runner }, makeLogger: func(ctrl *gomock.Controller) *MockLogger { logger := NewMockLogger(ctrl) logger.EXPECT().Debug("/sbin/iptables -t nat -L PREROUTING --line-numbers -n -v") logger.EXPECT().Debug("found iptables chain rule matching \"-t nat --delete PREROUTING " + "-i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678\" at line number 2") logger.EXPECT().Debug("/sbin/iptables -t nat -D PREROUTING 2") return logger }, errWrapped: errTest, errMessage: "command failed: \"/sbin/iptables -t nat -D PREROUTING 2\": test error: details", }, "rule_found_delete_success": { instruction: "-t nat --delete PREROUTING -i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678", makeRunner: func(ctrl *gomock.Controller) *MockCmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newCmdMatcherListRules(iptablesBinary, "nat", "PREROUTING")). Return("Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)\n"+ "num pkts bytes target prot opt in out source destination \n"+ "1 0 0 REDIRECT 6 -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5000 redir ports 9999\n"+ //nolint:lll "2 0 0 REDIRECT 6 -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:43716 redir ports 5678\n", //nolint:lll nil) runner.EXPECT().Run(newCmdMatcher(iptablesBinary, "^-t$", "^nat$", "^-D$", "^PREROUTING$", "^2$")).Return("", nil) return runner }, makeLogger: func(ctrl *gomock.Controller) *MockLogger { logger := NewMockLogger(ctrl) logger.EXPECT().Debug("/sbin/iptables -t nat -L PREROUTING --line-numbers -n -v") logger.EXPECT().Debug("found iptables chain rule matching \"-t nat --delete PREROUTING " + "-i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678\" at line number 2") logger.EXPECT().Debug("/sbin/iptables -t nat -D PREROUTING 2") return logger }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) ctx := context.Background() instruction := testCase.instruction var runner *MockCmdRunner if testCase.makeRunner != nil { runner = testCase.makeRunner(ctrl) } var logger *MockLogger if testCase.makeLogger != nil { logger = testCase.makeLogger(ctrl) } err := deleteIPTablesRule(ctx, iptablesBinary, instruction, runner, logger) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/firewall/iptables/firewall.go ================================================ package iptables import ( "context" "sync" ) type Config struct { runner CmdRunner logger Logger iptablesMutex sync.Mutex ip6tablesMutex sync.Mutex // Fixed state ipTables string ip6Tables string } func New(ctx context.Context, runner CmdRunner, logger Logger) (*Config, error) { iptables, err := checkIptablesSupport(ctx, runner, "iptables", "iptables-nft", "iptables-legacy") if err != nil { return nil, err } ip6tables, err := findIP6tablesSupported(ctx, runner) if err != nil { return nil, err } return &Config{ runner: runner, logger: logger, ipTables: iptables, ip6Tables: ip6tables, }, nil } ================================================ FILE: internal/firewall/iptables/interfaces.go ================================================ package iptables import "os/exec" type CmdRunner interface { Run(cmd *exec.Cmd) (output string, err error) } type Logger interface { Debug(s string) Warn(s string) } ================================================ FILE: internal/firewall/iptables/ip6tables.go ================================================ package iptables import ( "context" "errors" "fmt" "os/exec" "strings" ) // findIP6tablesSupported checks for multiple iptables implementations // and returns the iptables path that is supported. If none work, an // empty string path is returned. func findIP6tablesSupported(ctx context.Context, runner CmdRunner) ( ip6tablesPath string, err error, ) { ip6tablesPath, err = checkIptablesSupport(ctx, runner, "ip6tables", "ip6tables-legacy") if errors.Is(err, ErrNotSupported) { return "", nil } else if err != nil { return "", err } return ip6tablesPath, nil } func (c *Config) runIP6tablesInstructions(ctx context.Context, instructions []string) error { c.ip6tablesMutex.Lock() // only one ip6tables command at once defer c.ip6tablesMutex.Unlock() restore, err := c.saveAndRestoreIPv6(ctx) if err != nil { return err } err = c.runIP6tablesInstructionsNoSave(ctx, instructions) if err != nil { restore(ctx) } return err } func (c *Config) runIP6tablesInstructionsNoSave(ctx context.Context, instructions []string) error { for _, instruction := range instructions { if err := c.runIP6tablesInstructionNoSave(ctx, instruction); err != nil { return err } } return nil } func (c *Config) runIP6tablesInstruction(ctx context.Context, instruction string) error { c.ip6tablesMutex.Lock() // only one ip6tables command at once defer c.ip6tablesMutex.Unlock() restore, err := c.saveAndRestoreIPv6(ctx) if err != nil { return err } err = c.runIP6tablesInstructionNoSave(ctx, instruction) if err != nil { restore(ctx) } return err } func (c *Config) runIP6tablesInstructionNoSave(ctx context.Context, instruction string) error { if c.ip6Tables == "" { return nil } if isDeleteMatchInstruction(instruction) { return deleteIPTablesRule(ctx, c.ip6Tables, instruction, c.runner, c.logger) } flags := strings.Fields(instruction) cmd := exec.CommandContext(ctx, c.ip6Tables, flags...) // #nosec G204 c.logger.Debug(cmd.String()) if output, err := c.runner.Run(cmd); err != nil { return fmt.Errorf("command failed: \"%s %s\": %s: %w", c.ip6Tables, instruction, output, err) } return nil } var ErrPolicyNotValid = errors.New("policy is not valid") func (c *Config) SetIPv6AllPolicies(ctx context.Context, policy string) error { switch policy { case "ACCEPT", "DROP": default: return fmt.Errorf("%w: %s", ErrPolicyNotValid, policy) } return c.runIP6tablesInstructions(ctx, []string{ "--policy INPUT " + policy, "--policy OUTPUT " + policy, "--policy FORWARD " + policy, }) } ================================================ FILE: internal/firewall/iptables/iptables.go ================================================ package iptables import ( "context" "errors" "fmt" "io" "net/netip" "os" "os/exec" "strings" "github.com/qdm12/gluetun/internal/models" ) var ( ErrIPTablesVersionTooShort = errors.New("iptables version string is too short") ErrPolicyUnknown = errors.New("unknown policy") ErrNeedIP6Tables = errors.New("ip6tables is required, please upgrade your kernel to support it") ) func appendOrDelete(remove bool) string { if remove { return "--delete" } return "--append" } // Version obtains the version of the installed iptables. func (c *Config) Version(ctx context.Context) (string, error) { cmd := exec.CommandContext(ctx, c.ipTables, "--version") //nolint:gosec output, err := c.runner.Run(cmd) if err != nil { return "", err } words := strings.Fields(output) const minWords = 2 if len(words) < minWords { return "", fmt.Errorf("%w: %s", ErrIPTablesVersionTooShort, output) } return "iptables " + words[1], nil } func (c *Config) runIptablesInstructions(ctx context.Context, instructions []string) error { c.iptablesMutex.Lock() defer c.iptablesMutex.Unlock() restore, err := c.saveAndRestoreIPv4(ctx) if err != nil { return err } err = c.runIptablesInstructionsNoSave(ctx, instructions) if err != nil { restore(ctx) } return err } func (c *Config) runIptablesInstructionsNoSave(ctx context.Context, instructions []string) error { for _, instruction := range instructions { if err := c.runIptablesInstructionNoSave(ctx, instruction); err != nil { return err } } return nil } func (c *Config) runIptablesInstruction(ctx context.Context, instruction string) error { c.iptablesMutex.Lock() // only one iptables command at once defer c.iptablesMutex.Unlock() restore, err := c.saveAndRestoreIPv4(ctx) if err != nil { return err } err = c.runIptablesInstructionNoSave(ctx, instruction) if err != nil { restore(ctx) } return err } func (c *Config) runIptablesInstructionNoSave(ctx context.Context, instruction string) error { if isDeleteMatchInstruction(instruction) { return deleteIPTablesRule(ctx, c.ipTables, instruction, c.runner, c.logger) } flags := strings.Fields(instruction) cmd := exec.CommandContext(ctx, c.ipTables, flags...) // #nosec G204 c.logger.Debug(cmd.String()) if output, err := c.runner.Run(cmd); err != nil { return fmt.Errorf("command failed: \"%s %s\": %s: %w", c.ipTables, instruction, output, err) } return nil } func (c *Config) SetIPv4AllPolicies(ctx context.Context, policy string) error { switch policy { case "ACCEPT", "DROP": default: return fmt.Errorf("%w: %s", ErrPolicyUnknown, policy) } return c.runIptablesInstructions(ctx, []string{ "--policy INPUT " + policy, "--policy OUTPUT " + policy, "--policy FORWARD " + policy, }) } func (c *Config) AcceptInputThroughInterface(ctx context.Context, intf string) error { return c.runMixedIptablesInstruction(ctx, fmt.Sprintf( "--append INPUT -i %s -j ACCEPT", intf)) } func (c *Config) AcceptInputToSubnet(ctx context.Context, intf string, destination netip.Prefix) error { interfaceFlag := "-i " + intf if intf == "*" { // all interfaces interfaceFlag = "" } instruction := fmt.Sprintf("--append INPUT %s -d %s -j ACCEPT", interfaceFlag, destination.String()) if destination.Addr().Is4() { return c.runIptablesInstruction(ctx, instruction) } if c.ip6Tables == "" { return fmt.Errorf("accept input to subnet %s: %w", destination, ErrNeedIP6Tables) } return c.runIP6tablesInstruction(ctx, instruction) } func (c *Config) AcceptOutputThroughInterface(ctx context.Context, intf string, remove bool) error { return c.runMixedIptablesInstruction(ctx, fmt.Sprintf( "%s OUTPUT -o %s -j ACCEPT", appendOrDelete(remove), intf, )) } func (c *Config) AcceptEstablishedRelatedTraffic(ctx context.Context) error { return c.runMixedIptablesInstructions(ctx, []string{ "--append OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT", "--append INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT", }) } func (c *Config) AcceptOutputTrafficToVPN(ctx context.Context, defaultInterface string, connection models.Connection, remove bool, ) error { protocol := connection.Protocol instruction := fmt.Sprintf("%s OUTPUT -d %s -o %s -p %s -m %s --dport %d -j ACCEPT", appendOrDelete(remove), connection.IP, defaultInterface, protocol, protocol, connection.Port) if connection.IP.Is4() { return c.runIptablesInstruction(ctx, instruction) } else if c.ip6Tables == "" { return fmt.Errorf("accept output to VPN server: %w", ErrNeedIP6Tables) } return c.runIP6tablesInstruction(ctx, instruction) } // AcceptOutputFromIPToSubnet accepts outgoing traffic from sourceIP to destinationSubnet // on the interface intf. If intf is empty, it is set to "*" which means all interfaces. // If remove is true, the rule is removed instead of added. // Thanks to @npawelek. func (c *Config) AcceptOutputFromIPToSubnet(ctx context.Context, intf string, sourceIP netip.Addr, destinationSubnet netip.Prefix, remove bool, ) error { doIPv4 := sourceIP.Is4() && destinationSubnet.Addr().Is4() interfaceFlag := "-o " + intf if intf == "*" { // all interfaces interfaceFlag = "" } instruction := fmt.Sprintf("%s OUTPUT %s -s %s -d %s -j ACCEPT", appendOrDelete(remove), interfaceFlag, sourceIP.String(), destinationSubnet.String()) if doIPv4 { return c.runIptablesInstruction(ctx, instruction) } else if c.ip6Tables == "" { return fmt.Errorf("accept output from %s to %s: %w", sourceIP, destinationSubnet, ErrNeedIP6Tables) } return c.runIP6tablesInstruction(ctx, instruction) } // AcceptIpv6MulticastOutput accepts outgoing traffic to the IPv6 multicast address // ff02::1:ff00:0/104, which is used for NDP (Neighbor Discovery Protocol) to resolve // IPv6 addresses to MAC addresses. If intf is empty, it is set to "*" which means // all interfaces. If remove is true, the rule is removed instead of added. func (c *Config) AcceptIpv6MulticastOutput(ctx context.Context, intf string) error { interfaceFlag := "-o " + intf if intf == "*" { // all interfaces interfaceFlag = "" } instruction := fmt.Sprintf("--append OUTPUT %s -d ff02::1:ff00:0/104 -j ACCEPT", interfaceFlag) return c.runIP6tablesInstruction(ctx, instruction) } // AcceptInputToPort accepts incoming traffic on the specified port, for both TCP and UDP // protocols, on the interface intf. If intf is empty, it is set to "*" which means all interfaces. // If remove is true, the rule is removed instead of added. This is used for port forwarding, with // intf set to the VPN tunnel interface. func (c *Config) AcceptInputToPort(ctx context.Context, intf string, port uint16, remove bool) error { interfaceFlag := "-i " + intf if intf == "*" { // all interfaces interfaceFlag = "" } return c.runMixedIptablesInstructions(ctx, []string{ fmt.Sprintf("%s INPUT %s -p tcp -m tcp --dport %d -j ACCEPT", appendOrDelete(remove), interfaceFlag, port), fmt.Sprintf("%s INPUT %s -p udp -m udp --dport %d -j ACCEPT", appendOrDelete(remove), interfaceFlag, port), }) } // RedirectPort redirects incoming traffic on the specified source port to the // specified destination port, for both TCP and UDP protocols, on the interface intf. // If intf is empty, it is set to "*" which means all interfaces. If remove is true, // the redirection is removed instead of added. This is used for VPN server side // port forwarding, with intf set to the VPN tunnel interface. func (c *Config) RedirectPort(ctx context.Context, intf string, sourcePort, destinationPort uint16, remove bool, ) (err error) { interfaceFlag := "-i " + intf if intf == "*" { // all interfaces interfaceFlag = "" } c.iptablesMutex.Lock() c.ip6tablesMutex.Lock() defer c.iptablesMutex.Unlock() defer c.ip6tablesMutex.Unlock() restore, err := c.saveAndRestore(ctx) if err != nil { return err } err = c.runIptablesInstructionsNoSave(ctx, []string{ fmt.Sprintf("-t nat %s PREROUTING %s -p tcp --dport %d -j REDIRECT --to-ports %d", appendOrDelete(remove), interfaceFlag, sourcePort, destinationPort), fmt.Sprintf("%s INPUT %s -p tcp -m tcp --dport %d -j ACCEPT", appendOrDelete(remove), interfaceFlag, destinationPort), fmt.Sprintf("-t nat %s PREROUTING %s -p udp --dport %d -j REDIRECT --to-ports %d", appendOrDelete(remove), interfaceFlag, sourcePort, destinationPort), fmt.Sprintf("%s INPUT %s -p udp -m udp --dport %d -j ACCEPT", appendOrDelete(remove), interfaceFlag, destinationPort), }) if err != nil { restore(ctx) return fmt.Errorf("redirecting IPv4 source port %d to destination port %d on interface %s: %w", sourcePort, destinationPort, intf, err) } err = c.runIP6tablesInstructionsNoSave(ctx, []string{ fmt.Sprintf("-t nat %s PREROUTING %s -p tcp --dport %d -j REDIRECT --to-ports %d", appendOrDelete(remove), interfaceFlag, sourcePort, destinationPort), fmt.Sprintf("%s INPUT %s -p tcp -m tcp --dport %d -j ACCEPT", appendOrDelete(remove), interfaceFlag, destinationPort), fmt.Sprintf("-t nat %s PREROUTING %s -p udp --dport %d -j REDIRECT --to-ports %d", appendOrDelete(remove), interfaceFlag, sourcePort, destinationPort), fmt.Sprintf("%s INPUT %s -p udp -m udp --dport %d -j ACCEPT", appendOrDelete(remove), interfaceFlag, destinationPort), }) if err != nil { restore(ctx) // just in case errMessage := err.Error() if strings.Contains(errMessage, "can't initialize ip6tables table `nat': Table does not exist") { if !remove { c.logger.Warn("IPv6 port redirection disabled because your kernel does not support IPv6 NAT: " + errMessage) } return nil } return fmt.Errorf("redirecting IPv6 source port %d to destination port %d on interface %s: %w", sourcePort, destinationPort, intf, err) } return nil } func (c *Config) RunUserPostRules(ctx context.Context, filepath string) error { file, err := os.OpenFile(filepath, os.O_RDONLY, 0) if os.IsNotExist(err) { return nil } else if err != nil { return err } b, err := io.ReadAll(file) if err != nil { _ = file.Close() return err } if err := file.Close(); err != nil { return err } lines := strings.Split(string(b), "\n") c.iptablesMutex.Lock() c.ip6tablesMutex.Lock() defer c.iptablesMutex.Unlock() defer c.ip6tablesMutex.Unlock() restore, err := c.saveAndRestore(ctx) if err != nil { return err } for _, line := range lines { var ipv4 bool var rule string switch { case strings.HasPrefix(line, "iptables "): ipv4 = true rule = strings.TrimPrefix(line, "iptables ") case strings.HasPrefix(line, "iptables-nft "): ipv4 = true rule = strings.TrimPrefix(line, "iptables-nft ") case strings.HasPrefix(line, "iptables-legacy "): ipv4 = true rule = strings.TrimPrefix(line, "iptables-legacy ") case strings.HasPrefix(line, "ip6tables "): ipv4 = false rule = strings.TrimPrefix(line, "ip6tables ") case strings.HasPrefix(line, "ip6tables-nft "): ipv4 = false rule = strings.TrimPrefix(line, "ip6tables-nft ") case strings.HasPrefix(line, "ip6tables-legacy "): ipv4 = false rule = strings.TrimPrefix(line, "ip6tables-legacy ") default: continue } switch { case ipv4: err = c.runIptablesInstructionNoSave(ctx, rule) case c.ip6Tables == "": err = fmt.Errorf("running user ip6tables rule: %w", ErrNeedIP6Tables) default: // ipv6 err = c.runIP6tablesInstructionNoSave(ctx, rule) } if err != nil { restore(ctx) return err } } return nil } ================================================ FILE: internal/firewall/iptables/iptablesmix.go ================================================ package iptables import ( "context" ) func (c *Config) runMixedIptablesInstructions(ctx context.Context, instructions []string) error { c.iptablesMutex.Lock() c.ip6tablesMutex.Lock() defer c.iptablesMutex.Unlock() defer c.ip6tablesMutex.Unlock() restore, err := c.saveAndRestore(ctx) if err != nil { return err } for _, instruction := range instructions { if err := c.runMixedIptablesInstructionNoSave(ctx, instruction); err != nil { restore(ctx) return err } } return nil } func (c *Config) runMixedIptablesInstruction(ctx context.Context, instruction string) error { c.iptablesMutex.Lock() c.ip6tablesMutex.Lock() defer c.iptablesMutex.Unlock() defer c.ip6tablesMutex.Unlock() restore, err := c.saveAndRestore(ctx) if err != nil { return err } err = c.runMixedIptablesInstructionNoSave(ctx, instruction) if err != nil { restore(ctx) } return err } func (c *Config) runMixedIptablesInstructionNoSave(ctx context.Context, instruction string) error { if err := c.runIptablesInstructionNoSave(ctx, instruction); err != nil { return err } return c.runIP6tablesInstructionNoSave(ctx, instruction) } ================================================ FILE: internal/firewall/iptables/list.go ================================================ package iptables import ( "errors" "fmt" "net/netip" "slices" "strconv" "strings" ) type chain struct { name string policy string packets uint64 bytes uint64 rules []chainRule } type chainRule struct { lineNumber uint16 // starts from 1 and cannot be zero. packets uint64 bytes uint64 target string // "ACCEPT", "DROP", "REJECT" or "REDIRECT" protocol string // "icmp", "tcp", "udp" or "" for all protocols. inputInterface string // input interface, for example "tun0" or "*"" outputInterface string // output interface, for example "eth0" or "*"" source netip.Prefix // source IP CIDR, for example 0.0.0.0/0. Must be valid. sourcePort uint16 // Not specified if set to zero. destination netip.Prefix // destination IP CIDR, for example 0.0.0.0/0. Must be valid. destinationPort uint16 // Not specified if set to zero. redirPorts []uint16 // Not specified if empty. ctstate []string // for example ["RELATED","ESTABLISHED"]. Can be empty. tcpFlags tcpFlags mark mark } type mark struct { invert bool value uint } var ErrChainListMalformed = errors.New("iptables chain list output is malformed") func parseChain(iptablesOutput string) (c chain, err error) { // Text example: // Chain INPUT (policy ACCEPT 140K packets, 226M bytes) // pkts bytes target prot opt in out source destination // 0 0 ACCEPT 17 -- tun0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:55405 // 0 0 ACCEPT 6 -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:55405 // 0 0 DROP 0 -- tun0 * 0.0.0.0/0 0.0.0.0/0 iptablesOutput = strings.TrimSpace(iptablesOutput) linesWithComments := strings.Split(iptablesOutput, "\n") // Filter out lines starting with a '#' character lines := make([]string, 0, len(linesWithComments)) for _, line := range linesWithComments { if strings.HasPrefix(line, "#") { continue } lines = append(lines, line) } const minLines = 2 // chain general information line + legend line if len(lines) < minLines { return chain{}, fmt.Errorf("%w: not enough lines to process in: %s", ErrChainListMalformed, iptablesOutput) } c, err = parseChainGeneralDataLine(lines[0]) if err != nil { return chain{}, fmt.Errorf("parsing chain general data line: %w", err) } // Sanity check for the legend line expectedLegendFields := []string{"num", "pkts", "bytes", "target", "prot", "opt", "in", "out", "source", "destination"} legendLine := strings.TrimSpace(lines[1]) legendFields := strings.Fields(legendLine) if !slices.Equal(expectedLegendFields, legendFields) { return chain{}, fmt.Errorf("%w: legend %q is not the expected %q", ErrChainListMalformed, legendLine, strings.Join(expectedLegendFields, " ")) } lines = lines[2:] // remove chain general information line and legend line if len(lines) == 0 { return c, nil } c.rules = make([]chainRule, len(lines)) for i, line := range lines { c.rules[i], err = parseChainRuleLine(line) if err != nil { return chain{}, fmt.Errorf("parsing chain rule %q: %w", line, err) } } return c, nil } // parseChainGeneralDataLine parses the first line of iptables chain list output. // For example, it can parse the following line: // Chain INPUT (policy ACCEPT 140K packets, 226M bytes) // It returns a chain struct with the parsed data. func parseChainGeneralDataLine(line string) (base chain, err error) { line = strings.TrimSpace(line) runesToRemove := []rune{'(', ')', ','} for _, r := range runesToRemove { line = strings.ReplaceAll(line, string(r), "") } fields := strings.Fields(line) const expectedNumberOfFields = 8 if len(fields) != expectedNumberOfFields { return chain{}, fmt.Errorf("%w: expected %d fields in %q", ErrChainListMalformed, expectedNumberOfFields, line) } // Sanity checks indexToExpectedValue := map[int]string{ 0: "Chain", 2: "policy", 5: "packets", 7: "bytes", } for index, expectedValue := range indexToExpectedValue { if fields[index] == expectedValue { continue } return chain{}, fmt.Errorf("%w: expected %q for field %d in %q", ErrChainListMalformed, expectedValue, index, line) } base.name = fields[1] // chain name could be custom base.policy = fields[3] err = checkTarget(base.policy) if err != nil { return chain{}, fmt.Errorf("policy target in %q: %w", line, err) } packets, err := parseMetricSize(fields[4]) if err != nil { return chain{}, fmt.Errorf("parsing packets: %w", err) } base.packets = packets bytes, err := parseMetricSize(fields[6]) if err != nil { return chain{}, fmt.Errorf("parsing bytes: %w", err) } base.bytes = bytes return base, nil } var ErrChainRuleMalformed = errors.New("chain rule is malformed") func parseChainRuleLine(line string) (rule chainRule, err error) { line = strings.TrimSpace(line) if line == "" { return chainRule{}, fmt.Errorf("%w: empty line", ErrChainRuleMalformed) } fields := strings.Fields(line) const minFields = 10 if len(fields) < minFields { return chainRule{}, fmt.Errorf("%w: not enough fields", ErrChainRuleMalformed) } for fieldIndex, field := range fields[:minFields] { err = parseChainRuleField(fieldIndex, field, &rule) if err != nil { return chainRule{}, fmt.Errorf("parsing chain rule field: %w", err) } } if len(fields) > minFields { err = parseChainRuleOptionalFields(fields[minFields:], &rule) if err != nil { return chainRule{}, fmt.Errorf("parsing optional fields: %w", err) } } return rule, nil } func parseChainRuleField(fieldIndex int, field string, rule *chainRule) (err error) { if field == "" { return fmt.Errorf("%w: empty field at index %d", ErrChainRuleMalformed, fieldIndex) } const ( numIndex = iota packetsIndex bytesIndex targetIndex protocolIndex optIndex inputInterfaceIndex outputInterfaceIndex sourceIndex destinationIndex ) switch fieldIndex { case numIndex: rule.lineNumber, err = parseLineNumber(field) if err != nil { return fmt.Errorf("parsing line number: %w", err) } case packetsIndex: rule.packets, err = parseMetricSize(field) if err != nil { return fmt.Errorf("parsing packets: %w", err) } case bytesIndex: rule.bytes, err = parseMetricSize(field) if err != nil { return fmt.Errorf("parsing bytes: %w", err) } case targetIndex: err = checkTarget(field) if err != nil { return fmt.Errorf("checking target: %w", err) } rule.target = field case protocolIndex: rule.protocol, err = parseProtocol(field) if err != nil { return fmt.Errorf("parsing protocol: %w", err) } case optIndex: // ignored case inputInterfaceIndex: rule.inputInterface = field case outputInterfaceIndex: rule.outputInterface = field case sourceIndex: rule.source, err = parseIPPrefix(field) if err != nil { return fmt.Errorf("parsing source IP CIDR: %w", err) } case destinationIndex: rule.destination, err = parseIPPrefix(field) if err != nil { return fmt.Errorf("parsing destination IP CIDR: %w", err) } } return nil } func parseChainRuleOptionalFields(optionalFields []string, rule *chainRule) (err error) { i := 0 for i < len(optionalFields) { switch optionalFields[i] { case "udp": i++ consumed, err := parseUDPOptional(optionalFields[i:], rule) if err != nil { return fmt.Errorf("parsing UDP optional fields: %w", err) } i += consumed case "tcp": i++ consumed, err := parseTCPOptional(optionalFields[i:], rule) if err != nil { return fmt.Errorf("parsing TCP optional fields: %w", err) } i += consumed case "redir": i++ switch optionalFields[i] { case "ports": i++ ports, err := parsePortsCSV(optionalFields[i]) if err != nil { return fmt.Errorf("parsing redirection ports: %w", err) } rule.redirPorts = ports i++ default: return fmt.Errorf("%w: unexpected %q after redir", ErrChainRuleMalformed, optionalFields[1]) } case "ctstate": i++ rule.ctstate = strings.Split(optionalFields[i], ",") i++ case "mark": i++ mark, consumed, err := parseMark(optionalFields[i:]) if err != nil { return fmt.Errorf("parsing mark: %w", err) } rule.mark = mark i += consumed default: return fmt.Errorf("%w: unexpected optional field: %s", ErrChainRuleMalformed, optionalFields[i]) } } return nil } var errUDPOptionalUnknown = errors.New("unknown UDP optional field") func parseUDPOptional(optionalFields []string, rule *chainRule) (consumed int, err error) { for _, value := range optionalFields { if !strings.ContainsRune(value, ':') { // no longer a UDP-associated option return consumed, nil } switch { case strings.HasPrefix(value, "dpt:"): rule.destinationPort, err = parseDestinationPort(value) if err != nil { return 0, fmt.Errorf("parsing destination port: %w", err) } consumed++ case strings.HasPrefix(value, "spt:"): rule.sourcePort, err = parseSourcePort(value) if err != nil { return 0, fmt.Errorf("parsing source port: %w", err) } consumed++ default: return 0, fmt.Errorf("%w: %s", errUDPOptionalUnknown, value) } } return consumed, nil } var errTCPOptionalUnknown = errors.New("unknown TCP optional field") func parseTCPOptional(optionalFields []string, rule *chainRule) (consumed int, err error) { for _, value := range optionalFields { if !strings.ContainsRune(value, ':') { // no longer a TCP-associated option return consumed, nil } switch { case strings.HasPrefix(value, "dpt:"): rule.destinationPort, err = parseDestinationPort(value) if err != nil { return 0, fmt.Errorf("parsing destination port: %w", err) } consumed++ case strings.HasPrefix(value, "spt:"): rule.sourcePort, err = parseSourcePort(value) if err != nil { return 0, fmt.Errorf("parsing source port: %w", err) } consumed++ case strings.HasPrefix(value, "flags:"): rule.tcpFlags, err = parseTCPFlags(value) if err != nil { return 0, fmt.Errorf("parsing TCP flags: %w", err) } consumed++ default: return 0, fmt.Errorf("%w: %s", errTCPOptionalUnknown, value) } } return consumed, nil } func parseDestinationPort(value string) (port uint16, err error) { value = strings.TrimPrefix(value, "dpt:") return parsePort(value) } func parseSourcePort(value string) (port uint16, err error) { value = strings.TrimPrefix(value, "spt:") return parsePort(value) } var errTCPFlagsMalformed = errors.New("TCP flags are malformed") func parseTCPFlags(value string) (tcpFlags, error) { value = strings.TrimPrefix(value, "flags:") fields := strings.Split(value, "/") const expectedFields = 2 if len(fields) != expectedFields { return tcpFlags{}, fmt.Errorf("%w: expected format 'flags:/' in %q", errTCPFlagsMalformed, value) } maskFlags := strings.Split(fields[0], ",") mask := make([]tcpFlag, len(maskFlags)) var err error for i, maskFlag := range maskFlags { mask[i], err = parseTCPFlag(maskFlag) if err != nil { return tcpFlags{}, fmt.Errorf("parsing TCP mask flags: %w", err) } } comparisonFlags := strings.Split(fields[1], ",") comparison := make([]tcpFlag, len(comparisonFlags)) for i, comparisonFlag := range comparisonFlags { comparison[i], err = parseTCPFlag(comparisonFlag) if err != nil { return tcpFlags{}, fmt.Errorf("parsing TCP comparison flags: %w", err) } } return tcpFlags{ mask: mask, comparison: comparison, }, nil } func parsePortsCSV(s string) (ports []uint16, err error) { if s == "" { return nil, nil } fields := strings.Split(s, ",") ports = make([]uint16, len(fields)) for i, field := range fields { ports[i], err = parsePort(field) if err != nil { return nil, err } } return ports, nil } var errMarkValueMalformed = errors.New("mark value is malformed") func parseMark(optionalFields []string) (m mark, consumed int, err error) { switch optionalFields[consumed] { case "match": consumed++ if optionalFields[consumed] == "!" { m.invert = true consumed++ } const base = 0 // auto-detect const bits = 32 value, err := strconv.ParseUint(optionalFields[consumed], base, bits) if err != nil { return mark{}, 0, fmt.Errorf("%w: %s", errMarkValueMalformed, optionalFields[consumed]) } m.value = uint(value) consumed++ default: return mark{}, 0, fmt.Errorf("%w: unexpected mark mode field: %s", ErrChainRuleMalformed, optionalFields[consumed]) } return m, consumed, nil } var ErrLineNumberIsZero = errors.New("line number is zero") func parseLineNumber(s string) (n uint16, err error) { const base, bitLength = 10, 16 lineNumber, err := strconv.ParseUint(s, base, bitLength) if err != nil { return 0, err } else if lineNumber == 0 { return 0, fmt.Errorf("%w", ErrLineNumberIsZero) } return uint16(lineNumber), nil } var ErrTargetUnknown = errors.New("unknown target") func checkTarget(target string) (err error) { switch target { case "ACCEPT", "DROP", "REJECT", "REDIRECT": return nil } return fmt.Errorf("%w: %s", ErrTargetUnknown, target) } var ErrProtocolUnknown = errors.New("unknown protocol") func parseProtocol(s string) (protocol string, err error) { switch s { case "0", "all": case "1", "icmp": protocol = "icmp" case "6", "tcp": protocol = "tcp" case "17", "udp": protocol = "udp" default: return "", fmt.Errorf("%w: %s", ErrProtocolUnknown, s) } return protocol, nil } var ErrMetricSizeMalformed = errors.New("metric size is malformed") // parseMetricSize parses a metric size string like 140K or 226M and // returns the raw integer matching it. func parseMetricSize(size string) (n uint64, err error) { if size == "" { return n, fmt.Errorf("%w: empty string", ErrMetricSizeMalformed) } //nolint:mnd multiplerLetterToValue := map[byte]uint64{ 'K': 1000, 'M': 1000000, 'G': 1000000000, 'T': 1000000000000, } lastCharacter := size[len(size)-1] multiplier, ok := multiplerLetterToValue[lastCharacter] if ok { // multiplier present size = size[:len(size)-1] } else { multiplier = 1 } const base, bitLength = 10, 64 n, err = strconv.ParseUint(size, base, bitLength) if err != nil { return n, fmt.Errorf("%w: %w", ErrMetricSizeMalformed, err) } n *= multiplier return n, nil } ================================================ FILE: internal/firewall/iptables/list_test.go ================================================ package iptables import ( "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_parseChain(t *testing.T) { t.Parallel() testCases := map[string]struct { iptablesOutput string table chain errWrapped error errMessage string }{ "no_output": { errWrapped: ErrChainListMalformed, errMessage: "iptables chain list output is malformed: not enough lines to process in: ", }, "single_line_only": { iptablesOutput: `Chain INPUT (policy ACCEPT 140K packets, 226M bytes)`, errWrapped: ErrChainListMalformed, errMessage: "iptables chain list output is malformed: not enough lines to process in: " + "Chain INPUT (policy ACCEPT 140K packets, 226M bytes)", }, "malformed_general_data_line": { iptablesOutput: `Chain INPUT num pkts bytes target prot opt in out source destination`, errWrapped: ErrChainListMalformed, errMessage: "parsing chain general data line: iptables chain list output is malformed: " + "expected 8 fields in \"Chain INPUT\"", }, "malformed_legend": { iptablesOutput: `Chain INPUT (policy ACCEPT 140K packets, 226M bytes) num pkts bytes target prot opt in out source`, errWrapped: ErrChainListMalformed, errMessage: "iptables chain list output is malformed: legend " + "\"num pkts bytes target prot opt in out source\" " + "is not the expected \"num pkts bytes target prot opt in out source destination\"", }, "no_rule": { iptablesOutput: `Chain INPUT (policy ACCEPT 140K packets, 226M bytes) num pkts bytes target prot opt in out source destination`, table: chain{ name: "INPUT", policy: "ACCEPT", packets: 140000, bytes: 226000000, }, }, "some_rules": { iptablesOutput: `Chain INPUT (policy ACCEPT 140K packets, 226M bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT 17 -- tun0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:55405 2 0 0 ACCEPT 6 -- tun0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:55405 3 0 0 ACCEPT 1 -- tun0 * 0.0.0.0/0 0.0.0.0/0 4 0 0 DROP 0 -- tun0 * 1.2.3.4 0.0.0.0/0 5 0 0 ACCEPT all -- tun0 * 1.2.3.4 0.0.0.0/0 `, table: chain{ name: "INPUT", policy: "ACCEPT", packets: 140000, bytes: 226000000, rules: []chainRule{ { lineNumber: 1, packets: 0, bytes: 0, target: "ACCEPT", protocol: "udp", inputInterface: "tun0", outputInterface: "*", source: netip.MustParsePrefix("0.0.0.0/0"), destination: netip.MustParsePrefix("0.0.0.0/0"), destinationPort: 55405, }, { lineNumber: 2, packets: 0, bytes: 0, target: "ACCEPT", protocol: "tcp", inputInterface: "tun0", outputInterface: "*", source: netip.MustParsePrefix("0.0.0.0/0"), destination: netip.MustParsePrefix("0.0.0.0/0"), destinationPort: 55405, }, { lineNumber: 3, packets: 0, bytes: 0, target: "ACCEPT", protocol: "icmp", inputInterface: "tun0", outputInterface: "*", source: netip.MustParsePrefix("0.0.0.0/0"), destination: netip.MustParsePrefix("0.0.0.0/0"), }, { lineNumber: 4, packets: 0, bytes: 0, target: "DROP", protocol: "", inputInterface: "tun0", outputInterface: "*", source: netip.MustParsePrefix("1.2.3.4/32"), destination: netip.MustParsePrefix("0.0.0.0/0"), }, { lineNumber: 5, packets: 0, bytes: 0, target: "ACCEPT", protocol: "", inputInterface: "tun0", outputInterface: "*", source: netip.MustParsePrefix("1.2.3.4/32"), destination: netip.MustParsePrefix("0.0.0.0/0"), }, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() table, err := parseChain(testCase.iptablesOutput) assert.Equal(t, testCase.table, table) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/firewall/iptables/mocks_generate_test.go ================================================ package iptables //go:generate mockgen -destination=mocks_test.go -package $GOPACKAGE . CmdRunner,Logger ================================================ FILE: internal/firewall/iptables/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/firewall/iptables (interfaces: CmdRunner,Logger) // Package iptables is a generated GoMock package. package iptables import ( exec "os/exec" reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockCmdRunner is a mock of CmdRunner interface. type MockCmdRunner struct { ctrl *gomock.Controller recorder *MockCmdRunnerMockRecorder } // MockCmdRunnerMockRecorder is the mock recorder for MockCmdRunner. type MockCmdRunnerMockRecorder struct { mock *MockCmdRunner } // NewMockCmdRunner creates a new mock instance. func NewMockCmdRunner(ctrl *gomock.Controller) *MockCmdRunner { mock := &MockCmdRunner{ctrl: ctrl} mock.recorder = &MockCmdRunnerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockCmdRunner) EXPECT() *MockCmdRunnerMockRecorder { return m.recorder } // Run mocks base method. func (m *MockCmdRunner) Run(arg0 *exec.Cmd) (string, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Run", arg0) ret0, _ := ret[0].(string) ret1, _ := ret[1].(error) return ret0, ret1 } // Run indicates an expected call of Run. func (mr *MockCmdRunnerMockRecorder) Run(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Run", reflect.TypeOf((*MockCmdRunner)(nil).Run), arg0) } // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Debug mocks base method. func (m *MockLogger) Debug(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Debug", arg0) } // Debug indicates an expected call of Debug. func (mr *MockLoggerMockRecorder) Debug(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockLogger)(nil).Debug), arg0) } // Warn mocks base method. func (m *MockLogger) Warn(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Warn", arg0) } // Warn indicates an expected call of Warn. func (mr *MockLoggerMockRecorder) Warn(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warn", reflect.TypeOf((*MockLogger)(nil).Warn), arg0) } ================================================ FILE: internal/firewall/iptables/parse.go ================================================ package iptables import ( "errors" "fmt" "net/netip" "slices" "strconv" "strings" ) type iptablesInstruction struct { table string // defaults to "filter", and can be "nat" for example. append bool chain string // for example INPUT, PREROUTING. Cannot be empty. target string // for example ACCEPT. Can be empty. protocol string // "tcp" or "udp" or "" for all protocols. inputInterface string // for example "tun0" or "" for any interface. outputInterface string // for example "tun0" or "" for any interface. source netip.Prefix // if not valid, then it is unspecified. sourcePort uint16 // if zero, there is no source port destination netip.Prefix // if not valid, then it is unspecified. destinationPort uint16 // if zero, there is no destination port toPorts []uint16 // if empty, there is no redirection ctstate []string // if empty, there is no ctstate tcpFlags tcpFlags mark mark } func (i *iptablesInstruction) setDefaults() { if i.table == "" { i.table = "filter" } } // equalToRule ignores the append boolean flag of the instruction to compare against the rule. func (i *iptablesInstruction) equalToRule(table, chain string, rule chainRule) (equal bool) { switch { case i.table != table: return false case i.chain != chain: return false case i.target != rule.target: return false case i.protocol != rule.protocol: return false case i.destinationPort != rule.destinationPort: return false case i.sourcePort != rule.sourcePort: return false case !slices.Equal(i.toPorts, rule.redirPorts): return false case !slices.Equal(i.ctstate, rule.ctstate): return false case !networkInterfacesEqual(i.inputInterface, rule.inputInterface): return false case !networkInterfacesEqual(i.outputInterface, rule.outputInterface): return false case !ipPrefixesEqual(i.source, rule.source): return false case !ipPrefixesEqual(i.destination, rule.destination): return false case !slices.Equal(i.tcpFlags.mask, rule.tcpFlags.mask) || !slices.Equal(i.tcpFlags.comparison, rule.tcpFlags.comparison): return false case i.mark != rule.mark: return false default: return true } } // instruction can be "" which equivalent to the "*" chain rule interface. func networkInterfacesEqual(instruction, chainRule string) bool { return instruction == chainRule || (instruction == "" && chainRule == "*") } func ipPrefixesEqual(instruction, chainRule netip.Prefix) bool { return instruction == chainRule || (!instruction.IsValid() && chainRule.Bits() == 0 && chainRule.Addr().IsUnspecified()) } var ErrIptablesCommandMalformed = errors.New("iptables command is malformed") func parseIptablesInstruction(s string) (instruction iptablesInstruction, err error) { if s == "" { return iptablesInstruction{}, fmt.Errorf("%w: empty instruction", ErrIptablesCommandMalformed) } fields := strings.Fields(s) i := 0 for i < len(fields) { consumed, err := parseInstructionFlag(fields[i:], &instruction) if err != nil { return iptablesInstruction{}, fmt.Errorf("parsing %q: %w", s, err) } i += consumed } instruction.setDefaults() return instruction, nil } func parseInstructionFlag(fields []string, instruction *iptablesInstruction) (consumed int, err error) { consumed, err = preCheckInstructionFields(fields) if err != nil { return 0, err } flag := fields[0] value := fields[1] switch flag { case "-t", "--table": instruction.table = value case "-D", "--delete": instruction.append = false instruction.chain = value case "-A", "--append": instruction.append = true instruction.chain = value case "-j", "--jump": instruction.target = value case "-p", "--protocol": instruction.protocol = value case "-m", "--match": consumed, err = parseMatchModule(fields, instruction) if err != nil { return 0, fmt.Errorf("parsing match module: %w", err) } case "--mark": const base = 0 // auto-detect const bits = 32 value, err := strconv.ParseUint(value, base, bits) if err != nil { return 0, fmt.Errorf("parsing mark value %q: %w", fields[2], err) } instruction.mark.value = uint(value) case "-i", "--in-interface": instruction.inputInterface = value case "-o", "--out-interface": instruction.outputInterface = value case "-s", "--source": instruction.source, err = parseIPPrefix(value) if err != nil { return 0, fmt.Errorf("parsing source IP CIDR: %w", err) } case "--sport": instruction.sourcePort, err = parsePort(value) if err != nil { return 0, fmt.Errorf("parsing source port: %w", err) } case "-d", "--destination": instruction.destination, err = parseIPPrefix(value) if err != nil { return 0, fmt.Errorf("parsing destination IP CIDR: %w", err) } case "--dport": instruction.destinationPort, err = parsePort(value) if err != nil { return 0, fmt.Errorf("parsing destination port: %w", err) } case "--ctstate": instruction.ctstate = strings.Split(value, ",") case "--to-ports": instruction.toPorts, err = parseToPorts(value) if err != nil { return 0, fmt.Errorf("parsing port redirection: %w", err) } case "--tcp-flags": mask, comparison := value, fields[2] instruction.tcpFlags, err = parseTCPFlags(mask + "/" + comparison) if err != nil { return 0, fmt.Errorf("parsing TCP flags: %w", err) } default: return 0, fmt.Errorf("%w: unknown key %q", ErrIptablesCommandMalformed, flag) } return consumed, nil } func preCheckInstructionFields(fields []string) (consumed int, err error) { flag := fields[0] // All flags use one value after the flag, except the following: switch flag { case "--tcp-flags": // -m can have 1 or 2 values const expected = 3 if len(fields) < expected { return 0, fmt.Errorf("%w: flag %q requires at least 2 values, but got %s", ErrIptablesCommandMalformed, flag, strings.Join(fields, " ")) } return expected, nil default: const expected = 2 if len(fields) < expected { return 0, fmt.Errorf("%w: flag %q requires a value, but got none", ErrIptablesCommandMalformed, flag) } return expected, nil } } func parseIPPrefix(value string) (prefix netip.Prefix, err error) { slashIndex := strings.Index(value, "/") if slashIndex >= 0 { return netip.ParsePrefix(value) } ip, err := netip.ParseAddr(value) if err != nil { return netip.Prefix{}, fmt.Errorf("parsing IP address: %w", err) } return netip.PrefixFrom(ip, ip.BitLen()), nil } func parsePort(value string) (port uint16, err error) { const base, bitLength = 10, 16 portValue, err := strconv.ParseUint(value, base, bitLength) if err != nil { return 0, err } return uint16(portValue), nil } func parseMatchModule(fields []string, instruction *iptablesInstruction) ( consumed int, err error, ) { _ = fields[consumed] // -m or --match flag already detected consumed++ switch fields[consumed] { case "tcp", "udp": consumed++ // for now ignore the protocol match since it's auto-loaded // when parsing the -p/--protocol flag, and we don't need to // parse it twice. case "mark": consumed++ switch fields[consumed] { case "!": consumed++ instruction.mark.invert = true default: return consumed, fmt.Errorf("%w: unsupported match mark with value: %s", ErrIptablesCommandMalformed, fields[2]) } default: return 0, fmt.Errorf("%w: unknown match value: %s", ErrIptablesCommandMalformed, fields[consumed]) } return consumed, nil } func parseToPorts(value string) (toPorts []uint16, err error) { portStrings := strings.Split(value, ",") toPorts = make([]uint16, len(portStrings)) for i, portString := range portStrings { toPorts[i], err = parsePort(portString) if err != nil { return nil, err } } return toPorts, nil } ================================================ FILE: internal/firewall/iptables/parse_test.go ================================================ package iptables import ( "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_parseIptablesInstruction(t *testing.T) { t.Parallel() testCases := map[string]struct { s string instruction iptablesInstruction errWrapped error errMessage string }{ "no_instruction": { errWrapped: ErrIptablesCommandMalformed, errMessage: "iptables command is malformed: empty instruction", }, "uneven_fields": { s: "-A", errWrapped: ErrIptablesCommandMalformed, errMessage: "parsing \"-A\": iptables command is malformed: flag \"-A\" requires a value, but got none", }, "unknown_key": { s: "-x something", errWrapped: ErrIptablesCommandMalformed, errMessage: "parsing \"-x something\": iptables command is malformed: unknown key \"-x\"", }, "one_pair": { s: "-A INPUT", instruction: iptablesInstruction{ table: "filter", chain: "INPUT", append: true, }, }, "instruction_A": { s: "-A INPUT -i tun0 -p tcp -m tcp -s 1.2.3.4/32 -d 5.6.7.8 --dport 10000 -j ACCEPT", instruction: iptablesInstruction{ table: "filter", chain: "INPUT", append: true, inputInterface: "tun0", protocol: "tcp", source: netip.MustParsePrefix("1.2.3.4/32"), destination: netip.MustParsePrefix("5.6.7.8/32"), destinationPort: 10000, target: "ACCEPT", }, }, "nat_redirection": { s: "-t nat --delete PREROUTING -i tun0 -p tcp --dport 43716 -j REDIRECT --to-ports 5678", instruction: iptablesInstruction{ table: "nat", chain: "PREROUTING", append: false, inputInterface: "tun0", protocol: "tcp", destinationPort: 43716, target: "REDIRECT", toPorts: []uint16{5678}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() rule, err := parseIptablesInstruction(testCase.s) assert.Equal(t, testCase.instruction, rule) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } func Test_parseIPPrefix(t *testing.T) { t.Parallel() testCases := map[string]struct { value string prefix netip.Prefix errMessage string }{ "empty": { errMessage: `parsing IP address: ParseAddr(""): unable to parse IP`, }, "invalid": { value: "invalid", errMessage: `parsing IP address: ParseAddr("invalid"): unable to parse IP`, }, "valid_ipv4_with_bits": { value: "10.0.0.0/16", prefix: netip.PrefixFrom(netip.AddrFrom4([4]byte{10, 0, 0, 0}), 16), }, "valid_ipv4_without_bits": { value: "10.0.0.4", prefix: netip.PrefixFrom(netip.AddrFrom4([4]byte{10, 0, 0, 4}), 32), }, "valid_ipv6_with_bits": { value: "2001:db8::/32", prefix: netip.PrefixFrom( netip.AddrFrom16([16]byte{0x20, 0x01, 0x0d, 0xb8}), 32), }, "valid_ipv6_without_bits": { value: "2001:db8::", prefix: netip.PrefixFrom( netip.AddrFrom16([16]byte{0x20, 0x01, 0x0d, 0xb8}), 128), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() prefix, err := parseIPPrefix(testCase.value) assert.Equal(t, testCase.prefix, prefix) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/firewall/iptables/support.go ================================================ package iptables import ( "context" "errors" "fmt" "math/rand" "os/exec" "sort" "strings" ) var ( ErrNetAdminMissing = errors.New("NET_ADMIN capability is missing") ErrTestRuleCleanup = errors.New("failed cleaning up test rule") ErrInputPolicyNotFound = errors.New("input policy not found") ErrNotSupported = errors.New("no iptables supported found") ) func checkIptablesSupport(ctx context.Context, runner CmdRunner, iptablesPathsToTry ...string, ) (iptablesPath string, err error) { iptablesPathToUnsupportedMessage := make(map[string]string, len(iptablesPathsToTry)) for _, pathToTest := range iptablesPathsToTry { ok, unsupportedMessage, err := testIptablesPath(ctx, pathToTest, runner) if err != nil { return "", fmt.Errorf("for %s: %w", pathToTest, err) } else if ok { iptablesPath = pathToTest break } iptablesPathToUnsupportedMessage[pathToTest] = unsupportedMessage } if iptablesPath != "" { // some paths may be unsupported but that does not matter // since we found one working. return iptablesPath, nil } allArePermissionDenied := true allUnsupportedMessages := make(sort.StringSlice, 0, len(iptablesPathToUnsupportedMessage)) for iptablesPath, unsupportedMessage := range iptablesPathToUnsupportedMessage { if !isPermissionDenied(unsupportedMessage) { allArePermissionDenied = false } unsupportedMessage = iptablesPath + ": " + unsupportedMessage allUnsupportedMessages = append(allUnsupportedMessages, unsupportedMessage) } allUnsupportedMessages.Sort() // predictable order for tests if allArePermissionDenied { // If the error is related to a denied permission for all iptables path, // return an error describing what to do from an end-user perspective. return "", fmt.Errorf("%w: %s", ErrNetAdminMissing, strings.Join(allUnsupportedMessages, "; ")) } return "", fmt.Errorf("%w: errors encountered are: %s", ErrNotSupported, strings.Join(allUnsupportedMessages, "; ")) } func testIptablesPath(ctx context.Context, path string, runner CmdRunner) (ok bool, unsupportedMessage string, criticalErr error, ) { // Just listing iptables rules often work but we need // to modify them to ensure we can support the iptables // being tested. // Append a test rule with a random interface name to the OUTPUT table. // This should not affect existing rules or the network traffic. testInterfaceName := randomInterfaceName() cmd := exec.CommandContext(ctx, path, "-A", "OUTPUT", "-o", testInterfaceName, "-j", "DROP") output, err := runner.Run(cmd) if err != nil { unsupportedMessage = fmt.Sprintf("%s (%s)", output, err) return false, unsupportedMessage, nil } // Remove the random rule added previously for test. cmd = exec.CommandContext(ctx, path, "-D", "OUTPUT", "-o", testInterfaceName, "-j", "DROP") output, err = runner.Run(cmd) if err != nil { // this is a critical error, we want to make sure our test rule gets removed. criticalErr = fmt.Errorf("%w: %s (%s)", ErrTestRuleCleanup, output, err) return false, "", criticalErr } // Set policy as the existing policy so no mutation is done. // This is an extra check for some buggy kernels where setting the policy // does not work. cmd = exec.CommandContext(ctx, path, "-nL", "INPUT") output, err = runner.Run(cmd) if err != nil { unsupportedMessage = fmt.Sprintf("%s (%s)", output, err) return false, unsupportedMessage, nil } var inputPolicy string for _, line := range strings.Split(output, "\n") { inputPolicy, ok = extractInputPolicy(line) if ok { break } } if inputPolicy == "" { criticalErr = fmt.Errorf("%w: in INPUT rules: %s", ErrInputPolicyNotFound, output) return false, "", criticalErr } // Set the policy for the INPUT table to the existing policy found. cmd = exec.CommandContext(ctx, path, "--policy", "INPUT", inputPolicy) output, err = runner.Run(cmd) if err != nil { unsupportedMessage = fmt.Sprintf("%s (%s)", output, err) return false, unsupportedMessage, nil } return true, "", nil // success } func isPermissionDenied(errMessage string) (ok bool) { const permissionDeniedString = "Permission denied (you must be root)" return strings.Contains(errMessage, permissionDeniedString) } func extractInputPolicy(line string) (policy string, ok bool) { const prefixToFind = "Chain INPUT (policy " i := strings.Index(line, prefixToFind) if i == -1 { return "", false } startIndex := i + len(prefixToFind) endIndex := strings.Index(line, ")") if endIndex < 0 { return "", false } policy = line[startIndex:endIndex] policy = strings.TrimSpace(policy) if policy == "" { return "", false } return policy, true } func randomInterfaceName() (interfaceName string) { const size = 15 letterRunes := []rune("abcdefghijklmnopqrstuvwxyz0123456789") b := make([]rune, size) for i := range b { letterIndex := rand.Intn(len(letterRunes)) //nolint:gosec b[i] = letterRunes[letterIndex] } return string(b) } ================================================ FILE: internal/firewall/iptables/support_test.go ================================================ package iptables import ( "context" "errors" "testing" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func newAppendTestRuleMatcher(path string) *cmdMatcher { return newCmdMatcher(path, "^-A$", "^OUTPUT$", "^-o$", "^[a-z0-9]{15}$", "^-j$", "^DROP$") } func newDeleteTestRuleMatcher(path string) *cmdMatcher { return newCmdMatcher(path, "^-D$", "^OUTPUT$", "^-o$", "^[a-z0-9]{15}$", "^-j$", "^DROP$") } func newListInputRulesMatcher(path string) *cmdMatcher { return newCmdMatcher(path, "^-nL$", "^INPUT$") } func newSetPolicyMatcher(path, inputPolicy string) *cmdMatcher { //nolint:unparam return newCmdMatcher(path, "^--policy$", "^INPUT$", "^"+inputPolicy+"$") } func Test_checkIptablesSupport(t *testing.T) { t.Parallel() ctx := context.Background() errDummy := errors.New("exit code 4") const inputPolicy = "ACCEPT" testCases := map[string]struct { buildRunner func(ctrl *gomock.Controller) CmdRunner iptablesPathsToTry []string iptablesPath string errSentinel error errMessage string }{ "critical error when checking": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher("path1")). Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher("path1")). Return("output", errDummy) return runner }, iptablesPathsToTry: []string{"path1", "path2"}, errSentinel: ErrTestRuleCleanup, errMessage: "for path1: failed cleaning up test rule: " + "output (exit code 4)", }, "found valid path": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher("path1")). Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher("path1")). Return("", nil) runner.EXPECT().Run(newListInputRulesMatcher("path1")). Return("Chain INPUT (policy "+inputPolicy+")", nil) runner.EXPECT().Run(newSetPolicyMatcher("path1", inputPolicy)). Return("", nil) return runner }, iptablesPathsToTry: []string{"path1", "path2"}, iptablesPath: "path1", }, "all permission denied": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher("path1")). Return("Permission denied (you must be root) more context", errDummy) runner.EXPECT().Run(newAppendTestRuleMatcher("path2")). Return("context: Permission denied (you must be root)", errDummy) return runner }, iptablesPathsToTry: []string{"path1", "path2"}, errSentinel: ErrNetAdminMissing, errMessage: "NET_ADMIN capability is missing: " + "path1: Permission denied (you must be root) more context (exit code 4); " + "path2: context: Permission denied (you must be root) (exit code 4)", }, "no valid path": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher("path1")). Return("output 1", errDummy) runner.EXPECT().Run(newAppendTestRuleMatcher("path2")). Return("output 2", errDummy) return runner }, iptablesPathsToTry: []string{"path1", "path2"}, errSentinel: ErrNotSupported, errMessage: "no iptables supported found: " + "errors encountered are: " + "path1: output 1 (exit code 4); " + "path2: output 2 (exit code 4)", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) runner := testCase.buildRunner(ctrl) iptablesPath, err := checkIptablesSupport(ctx, runner, testCase.iptablesPathsToTry...) require.ErrorIs(t, err, testCase.errSentinel) if testCase.errSentinel != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.iptablesPath, iptablesPath) }) } } func Test_testIptablesPath(t *testing.T) { t.Parallel() ctx := context.Background() const path = "dummypath" errDummy := errors.New("exit code 4") const inputPolicy = "ACCEPT" testCases := map[string]struct { buildRunner func(ctrl *gomock.Controller) CmdRunner ok bool unsupportedMessage string criticalErrWrapped error criticalErrMessage string }{ "append test rule permission denied": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)). Return("Permission denied (you must be root)", errDummy) return runner }, unsupportedMessage: "Permission denied (you must be root) (exit code 4)", }, "append test rule unsupported": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)). Return("some output", errDummy) return runner }, unsupportedMessage: "some output (exit code 4)", }, "remove test rule error": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher(path)). Return("some output", errDummy) return runner }, criticalErrWrapped: ErrTestRuleCleanup, criticalErrMessage: "failed cleaning up test rule: some output (exit code 4)", }, "list input rules permission denied": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newListInputRulesMatcher(path)). Return("Permission denied (you must be root)", errDummy) return runner }, unsupportedMessage: "Permission denied (you must be root) (exit code 4)", }, "list input rules unsupported": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newListInputRulesMatcher(path)). Return("some output", errDummy) return runner }, unsupportedMessage: "some output (exit code 4)", }, "list input rules no policy": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newListInputRulesMatcher(path)). Return("some\noutput", nil) return runner }, criticalErrWrapped: ErrInputPolicyNotFound, criticalErrMessage: "input policy not found: in INPUT rules: some\noutput", }, "set policy permission denied": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newListInputRulesMatcher(path)). Return("\nChain INPUT (policy "+inputPolicy+")\nAA\n", nil) runner.EXPECT().Run(newSetPolicyMatcher(path, inputPolicy)). Return("Permission denied (you must be root)", errDummy) return runner }, unsupportedMessage: "Permission denied (you must be root) (exit code 4)", }, "set policy unsupported": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newListInputRulesMatcher(path)). Return("\nChain INPUT (policy "+inputPolicy+")\nBB\n", nil) runner.EXPECT().Run(newSetPolicyMatcher(path, inputPolicy)). Return("some output", errDummy) return runner }, unsupportedMessage: "some output (exit code 4)", }, "success": { buildRunner: func(ctrl *gomock.Controller) CmdRunner { runner := NewMockCmdRunner(ctrl) runner.EXPECT().Run(newAppendTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newDeleteTestRuleMatcher(path)).Return("", nil) runner.EXPECT().Run(newListInputRulesMatcher(path)). Return("\nChain INPUT (policy "+inputPolicy+")\nCC\n", nil) runner.EXPECT().Run(newSetPolicyMatcher(path, inputPolicy)). Return("some output", nil) return runner }, ok: true, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) runner := testCase.buildRunner(ctrl) ok, unsupportedMessage, criticalErr := testIptablesPath(ctx, path, runner) assert.Equal(t, testCase.ok, ok) assert.Equal(t, testCase.unsupportedMessage, unsupportedMessage) assert.ErrorIs(t, criticalErr, testCase.criticalErrWrapped) if testCase.criticalErrWrapped != nil { assert.EqualError(t, criticalErr, testCase.criticalErrMessage) } }) } } func Test_isPermissionDenied(t *testing.T) { t.Parallel() testCases := map[string]struct { errMessage string ok bool }{ "empty error": {}, "other error": { errMessage: "some error", }, "permission denied": { errMessage: "Permission denied (you must be root) have you tried blabla", ok: true, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ok := isPermissionDenied(testCase.errMessage) assert.Equal(t, testCase.ok, ok) }) } } func Test_extractInputPolicy(t *testing.T) { t.Parallel() testCases := map[string]struct { line string policy string ok bool }{ "empty line": {}, "random line": { line: "random line", }, "only first part": { line: "Chain INPUT (policy ", }, "empty policy": { line: "Chain INPUT (policy )", }, "ACCEPT policy": { line: "Chain INPUT (policy ACCEPT)", policy: "ACCEPT", ok: true, }, "ACCEPT policy with surrounding garbage": { line: "garbage Chain INPUT (policy ACCEPT\t) )g()arbage", policy: "ACCEPT", ok: true, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() policy, ok := extractInputPolicy(testCase.line) assert.Equal(t, testCase.policy, policy) assert.Equal(t, testCase.ok, ok) }) } } func Test_randomInterfaceName(t *testing.T) { t.Parallel() const expectedRegex = `^[a-z0-9]{15}$` interfaceName := randomInterfaceName() assert.Regexp(t, expectedRegex, interfaceName) } ================================================ FILE: internal/firewall/iptables/tcp.go ================================================ package iptables import ( "context" "errors" "fmt" "net/netip" "os" ) type tcpFlags struct { mask []tcpFlag comparison []tcpFlag } type tcpFlag uint8 const ( tcpFlagFIN tcpFlag = 1 << iota tcpFlagSYN tcpFlagRST tcpFlagPSH tcpFlagACK tcpFlagURG tcpFlagECE tcpFlagCWR ) func (f tcpFlag) String() string { switch f { case tcpFlagFIN: return "FIN" case tcpFlagSYN: return "SYN" case tcpFlagRST: return "RST" case tcpFlagPSH: return "PSH" case tcpFlagACK: return "ACK" case tcpFlagURG: return "URG" case tcpFlagECE: return "ECE" case tcpFlagCWR: return "CWR" default: panic(fmt.Sprintf("%s: %d", errTCPFlagUnknown, f)) } } var errTCPFlagUnknown = errors.New("unknown TCP flag") func parseTCPFlag(s string) (tcpFlag, error) { allFlags := []tcpFlag{ tcpFlagFIN, tcpFlagSYN, tcpFlagRST, tcpFlagPSH, tcpFlagACK, tcpFlagURG, tcpFlagECE, tcpFlagCWR, } for _, flag := range allFlags { if s == fmt.Sprintf("%#02x", uint8(flag)) || s == flag.String() { return flag, nil } } return 0, fmt.Errorf("%w: %s", errTCPFlagUnknown, s) } var ErrMarkMatchModuleMissing = errors.New("kernel is missing the mark module libxt_mark.so") // TempDropOutputTCPRST temporarily drops outgoing TCP RST packets to the specified address and port, // for any TCP packets not marked with the excludeMark given. // This is necessary for TCP path MTU discovery to work, as the kernel will try to terminate the connection // by sending a TCP RST packet, although we want to handle the connection manually. func (c *Config) TempDropOutputTCPRST(ctx context.Context, src, dst netip.AddrPort, excludeMark int) ( revert func(ctx context.Context) error, err error, ) { _, err = os.Stat("/usr/lib/xtables/libxt_mark.so") if err != nil && errors.Is(err, os.ErrNotExist) { return nil, fmt.Errorf("%w", ErrMarkMatchModuleMissing) } const template = "%s OUTPUT -p tcp -s %s --sport %d -d %s --dport %d " + "--tcp-flags RST RST -m mark ! --mark %d -j DROP" //nolint:dupword instruction := fmt.Sprintf(template, "--append", src.Addr(), src.Port(), dst.Addr(), dst.Port(), excludeMark) revertInstruction := fmt.Sprintf(template, "--delete", src.Addr(), src.Port(), dst.Addr(), dst.Port(), excludeMark) run := c.runIptablesInstruction if dst.Addr().Is6() { run = c.runIP6tablesInstruction } revert = func(ctx context.Context) error { return run(ctx, revertInstruction) } err = run(ctx, instruction) if err != nil { return nil, fmt.Errorf("running instruction: %w", err) } return revert, nil } ================================================ FILE: internal/firewall/logger.go ================================================ package firewall import ( "fmt" "net/netip" ) func (c *Config) logIgnoredSubnetFamily(subnet netip.Prefix) { c.logger.Info(fmt.Sprintf("ignoring subnet %s which has "+ "no default route matching its family", subnet)) } ================================================ FILE: internal/firewall/outboundsubnets.go ================================================ package firewall import ( "context" "fmt" "net/netip" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/subnet" ) func (c *Config) SetOutboundSubnets(ctx context.Context, subnets []netip.Prefix) (err error) { c.stateMutex.Lock() defer c.stateMutex.Unlock() if !c.enabled { c.logger.Info("firewall disabled, only updating allowed subnets internal list") c.outboundSubnets = make([]netip.Prefix, len(subnets)) copy(c.outboundSubnets, subnets) return nil } c.logger.Info("setting allowed subnets...") subnetsToAdd, subnetsToRemove := subnet.FindSubnetsToChange(c.outboundSubnets, subnets) if len(subnetsToAdd) == 0 && len(subnetsToRemove) == 0 { return nil } c.removeOutboundSubnets(ctx, subnetsToRemove) if err := c.addOutboundSubnets(ctx, subnetsToAdd); err != nil { return fmt.Errorf("setting allowed outbound subnets: %w", err) } return nil } func (c *Config) removeOutboundSubnets(ctx context.Context, subnets []netip.Prefix) { const remove = true for _, subNet := range subnets { subnetIsIPv6 := subNet.Addr().Is6() firewallUpdated := false for _, defaultRoute := range c.defaultRoutes { defaultRouteIsIPv6 := defaultRoute.Family == netlink.FamilyV6 ipFamilyMatch := subnetIsIPv6 == defaultRouteIsIPv6 if !ipFamilyMatch { continue } firewallUpdated = true err := c.impl.AcceptOutputFromIPToSubnet(ctx, defaultRoute.NetInterface, defaultRoute.AssignedIP, subNet, remove) if err != nil { c.logger.Error("cannot remove outdated outbound subnet: " + err.Error()) continue } } if !firewallUpdated { c.logIgnoredSubnetFamily(subNet) continue } c.outboundSubnets = subnet.RemoveSubnetFromSubnets(c.outboundSubnets, subNet) } } func (c *Config) addOutboundSubnets(ctx context.Context, subnets []netip.Prefix) error { const remove = false for _, subnet := range subnets { subnetIsIPv6 := subnet.Addr().Is6() firewallUpdated := false for _, defaultRoute := range c.defaultRoutes { defaultRouteIsIPv6 := defaultRoute.Family == netlink.FamilyV6 ipFamilyMatch := subnetIsIPv6 == defaultRouteIsIPv6 if !ipFamilyMatch { continue } firewallUpdated = true err := c.impl.AcceptOutputFromIPToSubnet(ctx, defaultRoute.NetInterface, defaultRoute.AssignedIP, subnet, remove) if err != nil { return err } } if !firewallUpdated { c.logIgnoredSubnetFamily(subnet) continue } c.outboundSubnets = append(c.outboundSubnets, subnet) } return nil } ================================================ FILE: internal/firewall/ports.go ================================================ package firewall import ( "context" "fmt" "strconv" ) func (c *Config) SetAllowedPort(ctx context.Context, port uint16, intf string) (err error) { c.stateMutex.Lock() defer c.stateMutex.Unlock() if port == 0 { return nil } if !c.enabled { c.logger.Info("firewall disabled, only updating allowed ports internal state") existingInterfaces, ok := c.allowedInputPorts[port] if !ok { existingInterfaces = make(map[string]struct{}) } existingInterfaces[intf] = struct{}{} c.allowedInputPorts[port] = existingInterfaces return nil } netInterfaces, has := c.allowedInputPorts[port] if !has { netInterfaces = make(map[string]struct{}) } else if _, exists := netInterfaces[intf]; exists { return nil } c.logger.Info("setting allowed input port " + fmt.Sprint(port) + " through interface " + intf + "...") const remove = false if err := c.impl.AcceptInputToPort(ctx, intf, port, remove); err != nil { return fmt.Errorf("allowing input to port %d through interface %s: %w", port, intf, err) } netInterfaces[intf] = struct{}{} c.allowedInputPorts[port] = netInterfaces return nil } func (c *Config) RemoveAllowedPort(ctx context.Context, port uint16) (err error) { c.stateMutex.Lock() defer c.stateMutex.Unlock() if port == 0 { return nil } if !c.enabled { c.logger.Info("firewall disabled, only updating allowed ports internal list") delete(c.allowedInputPorts, port) return nil } c.logger.Info("removing allowed port " + strconv.Itoa(int(port)) + "...") interfacesSet, ok := c.allowedInputPorts[port] if !ok { return nil } const remove = true for netInterface := range interfacesSet { err := c.impl.AcceptInputToPort(ctx, netInterface, port, remove) if err != nil { return fmt.Errorf("removing allowed port %d on interface %s: %w", port, netInterface, err) } delete(interfacesSet, netInterface) } // All interfaces were removed successfully, so remove the port entry. delete(c.allowedInputPorts, port) return nil } ================================================ FILE: internal/firewall/redirect.go ================================================ package firewall import ( "context" "fmt" ) // RedirectPort redirects a source port to a destination port on the interface // intf. If intf is empty, it is set to "*" which means all interfaces. // If a redirection for the source port given already exists, it is removed first. // If the destination port is zero, the redirection for the source port is removed // and no new redirection is added. func (c *Config) RedirectPort(ctx context.Context, intf string, sourcePort, destinationPort uint16, ) (err error) { c.stateMutex.Lock() defer c.stateMutex.Unlock() if sourcePort == 0 { panic("source port cannot be 0") } newRedirection := portRedirection{ interfaceName: intf, sourcePort: sourcePort, destinationPort: destinationPort, } if !c.enabled { c.logger.Info("firewall disabled, only updating redirected ports internal state") if destinationPort == 0 { c.portRedirections.remove(intf, sourcePort) return nil } exists, conflict := c.portRedirections.check(newRedirection) switch { case exists: return nil case conflict != nil: c.portRedirections.remove(conflict.interfaceName, conflict.sourcePort) } c.portRedirections.append(newRedirection) return nil } exists, conflict := c.portRedirections.check(newRedirection) switch { case exists: return nil case conflict != nil: const remove = true err = c.impl.RedirectPort(ctx, conflict.interfaceName, conflict.sourcePort, conflict.destinationPort, remove) if err != nil { return fmt.Errorf("removing conflicting redirection: %w", err) } c.portRedirections.remove(conflict.interfaceName, conflict.sourcePort) } const remove = false err = c.impl.RedirectPort(ctx, intf, sourcePort, destinationPort, remove) if err != nil { return fmt.Errorf("redirecting port: %w", err) } c.portRedirections.append(newRedirection) return nil } type portRedirection struct { interfaceName string sourcePort uint16 destinationPort uint16 } type portRedirections []portRedirection func (p *portRedirections) remove(intf string, sourcePort uint16) { slice := *p for i, redirection := range slice { interfaceMatch := intf == "" || intf == redirection.interfaceName if redirection.sourcePort == sourcePort && interfaceMatch { // Remove redirection - note: order does not matter slice[i] = slice[len(slice)-1] slice = slice[:len(slice)-1] } } *p = slice } func (p *portRedirections) check(dryRun portRedirection) (alreadyExists bool, conflict *portRedirection, ) { slice := *p for _, redirection := range slice { interfaceMatch := redirection.interfaceName == "" || redirection.interfaceName == dryRun.interfaceName if redirection.sourcePort == dryRun.sourcePort && redirection.destinationPort == dryRun.destinationPort && interfaceMatch { return true, nil } if redirection.sourcePort == dryRun.sourcePort && interfaceMatch { // Source port has a redirection already for the same interface or all interfaces return false, &redirection } } return false, nil } // append should be called after running `check` to avoid rule conflicts. func (p *portRedirections) append(newRedirection portRedirection) { slice := *p slice = append(slice, newRedirection) *p = slice } ================================================ FILE: internal/firewall/vpn.go ================================================ package firewall import ( "context" "fmt" "github.com/qdm12/gluetun/internal/models" ) func (c *Config) SetVPNConnection(ctx context.Context, connection models.Connection, vpnIntf string, ) (err error) { c.stateMutex.Lock() defer c.stateMutex.Unlock() if !c.enabled { c.logger.Info("firewall disabled, only updating internal VPN connection") c.vpnConnection = connection return nil } c.logger.Info("allowing VPN connection...") if c.vpnConnection.Equal(connection) { return nil } remove := true if c.vpnConnection.IP.IsValid() { for _, defaultRoute := range c.defaultRoutes { if err := c.impl.AcceptOutputTrafficToVPN(ctx, defaultRoute.NetInterface, c.vpnConnection, remove); err != nil { c.logger.Error("cannot remove outdated VPN connection rule: " + err.Error()) } } } c.vpnConnection = models.Connection{} if c.vpnIntf != "" { if err = c.impl.AcceptOutputThroughInterface(ctx, c.vpnIntf, remove); err != nil { c.logger.Error("cannot remove outdated VPN interface rule: " + err.Error()) } } c.vpnIntf = "" remove = false for _, defaultRoute := range c.defaultRoutes { if err := c.impl.AcceptOutputTrafficToVPN(ctx, defaultRoute.NetInterface, connection, remove); err != nil { return fmt.Errorf("allowing output traffic through VPN connection: %w", err) } } c.vpnConnection = connection if err = c.impl.AcceptOutputThroughInterface(ctx, vpnIntf, remove); err != nil { return fmt.Errorf("accepting output traffic through interface %s: %w", vpnIntf, err) } c.vpnIntf = vpnIntf return nil } ================================================ FILE: internal/firewall/wrappers.go ================================================ package firewall import ( "context" "net/netip" ) func (c *Config) Version(ctx context.Context) (version string, err error) { return c.impl.Version(ctx) } // TempDropOutputTCPRST temporarily drops outgoing TCP RST packets to the specified address and port, // for any TCP packets not marked with the excludeMark given. // This is necessary for TCP path MTU discovery to work, as the kernel will try to terminate the connection // by sending a TCP RST packet, although we want to handle the connection manually. func (c *Config) TempDropOutputTCPRST(ctx context.Context, src, dst netip.AddrPort, excludeMark int) ( revert func(ctx context.Context) error, err error, ) { return c.impl.TempDropOutputTCPRST(ctx, src, dst, excludeMark) } ================================================ FILE: internal/format/duration.go ================================================ package format import ( "fmt" "time" ) // FriendlyDuration formats a duration in an approximate, human friendly duration. // For example 55 hours will result in "2 days". func FriendlyDuration(duration time.Duration) string { const twoDays = 48 * time.Hour switch { case duration < time.Minute: seconds := int(duration.Round(time.Second).Seconds()) const two = 2 if seconds < two { return fmt.Sprintf("%d second", seconds) } return fmt.Sprintf("%d seconds", seconds) case duration <= time.Hour: minutes := int(duration.Round(time.Minute).Minutes()) if minutes == 1 { return "1 minute" } return fmt.Sprintf("%d minutes", minutes) case duration < twoDays: hours := int(duration.Truncate(time.Hour).Hours()) return fmt.Sprintf("%d hours", hours) default: const hoursInDay = 24 days := int(duration.Truncate(time.Hour).Hours() / hoursInDay) return fmt.Sprintf("%d days", days) } } ================================================ FILE: internal/format/duration_test.go ================================================ package format import ( "testing" "time" "github.com/stretchr/testify/assert" ) func Test_FriendlyDuration(t *testing.T) { t.Parallel() testCases := map[string]struct { duration time.Duration friendly string }{ "zero": { friendly: "0 second", }, "one_second": { duration: time.Second, friendly: "1 second", }, "59_seconds": { duration: 59 * time.Second, friendly: "59 seconds", }, "1_minute": { duration: time.Minute, friendly: "1 minute", }, "2_minutes": { duration: 2 * time.Minute, friendly: "2 minutes", }, "1_hour": { duration: time.Hour, friendly: "60 minutes", }, "2_hours": { duration: 2 * time.Hour, friendly: "2 hours", }, "26_hours": { duration: 26 * time.Hour, friendly: "26 hours", }, "28_hours": { duration: 28 * time.Hour, friendly: "28 hours", }, "55_hours": { duration: 55 * time.Hour, friendly: "2 days", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() s := FriendlyDuration(testCase.duration) assert.Equal(t, testCase.friendly, s) }) } } ================================================ FILE: internal/healthcheck/checker.go ================================================ package healthcheck import ( "context" "crypto/tls" "errors" "fmt" "net" "net/netip" "strings" "sync" "time" "github.com/qdm12/gluetun/internal/healthcheck/dns" "github.com/qdm12/gluetun/internal/healthcheck/icmp" ) type Checker struct { tlsDialAddrs []string dialer *net.Dialer echoer *icmp.Echoer dnsClient *dns.Client logger Logger icmpTargetIPs []netip.Addr smallCheckType string startupOnFail bool configMutex sync.Mutex icmpNotPermitted *bool // Internal periodic service signals stop context.CancelFunc done <-chan struct{} } func NewChecker(logger Logger) *Checker { return &Checker{ dialer: &net.Dialer{ Resolver: &net.Resolver{ PreferGo: true, }, }, echoer: icmp.NewEchoer(logger), dnsClient: dns.New(), logger: logger, } } // SetConfig sets the following: // - TCP+TLS dial addresses // - ICMP echo IP addresses to target // - the desired small check type (dns or icmp) // - whether to startup the periodic checks if the startup check fails. // This function MUST be called before calling [Checker.Start]. func (c *Checker) SetConfig(tlsDialAddrs []string, icmpTargets []netip.Addr, smallCheckType string, startupOnFail bool, ) { c.configMutex.Lock() defer c.configMutex.Unlock() c.tlsDialAddrs = tlsDialAddrs c.icmpTargetIPs = icmpTargets c.smallCheckType = smallCheckType c.startupOnFail = startupOnFail } // Start starts the [Checker] which behaves differently according to its // internal field startupOnFail, which is set by calling [Checker.SetConfig]. // // By default, startupOnFail should be false and the behavior is as follows: // A blocking 6s-timed TCP+TLS check is performed first. If it fails, // an error is returned and the [Checker] is not started. // On success, it starts the periodic checks in a separate goroutine, returning // the runError error channel and a nil error. // // If startupOnFail is true, the behavior is as follows: // A blocking 6s-timed TCP+TLS check is performed first. If it fails, // the error is sent to the runError channel, but no error is returned // and the [Checker] continues to start the periodic checks in a separate goroutine, returning // the runError error channel and a nil error. // // The periodic checks consist in: // - a "small" ICMP echo check every minute // - a "full" TCP+TLS check every 5 minutes // // The [Checker] has to be ultimately stopped by calling [Checker.Stop]. func (c *Checker) Start(ctx context.Context) (runError <-chan error, err error) { if len(c.tlsDialAddrs) == 0 || len(c.icmpTargetIPs) == 0 || c.smallCheckType == "" { panic("call Checker.SetConfig with non empty values before Checker.Start") } if c.icmpNotPermitted != nil && *c.icmpNotPermitted { // restore forced check type to dns if icmp was found to be not permitted c.smallCheckType = smallCheckDNS } c.echoer.Reset() // runErrorCh MUST be buffered in the case startupOnFail is true, and // a startup error was encountered, to avoid blocking the startup // goroutine when sending the error, especially since the caller may // not be ready to receive from the channel yet. runErrorCh := make(chan error, 1) runError = runErrorCh err = c.startupCheck(ctx) if err != nil { err = fmt.Errorf("startup check: %w", err) if !c.startupOnFail { return nil, err } runErrorCh <- err } ready := make(chan struct{}) ctx, cancel := context.WithCancel(context.Background()) c.stop = cancel done := make(chan struct{}) c.done = done const smallCheckPeriod = time.Minute smallCheckTimer := time.NewTimer(smallCheckPeriod) const fullCheckPeriod = 5 * time.Minute fullCheckTimer := time.NewTimer(fullCheckPeriod) go func() { defer close(done) close(ready) for { select { case <-ctx.Done(): fullCheckTimer.Stop() smallCheckTimer.Stop() return case <-smallCheckTimer.C: err := c.smallPeriodicCheck(ctx) if err != nil { err = fmt.Errorf("small periodic check: %w", err) } select { case <-ctx.Done(): continue case runErrorCh <- err: } smallCheckTimer.Reset(smallCheckPeriod) case <-fullCheckTimer.C: err := c.fullPeriodicCheck(ctx) if err != nil { err = fmt.Errorf("full periodic check: %w", err) } select { case <-ctx.Done(): continue case runErrorCh <- err: } fullCheckTimer.Reset(fullCheckPeriod) } } }() <-ready return runError, nil } func (c *Checker) Stop() error { c.stop() <-c.done c.tlsDialAddrs = nil c.icmpTargetIPs = nil c.smallCheckType = "" return nil } func (c *Checker) smallPeriodicCheck(ctx context.Context) error { c.configMutex.Lock() icmpTargetIPs := make([]netip.Addr, len(c.icmpTargetIPs)) copy(icmpTargetIPs, c.icmpTargetIPs) c.configMutex.Unlock() tryTimeouts := []time.Duration{ 5 * time.Second, 5 * time.Second, 5 * time.Second, 10 * time.Second, 10 * time.Second, 10 * time.Second, 15 * time.Second, 15 * time.Second, 15 * time.Second, 30 * time.Second, } check := func(ctx context.Context, try int) error { if c.smallCheckType == smallCheckDNS { return c.dnsClient.Check(ctx) } ip := icmpTargetIPs[try%len(icmpTargetIPs)] err := c.echoer.Echo(ctx, ip) if c.icmpNotPermitted == nil && errors.Is(err, icmp.ErrNotPermitted) { c.icmpNotPermitted = new(bool) *c.icmpNotPermitted = true c.smallCheckType = smallCheckDNS c.logger.Infof("%s; permanently falling back to %s checks", err, smallCheckTypeToString(c.smallCheckType)) return c.dnsClient.Check(ctx) } return err } return withRetries(ctx, tryTimeouts, c.logger, smallCheckTypeToString(c.smallCheckType), check) } func (c *Checker) fullPeriodicCheck(ctx context.Context) error { // 20s timeout in case the connection is under stress // See https://github.com/qdm12/gluetun/issues/2270 tryTimeouts := []time.Duration{10 * time.Second, 15 * time.Second, 30 * time.Second} check := func(ctx context.Context, try int) error { tlsDialAddr := c.tlsDialAddrs[try%len(c.tlsDialAddrs)] return tcpTLSCheck(ctx, c.dialer, tlsDialAddr) } return withRetries(ctx, tryTimeouts, c.logger, "TCP+TLS dial", check) } func tcpTLSCheck(ctx context.Context, dialer *net.Dialer, targetAddress string) error { // TODO use mullvad API if current provider is Mullvad address, err := makeAddressToDial(targetAddress) if err != nil { return err } const dialNetwork = "tcp4" connection, err := dialer.DialContext(ctx, dialNetwork, address) if err != nil { return fmt.Errorf("dialing: %w", err) } if strings.HasSuffix(address, ":443") { host, _, err := net.SplitHostPort(address) if err != nil { return fmt.Errorf("splitting host and port: %w", err) } tlsConfig := &tls.Config{ MinVersion: tls.VersionTLS12, ServerName: host, } tlsConnection := tls.Client(connection, tlsConfig) err = tlsConnection.HandshakeContext(ctx) if err != nil { return fmt.Errorf("running TLS handshake: %w", err) } } err = connection.Close() if err != nil { return fmt.Errorf("closing connection: %w", err) } return nil } func makeAddressToDial(address string) (addressToDial string, err error) { host, port, err := net.SplitHostPort(address) if err != nil { addrErr := new(net.AddrError) ok := errors.As(err, &addrErr) if !ok || addrErr.Err != "missing port in address" { return "", fmt.Errorf("splitting host and port from address: %w", err) } host = address const defaultPort = "443" port = defaultPort } address = net.JoinHostPort(host, port) return address, nil } var ErrAllCheckTriesFailed = errors.New("all check tries failed") func withRetries(ctx context.Context, tryTimeouts []time.Duration, logger Logger, checkName string, check func(ctx context.Context, try int) error, ) error { maxTries := len(tryTimeouts) type errData struct { err error durationMS int64 } errs := make([]errData, maxTries) for i, timeout := range tryTimeouts { start := time.Now() checkCtx, cancel := context.WithTimeout(ctx, timeout) err := check(checkCtx, i) cancel() switch { case err == nil: return nil case ctx.Err() != nil: return fmt.Errorf("%s: %w", checkName, ctx.Err()) } logger.Debugf("%s attempt %d/%d failed: %s", checkName, i+1, maxTries, err) errs[i].err = err errs[i].durationMS = time.Since(start).Round(time.Millisecond).Milliseconds() } errStrings := make([]string, len(errs)) for i, err := range errs { errStrings[i] = fmt.Sprintf("attempt %d (%dms): %s", i+1, err.durationMS, err.err) } return fmt.Errorf("%w:\n\t%s", ErrAllCheckTriesFailed, strings.Join(errStrings, "\n\t")) } func (c *Checker) startupCheck(ctx context.Context) error { // connection isn't under load yet when the checker starts, so a short // 6 seconds timeout suffices and provides quick enough feedback that // the new connection is not working. However, since the addresses to dial // may be multiple, we run the check in parallel. If any succeeds, the check passes. // This is to prevent false negatives at startup, if one of the addresses is down // for external reasons. const timeout = 6 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() errCh := make(chan error) for _, address := range c.tlsDialAddrs { go func(addr string) { err := tcpTLSCheck(ctx, c.dialer, addr) errCh <- err }(address) } errs := make([]error, 0, len(c.tlsDialAddrs)) success := false for range c.tlsDialAddrs { err := <-errCh if err == nil { success = true cancel() continue } else if success { continue // ignore canceled errors after success } c.logger.Debugf("startup check parallel attempt failed: %s", err) errs = append(errs, err) } if success { return nil } errStrings := make([]string, len(errs)) for i, err := range errs { errStrings[i] = fmt.Sprintf("parallel attempt %d/%d failed: %s", i+1, len(errs), err) } return fmt.Errorf("%w: %s", ErrAllCheckTriesFailed, strings.Join(errStrings, ", ")) } const ( smallCheckDNS = "dns" smallCheckICMP = "icmp" ) func smallCheckTypeToString(smallCheckType string) string { switch smallCheckType { case smallCheckICMP: return "ICMP echo" case smallCheckDNS: return "plain DNS over UDP" default: panic("unknown small check type: " + smallCheckType) } } ================================================ FILE: internal/healthcheck/checker_test.go ================================================ package healthcheck import ( "context" "fmt" "net" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_Checker_fullcheck(t *testing.T) { t.Parallel() t.Run("canceled real dialer", func(t *testing.T) { t.Parallel() dialer := &net.Dialer{} addresses := []string{"badaddress:9876", "cloudflare.com:443", "google.com:443"} checker := &Checker{ dialer: dialer, tlsDialAddrs: addresses, } canceledCtx, cancel := context.WithCancel(context.Background()) cancel() err := checker.fullPeriodicCheck(canceledCtx) require.Error(t, err) assert.EqualError(t, err, "TCP+TLS dial: context canceled") }) t.Run("dial localhost:0", func(t *testing.T) { t.Parallel() const timeout = 100 * time.Millisecond ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() listenConfig := &net.ListenConfig{} listener, err := listenConfig.Listen(ctx, "tcp4", "localhost:0") require.NoError(t, err) t.Cleanup(func() { err = listener.Close() assert.NoError(t, err) }) listeningAddress := listener.Addr() dialer := &net.Dialer{} checker := &Checker{ dialer: dialer, tlsDialAddrs: []string{listeningAddress.String()}, } err = checker.fullPeriodicCheck(ctx) assert.NoError(t, err) }) } func Test_makeAddressToDial(t *testing.T) { t.Parallel() testCases := map[string]struct { address string addressToDial string err error }{ "host without port": { address: "test.com", addressToDial: "test.com:443", }, "host with port": { address: "test.com:80", addressToDial: "test.com:80", }, "bad address": { address: "test.com::", err: fmt.Errorf("splitting host and port from address: address test.com::: too many colons in address"), //nolint:lll }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() addressToDial, err := makeAddressToDial(testCase.address) assert.Equal(t, testCase.addressToDial, addressToDial) if testCase.err != nil { assert.EqualError(t, err, testCase.err.Error()) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/healthcheck/client.go ================================================ package healthcheck import ( "context" "errors" "fmt" "io" "net/http" "time" ) var ErrHTTPStatusNotOK = errors.New("HTTP response status is not OK") type Client struct { httpClient *http.Client } func NewClient(httpClient *http.Client) *Client { return &Client{ httpClient: httpClient, } } func (c *Client) Check(ctx context.Context, url string) error { ctx, cancel := context.WithTimeout(ctx, time.Second) defer cancel() request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return err } response, err := c.httpClient.Do(request) if err != nil { return err } defer response.Body.Close() if response.StatusCode == http.StatusOK { return nil } b, err := io.ReadAll(response.Body) if err != nil { return err } return fmt.Errorf("%w: %d %s: %s", ErrHTTPStatusNotOK, response.StatusCode, response.Status, string(b)) } ================================================ FILE: internal/healthcheck/dns/dns.go ================================================ package dns import ( "context" "errors" "fmt" "net" "net/netip" "github.com/qdm12/dns/v2/pkg/provider" ) // Client is a simple plaintext UDP DNS client, to be used for healthchecks. // Note the client connects to a DNS server only over UDP on port 53, // because we don't want to use DoT or DoH and impact the TCP connections // when running a healthcheck. type Client struct { serverAddrs []netip.AddrPort dnsIPIndex int } func New() *Client { return &Client{ serverAddrs: concatAddrPorts([][]netip.AddrPort{ provider.Cloudflare().Plain.IPv4, provider.Google().Plain.IPv4, provider.Quad9().Plain.IPv4, provider.OpenDNS().Plain.IPv4, provider.LibreDNS().Plain.IPv4, provider.Quadrant().Plain.IPv4, provider.CiraProtected().Plain.IPv4, }), } } func concatAddrPorts(addrs [][]netip.AddrPort) []netip.AddrPort { var result []netip.AddrPort for _, addrList := range addrs { result = append(result, addrList...) } return result } var ErrLookupNoIPs = errors.New("no IPs found from DNS lookup") func (c *Client) Check(ctx context.Context) error { dnsAddr := c.serverAddrs[c.dnsIPIndex].String() resolver := &net.Resolver{ PreferGo: true, Dial: func(ctx context.Context, _, _ string) (net.Conn, error) { dialer := net.Dialer{} return dialer.DialContext(ctx, "udp", dnsAddr) }, } ips, err := resolver.LookupIP(ctx, "ip", "github.com") switch { case err != nil: c.dnsIPIndex = (c.dnsIPIndex + 1) % len(c.serverAddrs) return fmt.Errorf("with DNS server %s: %w", dnsAddr, err) case len(ips) == 0: c.dnsIPIndex = (c.dnsIPIndex + 1) % len(c.serverAddrs) return fmt.Errorf("with DNS server %s: %w", dnsAddr, ErrLookupNoIPs) default: return nil } } ================================================ FILE: internal/healthcheck/handler.go ================================================ package healthcheck import ( "errors" "net/http" "sync" ) type handler struct { healthErr error healthErrMu sync.RWMutex logger Logger } var errHealthcheckNotRunYet = errors.New("healthcheck did not run yet") func newHandler(logger Logger) *handler { return &handler{ healthErr: errHealthcheckNotRunYet, logger: logger, } } func (h *handler) ServeHTTP(responseWriter http.ResponseWriter, request *http.Request) { if request.Method != http.MethodGet { http.Error(responseWriter, "method not supported for healthcheck", http.StatusBadRequest) return } if err := h.getErr(); err != nil { http.Error(responseWriter, err.Error(), http.StatusInternalServerError) return } responseWriter.WriteHeader(http.StatusOK) } func (h *handler) setErr(err error) { h.healthErrMu.Lock() defer h.healthErrMu.Unlock() h.healthErr = err } func (h *handler) getErr() (err error) { h.healthErrMu.RLock() defer h.healthErrMu.RUnlock() return h.healthErr } ================================================ FILE: internal/healthcheck/icmp/apple_ipv4.go ================================================ package icmp import ( "net" "time" "golang.org/x/net/ipv4" ) var _ net.PacketConn = &ipv4Wrapper{} // ipv4Wrapper is a wrapper around ipv4.PacketConn to implement // the net.PacketConn interface. It's only used for Darwin or iOS. type ipv4Wrapper struct { ipv4Conn *ipv4.PacketConn } func ipv4ToNetPacketConn(ipv4 *ipv4.PacketConn) *ipv4Wrapper { return &ipv4Wrapper{ipv4Conn: ipv4} } func (i *ipv4Wrapper) ReadFrom(p []byte) (n int, addr net.Addr, err error) { n, _, addr, err = i.ipv4Conn.ReadFrom(p) return n, addr, err } func (i *ipv4Wrapper) WriteTo(p []byte, addr net.Addr) (n int, err error) { return i.ipv4Conn.WriteTo(p, nil, addr) } func (i *ipv4Wrapper) Close() error { return i.ipv4Conn.Close() } func (i *ipv4Wrapper) LocalAddr() net.Addr { return i.ipv4Conn.LocalAddr() } func (i *ipv4Wrapper) SetDeadline(t time.Time) error { return i.ipv4Conn.SetDeadline(t) } func (i *ipv4Wrapper) SetReadDeadline(t time.Time) error { return i.ipv4Conn.SetReadDeadline(t) } func (i *ipv4Wrapper) SetWriteDeadline(t time.Time) error { return i.ipv4Conn.SetWriteDeadline(t) } ================================================ FILE: internal/healthcheck/icmp/echo.go ================================================ package icmp import ( "bytes" "context" cryptorand "crypto/rand" "encoding/binary" "errors" "fmt" "io" "math/rand/v2" "net" "net/netip" "strings" "time" "golang.org/x/net/icmp" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" ) var ( ErrICMPBodyUnsupported = errors.New("ICMP body type is not supported") ErrICMPEchoDataMismatch = errors.New("ICMP data mismatch") ) type Echoer struct { buffer []byte randomSource io.Reader logger Logger seqStart time.Time id int seq int } func NewEchoer(logger Logger) *Echoer { const maxICMPEchoSize = 1500 buffer := make([]byte, maxICMPEchoSize) var seed [32]byte _, _ = cryptorand.Read(seed[:]) randomSource := rand.NewChaCha8(seed) return &Echoer{ buffer: buffer, randomSource: randomSource, logger: logger, } } // Reset resets the [Echoer] icmp echo parameters: // - ID is assigned a new random value // - sequence is reset to 1 // - sequence start time is set to now // It is used when the sequence is complete or when the VPN reconnects. func (e *Echoer) Reset() { const uint16Bytes = 2 idBytes := make([]byte, uint16Bytes) _, _ = e.randomSource.Read(idBytes) e.id = int(binary.BigEndian.Uint16(idBytes)) e.seq = 1 e.seqStart = time.Now() } var ( ErrTimedOut = errors.New("timed out waiting for ICMP echo reply") ErrNotPermitted = errors.New("not permitted") ) func (e *Echoer) Echo(ctx context.Context, ip netip.Addr) (err error) { var ipVersion string var conn net.PacketConn if ip.Is4() { ipVersion = "v4" conn, err = listenICMPv4(ctx) } else { ipVersion = "v6" conn, err = listenICMPv6(ctx) } if err != nil { if strings.HasSuffix(err.Error(), "socket: operation not permitted") { err = fmt.Errorf("%w: you can try adding NET_RAW capability to resolve this", ErrNotPermitted) } return fmt.Errorf("listening for ICMP packets: %w", err) } go func() { <-ctx.Done() conn.Close() }() const maxSeq = 1<<16 - 1 const refreshIDInterval = 5 * time.Minute if e.seq > maxSeq && time.Since(e.seqStart) >= refreshIDInterval { e.Reset() } message := buildMessageToSend(ipVersion, e.id, e.seq, e.randomSource) encodedMessage, err := message.Marshal(nil) if err != nil { return fmt.Errorf("encoding ICMP message: %w", err) } _, err = conn.WriteTo(encodedMessage, &net.IPAddr{IP: ip.AsSlice()}) if err != nil { if strings.HasSuffix(err.Error(), "sendto: operation not permitted") { err = fmt.Errorf("%w", ErrNotPermitted) } return fmt.Errorf("writing ICMP message to %s: %w", ip, err) } defer func() { e.seq++ }() receivedData, err := receiveEchoReply(conn, e.id, e.seq, e.buffer, ipVersion, e.logger) if err != nil { if errors.Is(err, net.ErrClosed) && ctx.Err() != nil { return fmt.Errorf("%w from %s", ErrTimedOut, ip) } return fmt.Errorf("receiving ICMP echo reply from %s: %w", ip, err) } sentData := message.Body.(*icmp.Echo).Data //nolint:forcetypeassert if !bytes.Equal(receivedData, sentData) { return fmt.Errorf("%w: sent %x to %s and received %x", ErrICMPEchoDataMismatch, sentData, ip, receivedData) } return nil } func buildMessageToSend(ipVersion string, id, seq int, randomSource io.Reader) (message *icmp.Message) { var icmpType icmp.Type switch ipVersion { case "v4": icmpType = ipv4.ICMPTypeEcho case "v6": icmpType = ipv6.ICMPTypeEchoRequest default: panic(fmt.Sprintf("IP version %q not supported", ipVersion)) } const size = 32 messageBodyData := make([]byte, size) _, _ = randomSource.Read(messageBodyData) // See https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml#icmp-parameters-types message = &icmp.Message{ Type: icmpType, // echo request Code: 0, // no code Checksum: 0, // calculated at encoding (ipv4) or sending (ipv6) Body: &icmp.Echo{ ID: id, Seq: seq, Data: messageBodyData, }, } return message } func receiveEchoReply(conn net.PacketConn, id, seq int, buffer []byte, ipVersion string, logger Logger, ) (data []byte, err error) { var icmpProtocol int const ( icmpv4Protocol = 1 icmpv6Protocol = 58 ) switch ipVersion { case "v4": icmpProtocol = icmpv4Protocol case "v6": icmpProtocol = icmpv6Protocol default: panic(fmt.Sprintf("unknown IP version: %s", ipVersion)) } for { // Note we need to read the whole packet in one call to ReadFrom, so the buffer // must be large enough to read the entire reply packet. See: // https://groups.google.com/g/golang-nuts/c/5dy2Q4nPs08/m/KmuSQAGEtG4J bytesRead, returnAddr, err := conn.ReadFrom(buffer) if err != nil { return nil, fmt.Errorf("reading from ICMP connection: %w", err) } packetBytes := buffer[:bytesRead] // Parse the ICMP message message, err := icmp.ParseMessage(icmpProtocol, packetBytes) if err != nil { return nil, fmt.Errorf("parsing message: %w", err) } switch body := message.Body.(type) { case *icmp.Echo: switch { case id != body.ID: logger.Warnf("ignoring ICMP echo reply mismatching expected id %d "+ "(id: %d, seq: %d, type: %d, code: %d, length: %d, return address %s)", id, body.Seq, body.ID, message.Type, message.Code, len(packetBytes), returnAddr) continue // not the ID we are looking for case seq != body.Seq: logger.Warnf("ignoring ICMP echo reply mismatching expected sequence number %d "+ "(id: %d, seq: %d, type: %d, code: %d, length: %d, return address %s)", seq, body.ID, body.Seq, message.Type, message.Code, len(packetBytes), returnAddr) continue // not the seq we are looking for } return body.Data, nil case *icmp.DstUnreach: logger.Debugf("ignoring ICMP destination unreachable message "+ "(type: 3, code: %d, return address %s, expected id %d and seq %d)", message.Code, returnAddr, id, seq) // See https://github.com/qdm12/gluetun/pull/2923#issuecomment-3377532249 // on why we ignore this message. If it is actually unreachable, the timeout on waiting for // the echo reply will do instead of returning an error error. continue case *icmp.TimeExceeded: logger.Debugf("ignoring ICMP time exceeded message "+ "(type: 11, code: %d, return address %s, expected id %d and seq %d)", message.Code, returnAddr, id, seq) continue default: return nil, fmt.Errorf("%w: %T (type %d, code %d, return address %s, expected id %d and seq %d)", ErrICMPBodyUnsupported, body, message.Type, message.Code, returnAddr, id, seq) } } } ================================================ FILE: internal/healthcheck/icmp/interfaces.go ================================================ package icmp type Logger interface { Debugf(format string, args ...any) Warnf(format string, args ...any) } ================================================ FILE: internal/healthcheck/icmp/listen.go ================================================ package icmp import ( "context" "fmt" "net" "runtime" "golang.org/x/net/ipv4" ) func listenICMPv4(ctx context.Context) (conn net.PacketConn, err error) { var listenConfig net.ListenConfig const listenAddress = "" packetConn, err := listenConfig.ListenPacket(ctx, "ip4:icmp", listenAddress) if err != nil { return nil, fmt.Errorf("listening for ICMP packets: %w", err) } if runtime.GOOS == "darwin" || runtime.GOOS == "ios" { packetConn = ipv4ToNetPacketConn(ipv4.NewPacketConn(packetConn)) } return packetConn, nil } func listenICMPv6(ctx context.Context) (conn net.PacketConn, err error) { var listenConfig net.ListenConfig const listenAddress = "" packetConn, err := listenConfig.ListenPacket(ctx, "ip6:ipv6-icmp", listenAddress) if err != nil { return nil, fmt.Errorf("listening for ICMPv6 packets: %w", err) } return packetConn, nil } ================================================ FILE: internal/healthcheck/interfaces.go ================================================ package healthcheck type Logger interface { Debugf(format string, args ...any) Info(s string) Infof(format string, args ...any) Warnf(format string, args ...any) Error(s string) } ================================================ FILE: internal/healthcheck/run.go ================================================ package healthcheck import ( "context" "errors" "net/http" "time" ) func (s *Server) Run(ctx context.Context, done chan<- struct{}) { defer close(done) const readHeaderTimeout = 100 * time.Millisecond const readTimeout = 500 * time.Millisecond server := http.Server{ Addr: s.config.ServerAddress, Handler: s.handler, ReadHeaderTimeout: readHeaderTimeout, ReadTimeout: readTimeout, } serverDone := make(chan struct{}) go func() { defer close(serverDone) <-ctx.Done() const shutdownGraceDuration = 2 * time.Second shutdownCtx, cancel := context.WithTimeout(context.Background(), shutdownGraceDuration) defer cancel() if err := server.Shutdown(shutdownCtx); err != nil { s.logger.Error("failed shutting down: " + err.Error()) } }() s.logger.Info("listening on " + s.config.ServerAddress) err := server.ListenAndServe() if err != nil && !errors.Is(ctx.Err(), context.Canceled) { s.logger.Error(err.Error()) } <-serverDone } ================================================ FILE: internal/healthcheck/server.go ================================================ package healthcheck import ( "context" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) type Server struct { logger Logger handler *handler config settings.Health } func NewServer(config settings.Health, logger Logger) *Server { return &Server{ logger: logger, handler: newHandler(logger), config: config, } } func (s *Server) SetError(err error) { s.handler.setErr(err) } type StatusApplier interface { ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) } ================================================ FILE: internal/httpproxy/accept.go ================================================ package httpproxy import ( "fmt" "net/http" ) func (h *handler) isAccepted(responseWriter http.ResponseWriter, request *http.Request) bool { // Not compatible with HTTP < 1.0 or HTTP >= 2.0 (see https://github.com/golang/go/issues/14797#issuecomment-196103814) const ( minimalMajorVersion = 1 minimalMinorVersion = 0 maximumMajorVersion = 2 maximumMinorVersion = 0 ) if !request.ProtoAtLeast(minimalMajorVersion, minimalMinorVersion) || request.ProtoAtLeast(maximumMajorVersion, maximumMinorVersion) { message := fmt.Sprintf("http version not supported: %s", request.Proto) h.logger.Info(message + ", from " + request.RemoteAddr) http.Error(responseWriter, message, http.StatusBadRequest) return false } return true } ================================================ FILE: internal/httpproxy/auth.go ================================================ package httpproxy import ( "encoding/base64" "fmt" "net/http" "strings" ) func (h *handler) isAuthorized(responseWriter http.ResponseWriter, request *http.Request) (authorized bool) { if h.username == "" || (request.Method != http.MethodConnect && !request.URL.IsAbs()) { return true } basicAuth := request.Header.Get("Proxy-Authorization") if basicAuth == "" { responseWriter.Header().Set("Proxy-Authenticate", `Basic realm="Access to Gluetun over HTTP"`) responseWriter.WriteHeader(http.StatusProxyAuthRequired) return false } b64UsernamePassword := strings.TrimPrefix(basicAuth, "Basic ") b, err := base64.StdEncoding.DecodeString(b64UsernamePassword) if err != nil { h.logger.Info("Cannot decode Proxy-Authorization header value from " + request.RemoteAddr + ": " + err.Error()) responseWriter.WriteHeader(http.StatusUnauthorized) return false } usernamePassword := strings.Split(string(b), ":") const expectedFields = 2 if len(usernamePassword) != expectedFields { responseWriter.WriteHeader(http.StatusBadRequest) return false } if h.username != usernamePassword[0] || h.password != usernamePassword[1] { h.logger.Info(fmt.Sprintf("Username (%q) or password (%q) mismatch from %s", usernamePassword[0], usernamePassword[1], request.RemoteAddr)) h.logger.Debug("username provided \"" + usernamePassword[0] + "\" and password provided \"" + usernamePassword[1] + "\"") responseWriter.WriteHeader(http.StatusUnauthorized) return false } return true } ================================================ FILE: internal/httpproxy/handler.go ================================================ package httpproxy import ( "context" "net/http" "sync" "time" ) func newHandler(ctx context.Context, wg *sync.WaitGroup, logger Logger, stealth, verbose bool, username, password string, ) http.Handler { const httpTimeout = 24 * time.Hour return &handler{ ctx: ctx, wg: wg, client: &http.Client{ Timeout: httpTimeout, CheckRedirect: returnRedirect, }, logger: logger, verbose: verbose, stealth: stealth, username: username, password: password, } } type handler struct { ctx context.Context //nolint:containedctx wg *sync.WaitGroup client *http.Client logger Logger verbose, stealth bool username, password string } func (h *handler) ServeHTTP(responseWriter http.ResponseWriter, request *http.Request) { if !h.isAccepted(responseWriter, request) { return } if !h.isAuthorized(responseWriter, request) { return } request.Header.Del("Proxy-Connection") request.Header.Del("Proxy-Authenticate") request.Header.Del("Proxy-Authorization") switch request.Method { case http.MethodConnect: h.handleHTTPS(responseWriter, request) default: h.handleHTTP(responseWriter, request) } } // http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html var hopHeaders = [...]string{ //nolint:gochecknoglobals "Connection", "Keep-Alive", "Proxy-Authenticate", "Proxy-Authorization", "Te", // canonicalized version of "TE" "Trailers", "Transfer-Encoding", "Upgrade", } // Do not follow redirect, but directly return the redirect response. func returnRedirect(*http.Request, []*http.Request) error { // WARNING: do not wrap this error! // The standard library code checking against it does not use // Go 1.13 `errors.Is` but `==`, so we cannot wrap it. return http.ErrUseLastResponse } ================================================ FILE: internal/httpproxy/handler_test.go ================================================ package httpproxy import ( "net/http" "testing" "github.com/stretchr/testify/assert" ) func Test_returnRedirect(t *testing.T) { t.Parallel() err := returnRedirect(nil, nil) assert.Equal(t, http.ErrUseLastResponse, err) } ================================================ FILE: internal/httpproxy/http.go ================================================ package httpproxy import ( "fmt" "io" "net" "net/http" "strings" ) func (h *handler) handleHTTP(responseWriter http.ResponseWriter, request *http.Request) { switch request.URL.Scheme { case "http", "https": default: h.logger.Warn("Unsupported scheme " + request.URL.Scheme) http.Error(responseWriter, "unsupported scheme", http.StatusBadRequest) return } request = request.WithContext(h.ctx) request.RequestURI = "" for _, key := range hopHeaders { request.Header.Del(key) } if !h.stealth { setForwardedHeaders(request) } response, err := h.client.Do(request) if err != nil { http.Error(responseWriter, "server error", http.StatusInternalServerError) h.logger.Warn("cannot process request for client " + request.RemoteAddr + ": " + err.Error()) return } defer response.Body.Close() if h.verbose { h.logger.Info(request.RemoteAddr + " " + response.Status + " " + request.Method + " " + request.URL.String()) } for _, key := range hopHeaders { response.Header.Del(key) } targetHeaderPtr := responseWriter.Header() for key, values := range response.Header { for _, value := range values { targetHeaderPtr.Add(key, value) } } responseWriter.WriteHeader(response.StatusCode) if _, err := io.Copy(responseWriter, response.Body); err != nil { h.logger.Error(request.RemoteAddr + " " + request.URL.String() + ": body copy error: " + err.Error()) } } func setForwardedHeaders(request *http.Request) { clientIP, _, err := net.SplitHostPort(request.RemoteAddr) if err != nil { return } // keep existing proxy headers if prior, ok := request.Header["X-Forwarded-For"]; ok { clientIP = fmt.Sprintf("%s,%s", strings.Join(prior, ", "), clientIP) } request.Header.Set("X-Forwarded-For", clientIP) } ================================================ FILE: internal/httpproxy/https.go ================================================ package httpproxy import ( "io" "net" "net/http" ) func (h *handler) handleHTTPS(responseWriter http.ResponseWriter, request *http.Request) { dialer := net.Dialer{} destinationConn, err := dialer.DialContext(h.ctx, "tcp", request.Host) if err != nil { http.Error(responseWriter, err.Error(), http.StatusServiceUnavailable) return } responseWriter.WriteHeader(http.StatusOK) hijacker, ok := responseWriter.(http.Hijacker) if !ok { http.Error(responseWriter, "Hijacking not supported", http.StatusInternalServerError) return } clientConnection, _, err := hijacker.Hijack() if err != nil { h.logger.Warn(err.Error()) http.Error(responseWriter, err.Error(), http.StatusServiceUnavailable) if err := destinationConn.Close(); err != nil { h.logger.Error("closing destination connection: " + err.Error()) } return } if h.verbose { h.logger.Info(request.RemoteAddr + " <-> " + request.Host) } h.wg.Add(1) serverToClientDone := make(chan struct{}) clientToServerClientDone := make(chan struct{}) go transfer(destinationConn, clientConnection, clientToServerClientDone) go transfer(clientConnection, destinationConn, serverToClientDone) select { case <-h.ctx.Done(): destinationConn.Close() clientConnection.Close() <-serverToClientDone <-clientToServerClientDone case <-serverToClientDone: <-clientToServerClientDone case <-clientToServerClientDone: // happens more rarely, when a connection is closed on the client side <-serverToClientDone } h.wg.Done() } func transfer(destination io.WriteCloser, source io.ReadCloser, done chan<- struct{}) { _, _ = io.Copy(destination, source) _ = source.Close() _ = destination.Close() close(done) } ================================================ FILE: internal/httpproxy/logger.go ================================================ package httpproxy type Logger interface { infoErrorer Debug(s string) Warn(s string) } type infoErrorer interface { Info(s string) Error(s string) } ================================================ FILE: internal/httpproxy/loop.go ================================================ package httpproxy import ( "context" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/httpproxy/state" "github.com/qdm12/gluetun/internal/loopstate" "github.com/qdm12/gluetun/internal/models" ) type Loop struct { statusManager *loopstate.State state *state.State // Other objects logger Logger // Internal channels and locks running chan models.LoopStatus stop, stopped chan struct{} start chan struct{} userTrigger bool backoffTime time.Duration } const defaultBackoffTime = 10 * time.Second func NewLoop(logger Logger, settings settings.HTTPProxy) *Loop { start := make(chan struct{}) running := make(chan models.LoopStatus) stop := make(chan struct{}) stopped := make(chan struct{}) statusManager := loopstate.New(constants.Stopped, start, running, stop, stopped) state := state.New(statusManager, settings) return &Loop{ statusManager: statusManager, state: state, logger: logger, start: start, running: running, stop: stop, stopped: stopped, userTrigger: true, backoffTime: defaultBackoffTime, } } func (l *Loop) logAndWait(ctx context.Context, err error) { l.logger.Error(err.Error()) l.logger.Info("retrying in " + l.backoffTime.String()) timer := time.NewTimer(l.backoffTime) l.backoffTime *= 2 select { case <-timer.C: case <-ctx.Done(): if !timer.Stop() { <-timer.C } } } ================================================ FILE: internal/httpproxy/run.go ================================================ package httpproxy import ( "context" "github.com/qdm12/gluetun/internal/constants" ) func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { defer close(done) if !*l.state.GetSettings().Enabled { select { case <-l.start: case <-ctx.Done(): return } } for ctx.Err() == nil { runCtx, runCancel := context.WithCancel(ctx) settings := l.state.GetSettings() server := New(runCtx, settings.ListeningAddress, l.logger, *settings.Stealth, *settings.Log, *settings.User, *settings.Password, settings.ReadHeaderTimeout, settings.ReadTimeout) errorCh := make(chan error) go server.Run(runCtx, errorCh) // TODO stable timer, check Shadowsocks if l.userTrigger { l.running <- constants.Running l.userTrigger = false } else { l.backoffTime = defaultBackoffTime l.statusManager.SetStatus(constants.Running) } stayHere := true for stayHere { select { case <-ctx.Done(): runCancel() <-errorCh close(errorCh) return case <-l.start: l.userTrigger = true l.logger.Info("starting") runCancel() <-errorCh close(errorCh) stayHere = false case <-l.stop: l.userTrigger = true l.logger.Info("stopping") runCancel() <-errorCh // Do not close errorCh or this for loop won't work l.stopped <- struct{}{} case err := <-errorCh: close(errorCh) l.statusManager.SetStatus(constants.Crashed) l.logAndWait(ctx, err) stayHere = false } } runCancel() // repetition for linter only } } ================================================ FILE: internal/httpproxy/server.go ================================================ package httpproxy import ( "context" "net/http" "sync" "time" ) type Server struct { address string handler http.Handler logger infoErrorer internalWG *sync.WaitGroup readHeaderTimeout time.Duration readTimeout time.Duration } func New(ctx context.Context, address string, logger Logger, stealth, verbose bool, username, password string, readHeaderTimeout, readTimeout time.Duration, ) *Server { wg := &sync.WaitGroup{} return &Server{ address: address, handler: newHandler(ctx, wg, logger, stealth, verbose, username, password), logger: logger, internalWG: wg, readHeaderTimeout: readHeaderTimeout, readTimeout: readTimeout, } } func (s *Server) Run(ctx context.Context, errorCh chan<- error) { server := http.Server{ Addr: s.address, Handler: s.handler, ReadHeaderTimeout: s.readHeaderTimeout, ReadTimeout: s.readTimeout, } go func() { <-ctx.Done() const shutdownGraceDuration = 100 * time.Millisecond shutdownCtx, cancel := context.WithTimeout(context.Background(), shutdownGraceDuration) defer cancel() if err := server.Shutdown(shutdownCtx); err != nil { s.logger.Error("failed shutting down: " + err.Error()) } }() s.logger.Info("listening on " + s.address) err := server.ListenAndServe() s.internalWG.Wait() if err != nil && ctx.Err() == nil { errorCh <- err } else { errorCh <- nil } } ================================================ FILE: internal/httpproxy/settings.go ================================================ package httpproxy import ( "context" "github.com/qdm12/gluetun/internal/configuration/settings" ) func (l *Loop) GetSettings() (settings settings.HTTPProxy) { return l.state.GetSettings() } func (l *Loop) SetSettings(ctx context.Context, settings settings.HTTPProxy) ( outcome string, ) { return l.state.SetSettings(ctx, settings) } ================================================ FILE: internal/httpproxy/state/settings.go ================================================ package state import ( "context" "reflect" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" ) func (s *State) GetSettings() (settings settings.HTTPProxy) { s.settingsMu.RLock() defer s.settingsMu.RUnlock() return s.settings } func (s *State) SetSettings(ctx context.Context, settings settings.HTTPProxy, ) (outcome string) { s.settingsMu.Lock() settingsUnchanged := reflect.DeepEqual(settings, s.settings) if settingsUnchanged { s.settingsMu.Unlock() return "settings left unchanged" } newEnabled := *settings.Enabled previousEnabled := *s.settings.Enabled s.settings = settings s.settingsMu.Unlock() // Either restart or set changed status switch { case !newEnabled && !previousEnabled: case newEnabled && previousEnabled: _, _ = s.statusApplier.ApplyStatus(ctx, constants.Stopped) _, _ = s.statusApplier.ApplyStatus(ctx, constants.Running) case newEnabled && !previousEnabled: _, _ = s.statusApplier.ApplyStatus(ctx, constants.Running) case !newEnabled && previousEnabled: _, _ = s.statusApplier.ApplyStatus(ctx, constants.Stopped) } return "settings updated" } ================================================ FILE: internal/httpproxy/state/state.go ================================================ package state import ( "context" "sync" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) func New(statusApplier StatusApplier, settings settings.HTTPProxy, ) *State { return &State{ statusApplier: statusApplier, settings: settings, } } type State struct { statusApplier StatusApplier settings settings.HTTPProxy settingsMu sync.RWMutex } type StatusApplier interface { ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) } ================================================ FILE: internal/httpproxy/status.go ================================================ package httpproxy import ( "context" "github.com/qdm12/gluetun/internal/models" ) func (l *Loop) GetStatus() (status models.LoopStatus) { return l.statusManager.GetStatus() } func (l *Loop) ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error, ) { return l.statusManager.ApplyStatus(ctx, status) } ================================================ FILE: internal/httpserver/address.go ================================================ package httpserver // GetAddress obtains the address the HTTP server is listening on. func (s *Server) GetAddress() (address string) { <-s.addressSet return s.address } ================================================ FILE: internal/httpserver/helpers_test.go ================================================ package httpserver import ( "regexp" gomock "github.com/golang/mock/gomock" ) var _ Logger = (*testLogger)(nil) type testLogger struct{} func (t *testLogger) Info(string) {} func (t *testLogger) Warn(string) {} func (t *testLogger) Error(string) {} var _ gomock.Matcher = (*regexMatcher)(nil) type regexMatcher struct { regexp *regexp.Regexp } func (r *regexMatcher) Matches(x interface{}) bool { s, ok := x.(string) if !ok { return false } return r.regexp.MatchString(s) } func (r *regexMatcher) String() string { return "regular expression " + r.regexp.String() } func newRegexMatcher(regex string) *regexMatcher { return ®exMatcher{ regexp: regexp.MustCompile(regex), } } ================================================ FILE: internal/httpserver/logger.go ================================================ package httpserver // Logger is the logger interface accepted by the // HTTP server. type Logger interface { Info(msg string) Warn(msg string) Error(msg string) } ================================================ FILE: internal/httpserver/logger_mock_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/httpserver (interfaces: Logger) // Package httpserver is a generated GoMock package. package httpserver import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Error mocks base method. func (m *MockLogger) Error(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Error", arg0) } // Error indicates an expected call of Error. func (mr *MockLoggerMockRecorder) Error(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Error", reflect.TypeOf((*MockLogger)(nil).Error), arg0) } // Info mocks base method. func (m *MockLogger) Info(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Info", arg0) } // Info indicates an expected call of Info. func (mr *MockLoggerMockRecorder) Info(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockLogger)(nil).Info), arg0) } // Warn mocks base method. func (m *MockLogger) Warn(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Warn", arg0) } // Warn indicates an expected call of Warn. func (mr *MockLoggerMockRecorder) Warn(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warn", reflect.TypeOf((*MockLogger)(nil).Warn), arg0) } ================================================ FILE: internal/httpserver/run.go ================================================ package httpserver import ( "context" "errors" "net" "net/http" ) // Run runs the HTTP server until ctx is canceled. // The done channel has an error written to when the HTTP server // is terminated, and can be nil or not nil. func (s *Server) Run(ctx context.Context, ready chan<- struct{}, done chan<- struct{}) { server := http.Server{ Addr: s.address, Handler: s.handler, ReadHeaderTimeout: s.readHeaderTimeout, ReadTimeout: s.readTimeout, } crashed := make(chan struct{}) shutdownDone := make(chan struct{}) listenCtx, listenCancel := context.WithCancel(ctx) go func() { defer close(shutdownDone) defer listenCancel() select { case <-ctx.Done(): case <-crashed: return } shutdownCtx, cancel := context.WithTimeout( context.Background(), s.shutdownTimeout) defer cancel() if err := server.Shutdown(shutdownCtx); err != nil { s.logger.Error("http server failed shutting down within " + s.shutdownTimeout.String()) } }() listenConfig := &net.ListenConfig{} listener, err := listenConfig.Listen(listenCtx, "tcp", s.address) if err != nil { close(s.addressSet) close(crashed) // stop shutdown goroutine <-shutdownDone s.logger.Error(err.Error()) close(done) return } s.address = listener.Addr().String() close(s.addressSet) // note: no further write so no need to mutex s.logger.Info("http server listening on " + s.address) close(ready) err = server.Serve(listener) if err != nil && !errors.Is(ctx.Err(), context.Canceled) { // server crashed close(crashed) // stop shutdown goroutine } else { err = nil } <-shutdownDone if err != nil { s.logger.Error(err.Error()) } close(done) } ================================================ FILE: internal/httpserver/run_test.go ================================================ package httpserver import ( "context" "regexp" "testing" "time" gomock "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" ) func Test_Server_Run_success(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) logger := NewMockLogger(ctrl) logger.EXPECT().Info(newRegexMatcher("^http server listening on 127.0.0.1:[1-9][0-9]{0,4}$")) const shutdownTimeout = 10 * time.Second server := &Server{ address: "127.0.0.1:0", addressSet: make(chan struct{}), logger: logger, shutdownTimeout: shutdownTimeout, } ctx, cancel := context.WithCancel(context.Background()) ready := make(chan struct{}) done := make(chan struct{}) go server.Run(ctx, ready, done) addressRegex := regexp.MustCompile(`^127.0.0.1:[1-9][0-9]{0,4}$`) address := server.GetAddress() assert.Regexp(t, addressRegex, address) address = server.GetAddress() assert.Regexp(t, addressRegex, address) <-ready cancel() _, ok := <-done assert.False(t, ok) } func Test_Server_Run_failure(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) logger := NewMockLogger(ctrl) logger.EXPECT().Error("listen tcp: address -1: invalid port") server := &Server{ address: "127.0.0.1:-1", addressSet: make(chan struct{}), logger: logger, } ready := make(chan struct{}) done := make(chan struct{}) go server.Run(context.Background(), ready, done) select { case <-ready: t.Fatal("server should not be ready") case _, ok := <-done: assert.False(t, ok) } } ================================================ FILE: internal/httpserver/server.go ================================================ package httpserver import ( "fmt" "net/http" "time" ) // Server is an HTTP server implementation, which uses // the HTTP handler provided. type Server struct { address string addressSet chan struct{} handler http.Handler logger Logger readHeaderTimeout time.Duration readTimeout time.Duration shutdownTimeout time.Duration } // New creates a new HTTP server with the given settings. // It returns an error if one of the settings is not valid. func New(settings Settings) (s *Server, err error) { settings.SetDefaults() if err = settings.Validate(); err != nil { return nil, fmt.Errorf("http server settings validation failed: %w", err) } return &Server{ address: settings.Address, addressSet: make(chan struct{}), handler: settings.Handler, logger: settings.Logger, readHeaderTimeout: settings.ReadHeaderTimeout, readTimeout: settings.ReadTimeout, shutdownTimeout: settings.ShutdownTimeout, }, nil } ================================================ FILE: internal/httpserver/server_test.go ================================================ package httpserver import ( "net/http" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) //go:generate mockgen -destination=logger_mock_test.go -package $GOPACKAGE . Logger func Test_New(t *testing.T) { t.Parallel() someHandler := http.NewServeMux() someLogger := &testLogger{} testCases := map[string]struct { settings Settings expected *Server errWrapped error errMessage string }{ "empty settings": { errWrapped: ErrHandlerIsNotSet, errMessage: "http server settings validation failed: HTTP handler cannot be left unset", }, "filled settings": { settings: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, expected: &Server{ address: ":8001", handler: someHandler, logger: someLogger, readHeaderTimeout: time.Second, readTimeout: time.Second, shutdownTimeout: time.Second, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() server, err := New(testCase.settings) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { require.EqualError(t, err, testCase.errMessage) } if server != nil { assert.NotNil(t, server.addressSet) server.addressSet = nil } assert.Equal(t, testCase.expected, server) }) } } ================================================ FILE: internal/httpserver/settings.go ================================================ package httpserver import ( "errors" "fmt" "net/http" "os" "time" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) type Settings struct { // Address is the server listening address. // It defaults to :8000. Address string // Handler is the HTTP Handler to use. // It must be set and cannot be left to nil. Handler http.Handler // Logger is the logger to use. // It must be set and cannot be left to nil. Logger Logger // ReadHeaderTimeout is the HTTP header read timeout duration // of the HTTP server. It defaults to 3 seconds if left unset. ReadHeaderTimeout time.Duration // ReadTimeout is the HTTP read timeout duration // of the HTTP server. It defaults to 3 seconds if left unset. ReadTimeout time.Duration // ShutdownTimeout is the shutdown timeout duration // of the HTTP server. It defaults to 3 seconds if left unset. ShutdownTimeout time.Duration } func (s *Settings) SetDefaults() { s.Address = gosettings.DefaultComparable(s.Address, ":8000") const defaultReadTimeout = 3 * time.Second s.ReadHeaderTimeout = gosettings.DefaultComparable(s.ReadHeaderTimeout, defaultReadTimeout) s.ReadTimeout = gosettings.DefaultComparable(s.ReadTimeout, defaultReadTimeout) const defaultShutdownTimeout = 3 * time.Second s.ShutdownTimeout = gosettings.DefaultComparable(s.ShutdownTimeout, defaultShutdownTimeout) } func (s Settings) Copy() Settings { return Settings{ Address: s.Address, Handler: s.Handler, Logger: s.Logger, ReadHeaderTimeout: s.ReadHeaderTimeout, ReadTimeout: s.ReadTimeout, ShutdownTimeout: s.ShutdownTimeout, } } func (s *Settings) OverrideWith(other Settings) { s.Address = gosettings.OverrideWithComparable(s.Address, other.Address) s.Handler = gosettings.OverrideWithComparable(s.Handler, other.Handler) if other.Logger != nil { s.Logger = other.Logger } s.ReadHeaderTimeout = gosettings.OverrideWithComparable(s.ReadHeaderTimeout, other.ReadHeaderTimeout) s.ReadTimeout = gosettings.OverrideWithComparable(s.ReadTimeout, other.ReadTimeout) s.ShutdownTimeout = gosettings.OverrideWithComparable(s.ShutdownTimeout, other.ShutdownTimeout) } var ( ErrHandlerIsNotSet = errors.New("HTTP handler cannot be left unset") ErrLoggerIsNotSet = errors.New("logger cannot be left unset") ErrReadHeaderTimeoutTooSmall = errors.New("read header timeout is too small") ErrReadTimeoutTooSmall = errors.New("read timeout is too small") ErrShutdownTimeoutTooSmall = errors.New("shutdown timeout is too small") ) func (s Settings) Validate() (err error) { err = validate.ListeningAddress(s.Address, os.Getuid()) if err != nil { return err } if s.Handler == nil { return fmt.Errorf("%w", ErrHandlerIsNotSet) } if s.Logger == nil { return fmt.Errorf("%w", ErrLoggerIsNotSet) } const minReadTimeout = time.Millisecond if s.ReadHeaderTimeout < minReadTimeout { return fmt.Errorf("%w: %s must be at least %s", ErrReadHeaderTimeoutTooSmall, s.ReadHeaderTimeout, minReadTimeout) } if s.ReadTimeout < minReadTimeout { return fmt.Errorf("%w: %s must be at least %s", ErrReadTimeoutTooSmall, s.ReadTimeout, minReadTimeout) } const minShutdownTimeout = 5 * time.Millisecond if s.ShutdownTimeout < minShutdownTimeout { return fmt.Errorf("%w: %s must be at least %s", ErrShutdownTimeoutTooSmall, s.ShutdownTimeout, minShutdownTimeout) } return nil } func (s Settings) ToLinesNode() (node *gotree.Node) { node = gotree.New("HTTP server settings:") node.Appendf("Listening address: %s", s.Address) node.Appendf("Read header timeout: %s", s.ReadHeaderTimeout) node.Appendf("Read timeout: %s", s.ReadTimeout) node.Appendf("Shutdown timeout: %s", s.ShutdownTimeout) return node } func (s Settings) String() string { return s.ToLinesNode().String() } ================================================ FILE: internal/httpserver/settings_test.go ================================================ package httpserver import ( "net/http" "testing" "time" "github.com/qdm12/gosettings/validate" "github.com/stretchr/testify/assert" ) func Test_Settings_SetDefaults(t *testing.T) { t.Parallel() const defaultTimeout = 3 * time.Second testCases := map[string]struct { settings Settings expected Settings }{ "empty settings": { settings: Settings{}, expected: Settings{ Address: ":8000", ReadHeaderTimeout: defaultTimeout, ReadTimeout: defaultTimeout, ShutdownTimeout: defaultTimeout, }, }, "filled settings": { settings: Settings{ Address: ":8001", ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, expected: Settings{ Address: ":8001", ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() testCase.settings.SetDefaults() assert.Equal(t, testCase.expected, testCase.settings) }) } } func Test_Settings_Copy(t *testing.T) { t.Parallel() someHandler := http.NewServeMux() someLogger := &testLogger{} testCases := map[string]struct { settings Settings expected Settings }{ "empty settings": {}, "filled settings": { settings: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, expected: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() copied := testCase.settings.Copy() assert.Equal(t, testCase.expected, copied) }) } } func Test_Settings_OverrideWith(t *testing.T) { t.Parallel() someHandler := http.NewServeMux() someLogger := &testLogger{} testCases := map[string]struct { settings Settings other Settings expected Settings }{ "override empty with empty": {}, "override empty with filled": { other: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, expected: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, }, "override filled with empty": { settings: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, expected: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, }, "override filled with filled": { settings: Settings{ Address: ":8001", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, other: Settings{ Address: ":8002", ReadHeaderTimeout: time.Hour, ReadTimeout: time.Hour, ShutdownTimeout: time.Hour, }, expected: Settings{ Address: ":8002", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Hour, ReadTimeout: time.Hour, ShutdownTimeout: time.Hour, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() testCase.settings.OverrideWith(testCase.other) assert.Equal(t, testCase.expected, testCase.settings) }) } } func Test_Settings_Validate(t *testing.T) { t.Parallel() someHandler := http.NewServeMux() someLogger := &testLogger{} testCases := map[string]struct { settings Settings errWrapped error errMessage string }{ "bad_address": { settings: Settings{ Address: "address:notanint", }, errWrapped: validate.ErrPortNotAnInteger, errMessage: "port value is not an integer: notanint", }, "nil handler": { settings: Settings{ Address: ":8000", }, errWrapped: ErrHandlerIsNotSet, errMessage: ErrHandlerIsNotSet.Error(), }, "nil logger": { settings: Settings{ Address: ":8000", Handler: someHandler, }, errWrapped: ErrLoggerIsNotSet, errMessage: ErrLoggerIsNotSet.Error(), }, "read header timeout too small": { settings: Settings{ Address: ":8000", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Nanosecond, }, errWrapped: ErrReadHeaderTimeoutTooSmall, errMessage: "read header timeout is too small: 1ns must be at least 1ms", }, "read timeout too small": { settings: Settings{ Address: ":8000", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Millisecond, ReadTimeout: time.Nanosecond, }, errWrapped: ErrReadTimeoutTooSmall, errMessage: "read timeout is too small: 1ns must be at least 1ms", }, "shutdown timeout too small": { settings: Settings{ Address: ":8000", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Millisecond, ReadTimeout: time.Millisecond, ShutdownTimeout: time.Millisecond, }, errWrapped: ErrShutdownTimeoutTooSmall, errMessage: "shutdown timeout is too small: 1ms must be at least 5ms", }, "valid settings": { settings: Settings{ Address: ":8000", Handler: someHandler, Logger: someLogger, ReadHeaderTimeout: time.Millisecond, ReadTimeout: time.Millisecond, ShutdownTimeout: time.Second, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() err := testCase.settings.Validate() assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } }) } } func Test_Settings_String(t *testing.T) { t.Parallel() testCases := map[string]struct { settings Settings s string }{ "all values": { settings: Settings{ Address: ":8000", ReadHeaderTimeout: time.Millisecond, ReadTimeout: time.Millisecond, ShutdownTimeout: time.Second, }, s: `HTTP server settings: ├── Listening address: :8000 ├── Read header timeout: 1ms ├── Read timeout: 1ms └── Shutdown timeout: 1s`, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() s := testCase.settings.String() assert.Equal(t, testCase.s, s) }) } } ================================================ FILE: internal/loopstate/apply.go ================================================ package loopstate import ( "context" "errors" "fmt" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) var ErrInvalidStatus = errors.New("invalid status") // ApplyStatus sends signals to the running loop depending on the // current status and status requested, such that its next status // matches the requested one. It is thread safe and a synchronous call // since it waits to the loop to fully change its status. func (s *State) ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error, ) { // prevent simultaneous loop changes by restricting // multiple ApplyStatus calls to run sequentially. s.loopMu.Lock() defer s.loopMu.Unlock() // not a read lock as we want to modify it eventually in // the code below before any other call. s.statusMu.Lock() existingStatus := s.status switch status { case constants.Running: switch existingStatus { case constants.Stopped, constants.Completed: default: s.statusMu.Unlock() return "already " + existingStatus.String(), nil } s.status = constants.Starting s.statusMu.Unlock() s.start <- struct{}{} // Wait for the loop to react to the start signal newStatus := constants.Starting // for canceled context select { case <-ctx.Done(): case newStatus = <-s.running: } s.SetStatus(newStatus) return newStatus.String(), nil case constants.Stopped: if existingStatus != constants.Running { s.statusMu.Unlock() return "already " + existingStatus.String(), nil } s.status = constants.Stopping s.statusMu.Unlock() s.stop <- struct{}{} // Wait for the loop to react to the stop signal newStatus := constants.Stopping // for canceled context select { case <-ctx.Done(): case <-s.stopped: newStatus = constants.Stopped } s.SetStatus(newStatus) return newStatus.String(), nil default: s.statusMu.Unlock() return "", fmt.Errorf("%w: %s: it can only be one of: %s, %s", ErrInvalidStatus, status, constants.Running, constants.Stopped) } } ================================================ FILE: internal/loopstate/get.go ================================================ package loopstate import "github.com/qdm12/gluetun/internal/models" // GetStatus gets the status thread safely. func (s *State) GetStatus() (status models.LoopStatus) { s.statusMu.RLock() defer s.statusMu.RUnlock() return s.status } ================================================ FILE: internal/loopstate/lock.go ================================================ package loopstate func (s *State) Lock() { s.loopMu.Lock() } func (s *State) Unlock() { s.loopMu.Unlock() } ================================================ FILE: internal/loopstate/set.go ================================================ package loopstate import "github.com/qdm12/gluetun/internal/models" // SetStatus sets the status thread safely. // It should only be called by the loop internal code since // it does not interact with the loop code directly. func (s *State) SetStatus(status models.LoopStatus) { s.statusMu.Lock() defer s.statusMu.Unlock() s.status = status } ================================================ FILE: internal/loopstate/state.go ================================================ package loopstate import ( "sync" "github.com/qdm12/gluetun/internal/models" ) func New(status models.LoopStatus, start chan<- struct{}, running <-chan models.LoopStatus, stop chan<- struct{}, stopped <-chan struct{}, ) *State { return &State{ status: status, start: start, running: running, stop: stop, stopped: stopped, } } type State struct { loopMu sync.RWMutex status models.LoopStatus statusMu sync.RWMutex start chan<- struct{} running <-chan models.LoopStatus stop chan<- struct{} stopped <-chan struct{} } ================================================ FILE: internal/mod/configgz_linux.go ================================================ package mod import ( "bufio" "compress/gzip" "errors" "fmt" "os" "strings" ) var ( errModuleNameUnknown = errors.New("unknown module name") errKernelFeatureIsModule = errors.New("kernel feature is a module, not built-in") errKernelFeatureNotSet = errors.New("kernel feature not set") errKernelFeatureNotFound = errors.New("kernel feature not found") ) // checkProcConfig checks /proc/config.gz for a the kernel feature corresponding // to the given module name. If the kernel feature is found and set to "y", it returns nil. // If the kernel feature is found and set to "m", it returns an error indicating that the kernel // feature is a module, not built-in. // If the kernel feature is found and not set, it returns an error indicating that the kernel // feature is not set. If the kernel feature is not found, it returns an error indicating that the kernel // feature is not found. func checkProcConfig(moduleName string) error { f, err := os.Open("/proc/config.gz") if err != nil { return err } defer f.Close() gz, err := gzip.NewReader(f) if err != nil { return fmt.Errorf("creating gzip reader: %w", err) } defer gz.Close() // If any group of kernel features is satisfied, then the module is considered supported. kernelFeatureGroups, ok := moduleNameToKernelFeatureGroups(moduleName) if !ok { return fmt.Errorf("%w: %s", errModuleNameUnknown, moduleName) } groups := make([]map[string]bool, len(kernelFeatureGroups)) for i, group := range kernelFeatureGroups { featureToOK := make(map[string]bool) for _, feature := range group { featureToOK[feature] = false } groups[i] = featureToOK } scanner := bufio.NewScanner(gz) for scanner.Scan() { line := scanner.Text() for _, featureToOK := range groups { for name, ok := range featureToOK { switch { case ok: case strings.HasPrefix(line, name+"=m"): return fmt.Errorf("%w: %s", errKernelFeatureIsModule, name) case strings.HasPrefix(line, name+"=y"): featureToOK[name] = true if allFeaturesOK(featureToOK) { return nil } case strings.HasPrefix(line, "# "+name+" is not set"): return fmt.Errorf("%w: %s", errKernelFeatureNotSet, name) } } } } return fmt.Errorf("%w: for module name %s", errKernelFeatureNotFound, moduleName) } func moduleNameToKernelFeatureGroups(moduleName string) (featureGroups [][]string, ok bool) { moduleMap := map[string][][]string{ "x_tables": {{"CONFIG_NETFILTER_XTABLES"}}, "nf_tables": {{"CONFIG_NF_TABLES"}}, // Netfilter Matches "xt_conntrack": { {"CONFIG_NETFILTER_XT_MATCH_CONNTRACK"}, {"CONFIG_IP_NF_MATCH_CONNTRACK"}, // old kernels }, "xt_connmark": { {"CONFIG_NETFILTER_XT_CONNMARK"}, {"CONFIG_NETFILTER_XT_MATCH_CONNMARK", "CONFIG_NETFILTER_XT_TARGET_CONNMARK"}, }, "xt_mark": { {"CONFIG_NETFILTER_XT_MARK"}, {"CONFIG_NETFILTER_XT_MATCH_MARK"}, }, "nf_conntrack": {{"CONFIG_NF_CONNTRACK"}}, "nf_conntrack_ipv4": {{"CONFIG_NF_CONNTRACK_IPV4"}}, "nf_conntrack_ipv6": {{"CONFIG_NF_CONNTRACK_IPV6"}}, "nf_conntrack_netlink": {{"CONFIG_NF_CT_NETLINK"}}, // Nftables "nft_compat": {{"CONFIG_NFT_COMPAT"}}, "nft_ct": {{"CONFIG_NFT_CT"}}, "nft_connmark": {{"CONFIG_NFT_CONNMARK"}}, "nft_chain_filter": {{"CONFIG_NFT_CHAIN_FILTER_IPV4"}}, "nft_chain_filter_ipv4": {{"CONFIG_NFT_CHAIN_FILTER_IPV4"}}, "nft_chain_filter_ipv6": {{"CONFIG_NFT_CHAIN_FILTER_IPV6"}}, "nft_chain_mangle_ipv4": {{"CONFIG_NFT_CHAIN_MANGLE_IPV4"}}, "nft_chain_mangle_ipv6": {{"CONFIG_NFT_CHAIN_MANGLE_IPV6"}}, "nft_reject": {{"CONFIG_NFT_REJECT_INET"}, {"CONFIG_NFT_REJECT_IPV4"}}, // Iptables "iptable_filter": {{"CONFIG_IP_NF_FILTER"}}, "ip6table_filter": {{"CONFIG_IP6_NF_FILTER"}}, "ip_tables": {{"CONFIG_IP_NF_IPTABLES"}}, "ip6_tables": {{"CONFIG_IP6_NF_IPTABLES"}}, // Common Netfilter Targets "xt_LOG": {{"CONFIG_NETFILTER_XT_TARGET_LOG"}}, "xt_REJECT": { {"CONFIG_IP_NF_TARGET_REJECT", "CONFIG_NF_REJECT_IPV4"}, {"CONFIG_NETFILTER_XT_TARGET_REJECT", "CONFIG_NF_REJECT_IPV4"}, }, "xt_MASQUERADE": {{"CONFIG_NETFILTER_XT_TARGET_MASQUERADE"}}, // Additional Netfilter Matches "xt_addrtype": {{"CONFIG_NETFILTER_XT_MATCH_ADDRTYPE"}}, "xt_comment": {{"CONFIG_NETFILTER_XT_MATCH_COMMENT"}}, "xt_multiport": {{"CONFIG_NETFILTER_XT_MATCH_MULTIPORT"}}, "xt_state": {{"CONFIG_NETFILTER_XT_MATCH_STATE"}}, "xt_tcpudp": {{"CONFIG_NETFILTER_XT_MATCH_TCPUDP"}}, // Tunneling and Virtualization "tun": {{"CONFIG_TUN"}}, "bridge": {{"CONFIG_BRIDGE"}}, "veth": {{"CONFIG_VETH"}}, "vxlan": {{"CONFIG_VXLAN"}}, "wireguard": {{"CONFIG_WIREGUARD"}}, // Filesystems "overlay": {{"CONFIG_OVERLAY_FS"}}, "fuse": {{"CONFIG_FUSE_FS"}}, } featureGroups, ok = moduleMap[moduleName] return featureGroups, ok } func allFeaturesOK(featureToOK map[string]bool) bool { for _, ok := range featureToOK { if !ok { return false } } return true } ================================================ FILE: internal/mod/info_linux.go ================================================ //go:build !windows package mod import ( "bufio" "errors" "fmt" "os" "path" "path/filepath" "strings" "golang.org/x/sys/unix" ) type state uint8 const ( unloaded state = iota loading loaded builtin ) type moduleInfo struct { state state dependencyPaths []string } var ErrModulesDirectoryNotFound = errors.New("modules directory not found") func getModulesInfo(modulesPath string) (modulesInfo map[string]moduleInfo, err error) { dependencyFilepath := filepath.Join(modulesPath, "modules.dep") dependencyFile, err := os.Open(dependencyFilepath) if err != nil { return nil, fmt.Errorf("opening dependency file: %w", err) } modulesInfo = make(map[string]moduleInfo) scanner := bufio.NewScanner(dependencyFile) for scanner.Scan() { line := scanner.Text() parts := strings.Split(line, ":") path := filepath.Join(modulesPath, strings.TrimSpace(parts[0])) dependenciesString := strings.TrimSpace(parts[1]) if dependenciesString == "" { modulesInfo[path] = moduleInfo{} continue } dependencyNames := strings.Split(dependenciesString, " ") dependencies := make([]string, len(dependencyNames)) for i := range dependencyNames { dependencies[i] = filepath.Join(modulesPath, dependencyNames[i]) } modulesInfo[path] = moduleInfo{dependencyPaths: dependencies} } err = scanner.Err() if err != nil { _ = dependencyFile.Close() return nil, fmt.Errorf("modules dependency file scanning: %w", err) } err = dependencyFile.Close() if err != nil { return nil, fmt.Errorf("closing dependency file: %w", err) } err = getBuiltinModules(modulesPath, modulesInfo) if err != nil { return nil, fmt.Errorf("getting builtin modules: %w", err) } err = getLoadedModules(modulesInfo) if err != nil { return nil, fmt.Errorf("getting loaded modules: %w", err) } return modulesInfo, nil } func getModulesPath() (string, error) { release, err := getReleaseName() if err != nil { return "", fmt.Errorf("getting release name: %w", err) } modulePaths := []string{ filepath.Join("/lib/modules", release), filepath.Join("/usr/lib/modules", release), } for _, modulesPath := range modulePaths { info, err := os.Stat(modulesPath) if err == nil && info.IsDir() { return modulesPath, nil } } return "", fmt.Errorf("%w: %s are not valid existing directories"+ "; have you bind mounted the /lib/modules directory?", ErrModulesDirectoryNotFound, strings.Join(modulePaths, ", ")) } func getReleaseName() (release string, err error) { var utsName unix.Utsname err = unix.Uname(&utsName) if err != nil { return "", fmt.Errorf("getting unix uname release: %w", err) } release = unix.ByteSliceToString(utsName.Release[:]) release = strings.TrimSpace(release) return release, nil } func getBuiltinModules(modulesDirPath string, modulesInfo map[string]moduleInfo) error { file, err := os.Open(filepath.Join(modulesDirPath, "modules.builtin")) if err != nil { if os.IsNotExist(err) { return nil } return fmt.Errorf("opening builtin modules file: %w", err) } scanner := bufio.NewScanner(file) for scanner.Scan() { txt := scanner.Text() path := filepath.Join(modulesDirPath, strings.TrimSpace(txt)) info := modulesInfo[path] info.state = builtin modulesInfo[path] = info } err = scanner.Err() if err != nil { _ = file.Close() return fmt.Errorf("scanning builtin modules file: %w", err) } err = file.Close() if err != nil { return fmt.Errorf("closing builtin modules file: %w", err) } return nil } func getLoadedModules(modulesInfo map[string]moduleInfo) (err error) { file, err := os.Open("/proc/modules") if err != nil { // File cannot be opened, so assume no module is loaded return nil //nolint:nilerr } scanner := bufio.NewScanner(file) for scanner.Scan() { parts := strings.Split(scanner.Text(), " ") name := parts[0] path, err := findModulePath(name, modulesInfo) if err != nil { _ = file.Close() return fmt.Errorf("finding module path: %w", err) } info := modulesInfo[path] info.state = loaded modulesInfo[path] = info } err = scanner.Err() if err != nil { _ = file.Close() return fmt.Errorf("scanning modules: %w", err) } err = file.Close() if err != nil { return fmt.Errorf("closing process modules file: %w", err) } return nil } var ErrModulePathNotFound = errors.New("module path not found") func findModulePath(moduleName string, modulesInfo map[string]moduleInfo) (modulePath string, err error) { // Kernel module names can have underscores or hyphens in their names, // but only one or the other in one particular name. nameHyphensOnly := strings.ReplaceAll(moduleName, "_", "-") nameUnderscoresOnly := strings.ReplaceAll(moduleName, "-", "_") validModuleExtensions := []string{".ko", ".ko.gz", ".ko.xz", ".ko.zst"} const nameVariants = 2 validFilenames := make(map[string]struct{}, nameVariants*len(validModuleExtensions)) for _, ext := range validModuleExtensions { validFilenames[nameHyphensOnly+ext] = struct{}{} validFilenames[nameUnderscoresOnly+ext] = struct{}{} } for modulePath := range modulesInfo { moduleFileName := path.Base(modulePath) _, valid := validFilenames[moduleFileName] if valid { return modulePath, nil } } return "", fmt.Errorf("%w: for %q", ErrModulePathNotFound, moduleName) } ================================================ FILE: internal/mod/load_linux.go ================================================ package mod import ( "errors" "fmt" "io" "os" "path/filepath" "strings" "github.com/klauspost/compress/zstd" "github.com/klauspost/pgzip" "github.com/ulikunitz/xz" "golang.org/x/sys/unix" ) var ( ErrModuleInfoNotFound = errors.New("module info not found") ErrCircularDependency = errors.New("circular dependency") ) func initDependencies(path string, modulesInfo map[string]moduleInfo) (err error) { info, ok := modulesInfo[path] if !ok { return fmt.Errorf("%w: %s", ErrModuleInfoNotFound, path) } switch info.state { case unloaded: case loaded, builtin: return nil case loading: return fmt.Errorf("%w: %s is already in the loading state", ErrCircularDependency, path) } info.state = loading modulesInfo[path] = info for _, dependencyPath := range info.dependencyPaths { err = initDependencies(dependencyPath, modulesInfo) if err != nil { return fmt.Errorf("init dependencies for %s: %w", path, err) } } err = initModule(path) if err != nil { return fmt.Errorf("loading module: %w", err) } info.state = loaded modulesInfo[path] = info return nil } func initModule(path string) (err error) { file, err := os.Open(path) if err != nil { return fmt.Errorf("opening module file: %w", err) } defer func() { _ = file.Close() }() var reader io.Reader switch filepath.Ext(file.Name()) { case ".xz": reader, err = xz.NewReader(file) case ".gz": reader, err = pgzip.NewReader(file) case ".zst": reader, err = zstd.NewReader(file) default: const moduleParams = "" const flags = 0 err = unix.FinitModule(int(file.Fd()), moduleParams, flags) switch { case err == nil, err == unix.EEXIST: //nolint:err113 return nil case err != unix.ENOSYS: //nolint:err113 if strings.HasSuffix(err.Error(), "operation not permitted") { err = fmt.Errorf("%w; did you set the SYS_MODULE capability to your container?", err) } return fmt.Errorf("finit module %s: %w", path, err) case flags != 0: return err // unix.ENOSYS error default: // Fall back to init_module(2). reader = file } } if err != nil { return fmt.Errorf("reading from %s: %w", path, err) } image, err := io.ReadAll(reader) if err != nil { return fmt.Errorf("reading module image from %s: %w", path, err) } err = file.Close() if err != nil { return fmt.Errorf("closing module file %s: %w", path, err) } const params = "" err = unix.InitModule(image, params) switch err { case nil, unix.EEXIST: return nil default: return fmt.Errorf("init module read from %s: %w", path, err) } } ================================================ FILE: internal/mod/probe_linux.go ================================================ package mod import ( "errors" "fmt" ) // Probe is a expanded version of modprobe, in which it checks if the Kernel // built-in features contain the given module name. // It first tries to locate the modules directory in [getModulesPath]. // If it fails (like on WSL), it then only checks for the kernel feature // in /proc/config.gz with [checkProcConfig]. // Otherwise, it then runs the classic [modProbe] behavior, // trying to load the module in the kernel. // If this fails, it does one final try running [checkProcConfig]. func Probe(moduleName string) error { modulesPath, err := getModulesPath() if err != nil { if errors.Is(err, ErrModulesDirectoryNotFound) { err = checkProcConfig(moduleName) if err != nil { return fmt.Errorf("checking /proc/config.gz: %w", err) } return nil } return fmt.Errorf("getting modules path: %w", err) } err = modProbe(modulesPath, moduleName) if err != nil { err = checkProcConfig(moduleName) if err != nil { return fmt.Errorf("checking /proc/config.gz: %w", err) } } return nil } // modProbe is the classic modprobe behavior. func modProbe(modulesPath, moduleName string) error { modulesInfo, err := getModulesInfo(modulesPath) if err != nil { return fmt.Errorf("getting modules information: %w", err) } modulePath, err := findModulePath(moduleName, modulesInfo) if err != nil { return fmt.Errorf("finding module path: %w", err) } info := modulesInfo[modulePath] if info.state == builtin || info.state == loaded { return nil } info.state = loading for _, dependencyModulePath := range info.dependencyPaths { err = initDependencies(dependencyModulePath, modulesInfo) if err != nil { return fmt.Errorf("init dependencies: %w", err) } } err = initModule(modulePath) if err != nil { return fmt.Errorf("init module: %w", err) } return nil } ================================================ FILE: internal/mod/probe_unspecified.go ================================================ //go:build !linux package mod func Probe(moduleName string) error { panic("not implemented") } ================================================ FILE: internal/models/alias.go ================================================ package models type ( // LoopStatus status such as stopped or running. LoopStatus string ) func (ls LoopStatus) String() string { return string(ls) } ================================================ FILE: internal/models/build.go ================================================ package models type BuildInformation struct { Version string `json:"version"` Commit string `json:"commit"` Created string `json:"created"` } ================================================ FILE: internal/models/connection.go ================================================ package models import ( "net/netip" ) type Connection struct { // Type is the connection type and can be "openvpn" or "wireguard" Type string `json:"type"` // IP is the VPN server IP address. IP netip.Addr `json:"ip"` // Port is the VPN server port. Port uint16 `json:"port"` // Protocol can be "tcp" or "udp". Protocol string `json:"protocol"` // Hostname is used for IPVanish, IVPN, Privado // and Windscribe for TLS verification. Hostname string `json:"hostname"` // PubKey is the public key of the VPN server, // used only for Wireguard. PubKey string `json:"pubkey"` // ServerName is used for PIA for port forwarding ServerName string `json:"server_name,omitempty"` // PortForward is used for PIA and ProtonVPN for port forwarding PortForward bool `json:"port_forward"` } func (c *Connection) Equal(other Connection) bool { return c.IP.Compare(other.IP) == 0 && c.Port == other.Port && c.Protocol == other.Protocol && c.Hostname == other.Hostname && c.PubKey == other.PubKey && c.ServerName == other.ServerName && c.PortForward == other.PortForward } // UpdateEmptyWith updates each field of the connection where the // value is not set using the value given as arguments. func (c *Connection) UpdateEmptyWith(ip netip.Addr, port uint16, protocol string) { if !c.IP.IsValid() { c.IP = ip } if c.Port == 0 { c.Port = port } if c.Protocol == "" { c.Protocol = protocol } } ================================================ FILE: internal/models/filters.go ================================================ package models type FilterChoices struct { Countries []string Regions []string Cities []string Categories []string ISPs []string Names []string Hostnames []string } ================================================ FILE: internal/models/markdown.go ================================================ package models import ( "errors" "fmt" "strings" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" ) func boolToMarkdown(b bool) string { if b { return "✅" } return "❌" } func markdownTableHeading(legendFields ...string) (markdown string) { return "| " + strings.Join(legendFields, " | ") + " |\n" + "|" + strings.Repeat(" --- |", len(legendFields)) } const ( categoriesHeader = "Categories" cityHeader = "City" countryHeader = "Country" freeHeader = "Free" hostnameHeader = "Hostname" ispHeader = "ISP" multiHopHeader = "MultiHop" nameHeader = "Name" numberHeader = "Number" ownedHeader = "Owned" portForwardHeader = "Port forwarding" premiumHeader = "Premium" regionHeader = "Region" secureHeader = "Secure" streamHeader = "Stream" tcpHeader = "TCP" torHeader = "Tor" udpHeader = "UDP" vpnHeader = "VPN" ) func (s *Server) ToMarkdown(headers ...string) (markdown string) { if len(headers) == 0 { return "" } fields := make([]string, len(headers)) for i, header := range headers { switch header { case cityHeader: fields[i] = s.City case countryHeader: fields[i] = s.Country case categoriesHeader: fields[i] = strings.Join(s.Categories, ", ") case freeHeader: fields[i] = boolToMarkdown(s.Free) case hostnameHeader: fields[i] = fmt.Sprintf("`%s`", s.Hostname) case ispHeader: fields[i] = s.ISP case multiHopHeader: fields[i] = boolToMarkdown(s.MultiHop) case nameHeader: fields[i] = s.ServerName case numberHeader: fields[i] = fmt.Sprint(s.Number) case ownedHeader: fields[i] = boolToMarkdown(s.Owned) case portForwardHeader: fields[i] = boolToMarkdown(s.PortForward) case premiumHeader: fields[i] = boolToMarkdown(s.Premium) case regionHeader: fields[i] = s.Region case streamHeader: fields[i] = boolToMarkdown(s.Stream) case tcpHeader: fields[i] = boolToMarkdown(s.TCP) case udpHeader: fields[i] = boolToMarkdown(s.UDP || s.VPN == vpn.Wireguard) case vpnHeader: fields[i] = s.VPN } } return "| " + strings.Join(fields, " | ") + " |" } func (s *Servers) toMarkdown(vpnProvider string) (formatted string, err error) { headers, err := getMarkdownHeaders(vpnProvider) if err != nil { return "", fmt.Errorf("getting markdown headers: %w", err) } legend := markdownTableHeading(headers...) entries := make([]string, len(s.Servers)) for i, server := range s.Servers { entries[i] = server.ToMarkdown(headers...) } formatted = legend + "\n" + strings.Join(entries, "\n") + "\n" return formatted, nil } var ErrMarkdownHeadersNotDefined = errors.New("markdown headers not defined") func getMarkdownHeaders(vpnProvider string) (headers []string, err error) { switch vpnProvider { case providers.Airvpn: return []string{ regionHeader, countryHeader, cityHeader, vpnHeader, udpHeader, tcpHeader, hostnameHeader, nameHeader, }, nil case providers.Cyberghost: return []string{countryHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.Expressvpn: return []string{countryHeader, cityHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.Fastestvpn: return []string{countryHeader, hostnameHeader, vpnHeader, tcpHeader, udpHeader}, nil case providers.Giganews: return []string{regionHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.HideMyAss: return []string{countryHeader, regionHeader, cityHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.Ipvanish: return []string{countryHeader, cityHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.Ivpn: return []string{countryHeader, cityHeader, ispHeader, hostnameHeader, vpnHeader, tcpHeader, udpHeader}, nil case providers.Mullvad: return []string{countryHeader, cityHeader, ispHeader, ownedHeader, hostnameHeader, vpnHeader}, nil case providers.Nordvpn: return []string{countryHeader, regionHeader, cityHeader, hostnameHeader, vpnHeader, categoriesHeader}, nil case providers.Perfectprivacy: return []string{cityHeader, tcpHeader, udpHeader}, nil case providers.Privado: return []string{countryHeader, regionHeader, cityHeader, hostnameHeader}, nil case providers.PrivateInternetAccess: return []string{regionHeader, hostnameHeader, nameHeader, tcpHeader, udpHeader, portForwardHeader}, nil case providers.Privatevpn: return []string{countryHeader, cityHeader, hostnameHeader}, nil case providers.Protonvpn: return []string{ countryHeader, regionHeader, cityHeader, hostnameHeader, vpnHeader, freeHeader, portForwardHeader, secureHeader, torHeader, }, nil case providers.Purevpn: return []string{countryHeader, regionHeader, cityHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.SlickVPN: return []string{regionHeader, countryHeader, cityHeader, hostnameHeader}, nil case providers.Surfshark: return []string{ regionHeader, countryHeader, cityHeader, hostnameHeader, vpnHeader, multiHopHeader, tcpHeader, udpHeader, }, nil case providers.Torguard: return []string{countryHeader, cityHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.VPNSecure: return []string{regionHeader, cityHeader, hostnameHeader, premiumHeader}, nil case providers.VPNUnlimited: return []string{countryHeader, cityHeader, hostnameHeader, freeHeader, streamHeader, tcpHeader, udpHeader}, nil case providers.Vyprvpn: return []string{regionHeader, hostnameHeader, tcpHeader, udpHeader}, nil case providers.Windscribe: return []string{regionHeader, cityHeader, hostnameHeader, vpnHeader}, nil default: return nil, fmt.Errorf("%w: for %s", ErrMarkdownHeadersNotDefined, vpnProvider) } } ================================================ FILE: internal/models/markdown_test.go ================================================ package models import ( "testing" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/stretchr/testify/assert" ) func Test_Servers_ToMarkdown(t *testing.T) { t.Parallel() testCases := map[string]struct { provider string servers Servers formatted string errWrapped error errMessage string }{ "unsupported_provider": { provider: "unsupported", errWrapped: ErrMarkdownHeadersNotDefined, errMessage: "getting markdown headers: markdown headers not defined: for unsupported", }, providers.Cyberghost: { provider: providers.Cyberghost, servers: Servers{ Servers: []Server{ {Country: "a", UDP: true, Hostname: "xa"}, {Country: "b", TCP: true, Hostname: "xb"}, }, }, formatted: "| Country | Hostname | TCP | UDP |\n" + "| --- | --- | --- | --- |\n" + "| a | `xa` | ❌ | ✅ |\n" + "| b | `xb` | ✅ | ❌ |\n", }, providers.Fastestvpn: { provider: providers.Fastestvpn, servers: Servers{ Servers: []Server{ {Country: "a", Hostname: "xa", VPN: vpn.OpenVPN, TCP: true}, {Country: "b", Hostname: "xb", VPN: vpn.OpenVPN, UDP: true}, }, }, formatted: "| Country | Hostname | VPN | TCP | UDP |\n" + "| --- | --- | --- | --- | --- |\n" + "| a | `xa` | openvpn | ✅ | ❌ |\n" + "| b | `xb` | openvpn | ❌ | ✅ |\n", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() markdown, err := testCase.servers.toMarkdown(testCase.provider) assert.Equal(t, testCase.formatted, markdown) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/models/publicip.go ================================================ package models import ( "net/netip" ) type PublicIP struct { IP netip.Addr `json:"public_ip"` Region string `json:"region,omitempty"` Country string `json:"country,omitempty"` City string `json:"city,omitempty"` Hostname string `json:"hostname,omitempty"` Location string `json:"location,omitempty"` Organization string `json:"organization,omitempty"` PostalCode string `json:"postal_code,omitempty"` Timezone string `json:"timezone,omitempty"` } func (p *PublicIP) Copy() (publicIPCopy PublicIP) { publicIPCopy = PublicIP{ IP: p.IP, Region: p.Region, Country: p.Country, City: p.City, Hostname: p.Hostname, Location: p.Location, Organization: p.Organization, PostalCode: p.PostalCode, Timezone: p.Timezone, } return publicIPCopy } ================================================ FILE: internal/models/server.go ================================================ package models import ( "errors" "fmt" "net/netip" "reflect" "strings" "github.com/qdm12/gluetun/internal/constants/vpn" ) type Server struct { VPN string `json:"vpn,omitempty"` // Surfshark: country is also used for multi-hop Country string `json:"country,omitempty"` Region string `json:"region,omitempty"` City string `json:"city,omitempty"` ISP string `json:"isp,omitempty"` Categories []string `json:"categories,omitempty"` Owned bool `json:"owned,omitempty"` Number uint16 `json:"number,omitempty"` ServerName string `json:"server_name,omitempty"` Hostname string `json:"hostname,omitempty"` TCP bool `json:"tcp,omitempty"` UDP bool `json:"udp,omitempty"` OvpnX509 string `json:"x509,omitempty"` RetroLoc string `json:"retroloc,omitempty"` // TODO remove in v4 MultiHop bool `json:"multihop,omitempty"` WgPubKey string `json:"wgpubkey,omitempty"` Free bool `json:"free,omitempty"` // TODO v4 create a SubscriptionTier struct Premium bool `json:"premium,omitempty"` Stream bool `json:"stream,omitempty"` // TODO v4 create a Features struct SecureCore bool `json:"secure_core,omitempty"` Tor bool `json:"tor,omitempty"` PortForward bool `json:"port_forward,omitempty"` Keep bool `json:"keep,omitempty"` IPs []netip.Addr `json:"ips,omitempty"` } var ( ErrVPNFieldEmpty = errors.New("vpn field is empty") ErrHostnameFieldEmpty = errors.New("hostname field is empty") ErrIPsFieldEmpty = errors.New("ips field is empty") ErrNoNetworkProtocol = errors.New("both TCP and UDP fields are false for OpenVPN") ErrNetworkProtocolSet = errors.New("no network protocol should be set") ErrWireguardPublicKeyEmpty = errors.New("wireguard public key field is empty") ) func (s *Server) HasMinimumInformation() (err error) { switch { case s.VPN == "": return fmt.Errorf("%w", ErrVPNFieldEmpty) case len(s.IPs) == 0: return fmt.Errorf("%w", ErrIPsFieldEmpty) case s.VPN == vpn.Wireguard && (s.TCP || s.UDP): return fmt.Errorf("%w", ErrNetworkProtocolSet) case s.VPN == vpn.OpenVPN && !s.TCP && !s.UDP: return fmt.Errorf("%w", ErrNoNetworkProtocol) case s.VPN == vpn.Wireguard && s.WgPubKey == "": return fmt.Errorf("%w", ErrWireguardPublicKeyEmpty) default: return nil } } func (s *Server) Equal(other Server) (equal bool) { if !ipsAreEqual(s.IPs, other.IPs) { return false } serverCopy := *s serverCopy.IPs = nil other.IPs = nil return reflect.DeepEqual(serverCopy, other) } func ipsAreEqual(a, b []netip.Addr) (equal bool) { if len(a) != len(b) { return false } for i := range a { if a[i].Compare(b[i]) != 0 { return false } } return true } func (s *Server) Key() (key string) { var protocols []string if s.TCP { protocols = append(protocols, "tcp") } if s.UDP { protocols = append(protocols, "udp") } return fmt.Sprintf("%s-%s-%s", s.VPN, strings.Join(protocols, "-"), s.Hostname) } ================================================ FILE: internal/models/server_test.go ================================================ package models import ( "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_Server_Equal(t *testing.T) { t.Parallel() testCases := map[string]struct { a *Server b Server equal bool }{ "same IPs": { a: &Server{ IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, b: Server{ IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, equal: true, }, "same IP strings": { a: &Server{ IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, b: Server{ IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, equal: true, }, "different IPs": { a: &Server{ IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4}), netip.AddrFrom4([4]byte{2, 3, 4, 5})}, }, b: Server{ IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4}), netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, }, "all fields equal": { a: &Server{ VPN: "vpn", Country: "country", Region: "region", City: "city", ISP: "isp", Owned: true, Number: 1, ServerName: "server_name", Hostname: "hostname", TCP: true, UDP: true, OvpnX509: "x509", RetroLoc: "retroloc", MultiHop: true, WgPubKey: "wgpubkey", Free: true, Stream: true, SecureCore: true, Tor: true, PortForward: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, Keep: true, }, b: Server{ VPN: "vpn", Country: "country", Region: "region", City: "city", ISP: "isp", Owned: true, Number: 1, ServerName: "server_name", Hostname: "hostname", TCP: true, UDP: true, OvpnX509: "x509", RetroLoc: "retroloc", MultiHop: true, WgPubKey: "wgpubkey", Free: true, Stream: true, SecureCore: true, Tor: true, PortForward: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, Keep: true, }, equal: true, }, "different field": { a: &Server{ VPN: "vpn", }, b: Server{ VPN: "other vpn", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ipsOfANotNil := testCase.a.IPs != nil ipsOfBNotNil := testCase.b.IPs != nil equal := testCase.a.Equal(testCase.b) assert.Equal(t, testCase.equal, equal) // Ensure IPs field is not modified if ipsOfANotNil { assert.NotNil(t, testCase.a) } if ipsOfBNotNil { assert.NotNil(t, testCase.b) } }) } } ================================================ FILE: internal/models/servers.go ================================================ package models import ( "bytes" "encoding/json" "errors" "fmt" "math" "reflect" "sort" "github.com/qdm12/gluetun/internal/constants/providers" ) type AllServers struct { Version uint16 // used for migration of the top level scheme ProviderToServers map[string]Servers } var _ json.Marshaler = (*AllServers)(nil) // MarshalJSON marshals all servers to JSON. // Note you need to use a pointer to all servers // for it to work with native json methods such as // json.Marshal. func (a *AllServers) MarshalJSON() (data []byte, err error) { buffer := bytes.NewBuffer(nil) _, err = buffer.WriteString("{") if err != nil { return nil, fmt.Errorf("writing opening bracket: %w", err) } versionString := fmt.Sprintf(`"version":%d`, a.Version) _, err = buffer.WriteString(versionString) if err != nil { return nil, fmt.Errorf("writing schema version string: %w", err) } sortedProviders := make(sort.StringSlice, 0, len(a.ProviderToServers)) for provider := range a.ProviderToServers { sortedProviders = append(sortedProviders, provider) } sortedProviders.Sort() for _, provider := range sortedProviders { providerKey := fmt.Sprintf(`,"%s":`, provider) _, err = buffer.WriteString(providerKey) if err != nil { return nil, fmt.Errorf("writing provider key %s: %w", providerKey, err) } servers := a.ProviderToServers[provider] serversJSON, err := json.Marshal(servers) if err != nil { return nil, fmt.Errorf("encoding servers for provider %s: %w", provider, err) } _, err = buffer.Write(serversJSON) if err != nil { return nil, fmt.Errorf("writing JSON servers data for provider %s: %w", provider, err) } } _, err = buffer.WriteString("}") if err != nil { return nil, fmt.Errorf("writing closing bracket: %w", err) } return buffer.Bytes(), nil } var _ json.Unmarshaler = (*AllServers)(nil) func (a *AllServers) UnmarshalJSON(data []byte) (err error) { keyValues := make(map[string]interface{}) err = json.Unmarshal(data, &keyValues) if err != nil { return err } versionUnmarshaled := keyValues["version"] if versionUnmarshaled != nil { // defaults to 0 version, ok := versionUnmarshaled.(float64) if !ok { return &json.UnmarshalTypeError{ Value: fmt.Sprintf("number %v", versionUnmarshaled), Type: reflect.TypeOf(uint16(0)), Struct: "models.AllServers", Field: "Version", } } if math.Round(version) != version || version < 0 || version > float64(^uint16(0)) { return &json.UnmarshalTypeError{ Value: fmt.Sprintf("number %v", version), Type: reflect.TypeOf(uint16(0)), Struct: "models.AllServers", Field: "Version", } } a.Version = uint16(version) delete(keyValues, "version") } if len(keyValues) == 0 { return nil } a.ProviderToServers = make(map[string]Servers, len(keyValues)) allProviders := providers.All() allProvidersSet := make(map[string]struct{}, len(allProviders)) for _, provider := range allProviders { allProvidersSet[provider] = struct{}{} } for key, value := range keyValues { if _, ok := allProvidersSet[key]; !ok { // not a provider known by Gluetun // or a non-servers field. continue } jsonValue, err := json.Marshal(value) if err != nil { return fmt.Errorf("encoding %s servers: %w", key, err) } var servers Servers err = json.Unmarshal(jsonValue, &servers) if err != nil { return fmt.Errorf("decoding %s servers: %w", key, err) } a.ProviderToServers[key] = servers } return nil } func (a *AllServers) Count() (count int) { for _, servers := range a.ProviderToServers { count += len(servers.Servers) } return count } type Servers struct { Version uint16 `json:"version"` Timestamp int64 `json:"timestamp"` Servers []Server `json:"servers,omitempty"` } var ErrServersFormatNotSupported = errors.New("servers format not supported") func (s *Servers) Format(vpnProvider, format string) (formatted string, err error) { switch format { case "markdown": return s.toMarkdown(vpnProvider) case "json": return s.toJSON() default: return "", fmt.Errorf("%w: %s", ErrServersFormatNotSupported, format) } } func (s *Servers) toJSON() (formatted string, err error) { buffer := bytes.NewBuffer(nil) encoder := json.NewEncoder(buffer) encoder.SetIndent("", " ") err = encoder.Encode(s.Servers) if err != nil { return "", fmt.Errorf("encoding servers: %w", err) } return buffer.String(), nil } ================================================ FILE: internal/models/servers_test.go ================================================ package models import ( "bytes" "encoding/json" "testing" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_AllServers_MarshalJSON(t *testing.T) { t.Parallel() testCases := map[string]struct { allServers *AllServers dataString string errWrapped error errMessage string }{ "no provider": { allServers: &AllServers{ ProviderToServers: map[string]Servers{}, }, dataString: `{"version":0}`, }, "two providers": { allServers: &AllServers{ Version: 1, ProviderToServers: map[string]Servers{ providers.Cyberghost: { Version: 1, Timestamp: 1000, Servers: []Server{ {Country: "A"}, {Country: "B"}, }, }, providers.Privado: { Version: 2, Timestamp: 2000, Servers: []Server{ {City: "C"}, {City: "D"}, }, }, }, }, dataString: `{"version":1,` + `"cyberghost":{"version":1,"timestamp":1000,"servers":[{"country":"A"},{"country":"B"}]},` + `"privado":{"version":2,"timestamp":2000,"servers":[{"city":"C"},{"city":"D"}]}}`, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() data, err := testCase.allServers.MarshalJSON() assert.ErrorIs(t, err, testCase.errWrapped) if err != nil { assert.EqualError(t, err, testCase.errMessage) } require.Equal(t, testCase.dataString, string(data)) data, err = json.Marshal(testCase.allServers) assert.ErrorIs(t, err, testCase.errWrapped) if err != nil { assert.EqualError(t, err, testCase.errMessage) } require.Equal(t, testCase.dataString, string(data)) buffer := bytes.NewBuffer(nil) encoder := json.NewEncoder(buffer) // encoder.SetIndent("", " ") err = encoder.Encode(testCase.allServers) require.NoError(t, err) assert.Equal(t, testCase.dataString+"\n", buffer.String()) }) } } func Test_AllServers_UnmarshalJSON(t *testing.T) { t.Parallel() testCases := map[string]struct { dataString string allServers AllServers errWrapped error errMessage string }{ "empty": { dataString: "{}", allServers: AllServers{}, }, "two known providers": { dataString: `{"version":1,` + `"cyberghost":{"version":1,"timestamp":1000,"servers":[{"country":"A"},{"country":"B"}]},` + `"privado":{"version":2,"timestamp":2000,"servers":[{"city":"C"},{"city":"D"}]}}`, allServers: AllServers{ Version: 1, ProviderToServers: map[string]Servers{ providers.Cyberghost: { Version: 1, Timestamp: 1000, Servers: []Server{ {Country: "A"}, {Country: "B"}, }, }, providers.Privado: { Version: 2, Timestamp: 2000, Servers: []Server{ {City: "C"}, {City: "D"}, }, }, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() data := []byte(testCase.dataString) var allServers AllServers err := json.Unmarshal(data, &allServers) assert.ErrorIs(t, err, testCase.errWrapped) if err != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.allServers, allServers) }) } } func Test_AllServers_JSON_Marshal_Unmarshal(t *testing.T) { t.Parallel() allServers := &AllServers{ Version: 1, ProviderToServers: map[string]Servers{ providers.Cyberghost: { Version: 1, Timestamp: 1000, Servers: []Server{ {Country: "A"}, {Country: "B"}, }, }, providers.Privado: { Version: 2, Timestamp: 2000, Servers: []Server{ {City: "C"}, {City: "D"}, }, }, }, } buffer := bytes.NewBuffer(nil) encoder := json.NewEncoder(buffer) encoder.SetIndent("", " ") err := encoder.Encode(allServers) require.NoError(t, err) decoder := json.NewDecoder(buffer) var result AllServers err = decoder.Decode(&result) require.NoError(t, err) assert.Equal(t, allServers, &result) } ================================================ FILE: internal/models/sort.go ================================================ package models import "sort" var _ sort.Interface = (*SortableServers)(nil) type SortableServers []Server func (s SortableServers) Len() int { return len(s) } func (s SortableServers) Swap(i, j int) { s[i], s[j] = s[j], s[i] } func (s SortableServers) Less(i, j int) bool { a, b := s[i], s[j] if a.Country == b.Country { //nolint:nestif if a.Region == b.Region { if a.City == b.City { if a.ServerName == b.ServerName { if a.Number == b.Number { if a.Hostname == b.Hostname { if a.ISP == b.ISP { return a.VPN < b.VPN } return a.ISP < b.ISP } return a.Hostname < b.Hostname } return a.Number < b.Number } return a.ServerName < b.ServerName } return a.City < b.City } return a.Region < b.Region } return a.Country < b.Country } ================================================ FILE: internal/natpmp/checks.go ================================================ package natpmp import ( "encoding/binary" "errors" "fmt" ) var ErrRequestSizeTooSmall = errors.New("message size is too small") func checkRequest(request []byte) (err error) { const minMessageSize = 2 // version number + operation code if len(request) < minMessageSize { return fmt.Errorf("%w: need at least %d bytes and got %d byte(s)", ErrRequestSizeTooSmall, minMessageSize, len(request)) } return nil } var ( ErrResponseSizeTooSmall = errors.New("response size is too small") ErrResponseSizeUnexpected = errors.New("response size is unexpected") ErrProtocolVersionUnknown = errors.New("protocol version is unknown") ErrOperationCodeUnexpected = errors.New("operation code is unexpected") ) func checkResponse(response []byte, expectedOperationCode byte, expectedResponseSize uint, ) (err error) { const minResponseSize = 4 if len(response) < minResponseSize { return fmt.Errorf("%w: need at least %d bytes and got %d byte(s)", ErrResponseSizeTooSmall, minResponseSize, len(response)) } if uint(len(response)) != expectedResponseSize { return fmt.Errorf("%w: expected %d bytes and got %d byte(s)", ErrResponseSizeUnexpected, expectedResponseSize, len(response)) } protocolVersion := response[0] if protocolVersion != 0 { return fmt.Errorf("%w: %d", ErrProtocolVersionUnknown, protocolVersion) } operationCode := response[1] if operationCode != expectedOperationCode { return fmt.Errorf("%w: expected 0x%x and got 0x%x", ErrOperationCodeUnexpected, expectedOperationCode, operationCode) } resultCode := binary.BigEndian.Uint16(response[2:4]) err = checkResultCode(resultCode) if err != nil { return fmt.Errorf("result code: %w", err) } return nil } var ( ErrVersionNotSupported = errors.New("version is not supported") ErrNotAuthorized = errors.New("not authorized") ErrNetworkFailure = errors.New("network failure") ErrOutOfResources = errors.New("out of resources") ErrOperationCodeNotSupported = errors.New("operation code is not supported") ErrResultCodeUnknown = errors.New("result code is unknown") ) // checkResultCode checks the result code and returns an error // if the result code is not a success (0). // See https://www.ietf.org/rfc/rfc6886.html#section-3.5 // //nolint:mnd func checkResultCode(resultCode uint16) (err error) { switch resultCode { case 0: return nil case 1: return fmt.Errorf("%w", ErrVersionNotSupported) case 2: return fmt.Errorf("%w", ErrNotAuthorized) case 3: return fmt.Errorf("%w", ErrNetworkFailure) case 4: return fmt.Errorf("%w", ErrOutOfResources) case 5: return fmt.Errorf("%w", ErrOperationCodeNotSupported) default: return fmt.Errorf("%w: %d", ErrResultCodeUnknown, resultCode) } } ================================================ FILE: internal/natpmp/checks_test.go ================================================ package natpmp import ( "testing" "github.com/stretchr/testify/assert" ) func Test_checkRequest(t *testing.T) { t.Parallel() testCases := map[string]struct { request []byte err error errMessage string }{ "too_short": { request: []byte{1}, err: ErrRequestSizeTooSmall, errMessage: "message size is too small: need at least 2 bytes and got 1 byte(s)", }, "success": { request: []byte{0, 0}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() err := checkRequest(testCase.request) assert.ErrorIs(t, err, testCase.err) if testCase.err != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } func Test_checkResponse(t *testing.T) { t.Parallel() testCases := map[string]struct { response []byte expectedOperationCode byte expectedResponseSize uint err error errMessage string }{ "too_short": { response: []byte{1}, err: ErrResponseSizeTooSmall, errMessage: "response size is too small: need at least 4 bytes and got 1 byte(s)", }, "size_mismatch": { response: []byte{0, 0, 0, 0}, expectedResponseSize: 5, err: ErrResponseSizeUnexpected, errMessage: "response size is unexpected: expected 5 bytes and got 4 byte(s)", }, "protocol_unknown": { response: []byte{1, 0, 0, 0}, expectedResponseSize: 4, err: ErrProtocolVersionUnknown, errMessage: "protocol version is unknown: 1", }, "operation_code_unexpected": { response: []byte{0, 2, 0, 0}, expectedOperationCode: 1, expectedResponseSize: 4, err: ErrOperationCodeUnexpected, errMessage: "operation code is unexpected: expected 0x1 and got 0x2", }, "result_code_failure": { response: []byte{0, 1, 0, 1}, expectedOperationCode: 1, expectedResponseSize: 4, err: ErrVersionNotSupported, errMessage: "result code: version is not supported", }, "success": { response: []byte{0, 1, 0, 0}, expectedOperationCode: 1, expectedResponseSize: 4, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() err := checkResponse(testCase.response, testCase.expectedOperationCode, testCase.expectedResponseSize) assert.ErrorIs(t, err, testCase.err) if testCase.err != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } func Test_checkResultCode(t *testing.T) { t.Parallel() testCases := map[string]struct { resultCode uint16 err error errMessage string }{ "success": {}, "version_unsupported": { resultCode: 1, err: ErrVersionNotSupported, errMessage: "version is not supported", }, "not_authorized": { resultCode: 2, err: ErrNotAuthorized, errMessage: "not authorized", }, "network_failure": { resultCode: 3, err: ErrNetworkFailure, errMessage: "network failure", }, "out_of_resources": { resultCode: 4, err: ErrOutOfResources, errMessage: "out of resources", }, "unsupported_operation_code": { resultCode: 5, err: ErrOperationCodeNotSupported, errMessage: "operation code is not supported", }, "unknown": { resultCode: 6, err: ErrResultCodeUnknown, errMessage: "result code is unknown: 6", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() err := checkResultCode(testCase.resultCode) assert.ErrorIs(t, err, testCase.err) if testCase.err != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/natpmp/externaladdress.go ================================================ package natpmp import ( "context" "encoding/binary" "fmt" "net/netip" "time" ) // ExternalAddress fetches the duration since the start of epoch and the external // IPv4 address of the gateway. // See https://www.ietf.org/rfc/rfc6886.html#section-3.2 func (c *Client) ExternalAddress(ctx context.Context, gateway netip.Addr) ( durationSinceStartOfEpoch time.Duration, externalIPv4Address netip.Addr, err error, ) { request := []byte{0, 0} // version 0, operationCode 0 const responseSize = 12 response, err := c.rpc(ctx, gateway, request, responseSize) if err != nil { return 0, externalIPv4Address, fmt.Errorf("executing remote procedure call: %w", err) } secondsSinceStartOfEpoch := binary.BigEndian.Uint32(response[4:8]) durationSinceStartOfEpoch = time.Duration(secondsSinceStartOfEpoch) * time.Second externalIPv4Address = netip.AddrFrom4([4]byte{response[8], response[9], response[10], response[11]}) return durationSinceStartOfEpoch, externalIPv4Address, nil } ================================================ FILE: internal/natpmp/externaladdress_test.go ================================================ package natpmp import ( "context" "net" "net/netip" "testing" "time" "github.com/stretchr/testify/assert" ) func Test_Client_ExternalAddress(t *testing.T) { t.Parallel() canceledCtx, cancel := context.WithCancel(context.Background()) cancel() testCases := map[string]struct { ctx context.Context gateway netip.Addr initialConnDuration time.Duration exchanges []udpExchange durationSinceStartOfEpoch time.Duration externalIPv4Address netip.Addr err error errMessageRegex string }{ "failure": { ctx: canceledCtx, gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), initialConnDuration: initialConnectionDuration, err: net.ErrClosed, errMessageRegex: "executing remote procedure call: setting connection deadline: " + "set udp 127.0.0.1:[1-9][0-9]{1,4}: use of closed network connection", }, "success": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), initialConnDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0, 0}, response: []byte{0x0, 0x80, 0x0, 0x0, 0x0, 0x13, 0xf2, 0x4f, 0x49, 0x8c, 0x36, 0x9a}, }}, durationSinceStartOfEpoch: time.Duration(0x13f24f) * time.Second, externalIPv4Address: netip.AddrFrom4([4]byte{0x49, 0x8c, 0x36, 0x9a}), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() remoteAddress := launchUDPServer(t, testCase.exchanges) client := Client{ serverPort: uint16(remoteAddress.Port), //nolint:gosec initialConnectionDuration: testCase.initialConnDuration, maxRetries: 1, } durationSinceStartOfEpoch, externalIPv4Address, err := client.ExternalAddress(testCase.ctx, testCase.gateway) assert.ErrorIs(t, err, testCase.err) if testCase.err != nil { assert.Regexp(t, testCase.errMessageRegex, err.Error()) } assert.Equal(t, testCase.durationSinceStartOfEpoch, durationSinceStartOfEpoch) assert.Equal(t, testCase.externalIPv4Address, externalIPv4Address) }) } } ================================================ FILE: internal/natpmp/helpers_test.go ================================================ package natpmp import ( "errors" "net" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) // enough for slow machines for local UDP server. const initialConnectionDuration = 3 * time.Second type udpExchange struct { request []byte response []byte close bool // to trigger a client error } // launchUDPServer launches an UDP server which will expect // the requests precised in each of the given exchanges, // and respond the given corresponding response. // The server shuts down gracefully at the end of the test. // The remote address (127.0.0.1:port) is returned, where // port is dynamically assigned by the OS so calling tests // can run in parallel. func launchUDPServer(t *testing.T, exchanges []udpExchange) ( remoteAddress *net.UDPAddr, ) { t.Helper() conn, err := net.ListenUDP("udp", nil) require.NoError(t, err) listeningAddress, ok := conn.LocalAddr().(*net.UDPAddr) require.True(t, ok, "listening address is not UDP") remoteAddress = &net.UDPAddr{ IP: net.IPv4(127, 0, 0, 1), Port: listeningAddress.Port, } done := make(chan struct{}) t.Cleanup(func() { err := conn.Close() if !errors.Is(err, net.ErrClosed) { assert.NoError(t, err) } <-done }) var maxBufferSize int for _, exchange := range exchanges { if len(exchange.request) > maxBufferSize { maxBufferSize = len(exchange.request) } } buffer := make([]byte, maxBufferSize) ready := make(chan struct{}) go func() { defer close(done) close(ready) for _, exchange := range exchanges { n, clientAddress, err := conn.ReadFromUDP(buffer) if errors.Is(err, net.ErrClosed) { t.Error("at least one exchange is missing") return } require.NoError(t, err) assert.Equal(t, len(exchange.request), n, "request message size is unexpected") if n > 0 { assert.Equal(t, exchange.request, buffer[:n], "request message is unexpected") } if exchange.close { err = conn.Close() if !errors.Is(err, net.ErrClosed) { // connection might be already closed by client production code assert.NoError(t, err) } return } _, err = conn.WriteToUDP(exchange.response, clientAddress) require.NoError(t, err) } err := conn.Close() if !errors.Is(err, net.ErrClosed) { // The connection closing can be raced by the test // cleanup function defined above. assert.NoError(t, err) } }() <-ready return remoteAddress } ================================================ FILE: internal/natpmp/natpmp.go ================================================ package natpmp import ( "time" ) // Client is a NAT-PMP protocol client. type Client struct { serverPort uint16 initialConnectionDuration time.Duration maxRetries uint } // New creates a new NAT-PMP client. func New() (client *Client) { const natpmpPort = 5351 // Parameters described in https://www.ietf.org/rfc/rfc6886.html#section-3.1 const initialConnectionDuration = 250 * time.Millisecond const maxTries = 9 // 64 seconds return &Client{ serverPort: natpmpPort, initialConnectionDuration: initialConnectionDuration, maxRetries: maxTries, } } ================================================ FILE: internal/natpmp/natpmp_test.go ================================================ package natpmp import ( "testing" "time" "github.com/stretchr/testify/assert" ) func Test_New(t *testing.T) { t.Parallel() expectedClient := &Client{ serverPort: 5351, initialConnectionDuration: 250 * time.Millisecond, maxRetries: 9, } client := New() assert.Equal(t, expectedClient, client) } ================================================ FILE: internal/natpmp/portmapping.go ================================================ package natpmp import ( "context" "encoding/binary" "errors" "fmt" "net/netip" "time" ) var ( ErrNetworkProtocolUnknown = errors.New("network protocol is unknown") ErrLifetimeTooLong = errors.New("lifetime is too long") ) // Add or delete a port mapping. To delete a mapping, set both the // requestedExternalPort and lifetime to 0. // See https://www.ietf.org/rfc/rfc6886.html#section-3.3 func (c *Client) AddPortMapping(ctx context.Context, gateway netip.Addr, protocol string, internalPort, requestedExternalPort uint16, lifetime time.Duration) (durationSinceStartOfEpoch time.Duration, assignedInternalPort, assignedExternalPort uint16, assignedLifetime time.Duration, err error, ) { lifetimeSecondsFloat := lifetime.Seconds() const maxLifetimeSeconds = uint64(^uint32(0)) if uint64(lifetimeSecondsFloat) > maxLifetimeSeconds { return 0, 0, 0, 0, fmt.Errorf("%w: %d seconds must at most %d seconds", ErrLifetimeTooLong, uint64(lifetimeSecondsFloat), maxLifetimeSeconds) } const messageSize = 12 message := make([]byte, messageSize) message[0] = 0 // Version 0 switch protocol { case "udp": message[1] = 1 // operationCode 1 case "tcp": message[1] = 2 // operationCode 2 default: return 0, 0, 0, 0, fmt.Errorf("%w: %s", ErrNetworkProtocolUnknown, protocol) } // [2:3] are reserved. binary.BigEndian.PutUint16(message[4:6], internalPort) binary.BigEndian.PutUint16(message[6:8], requestedExternalPort) binary.BigEndian.PutUint32(message[8:12], uint32(lifetimeSecondsFloat)) const responseSize = 16 response, err := c.rpc(ctx, gateway, message, responseSize) if err != nil { return 0, 0, 0, 0, fmt.Errorf("executing remote procedure call: %w", err) } secondsSinceStartOfEpoch := binary.BigEndian.Uint32(response[4:8]) durationSinceStartOfEpoch = time.Duration(secondsSinceStartOfEpoch) * time.Second assignedInternalPort = binary.BigEndian.Uint16(response[8:10]) assignedExternalPort = binary.BigEndian.Uint16(response[10:12]) lifetimeInSeconds := binary.BigEndian.Uint32(response[12:16]) assignedLifetime = time.Duration(lifetimeInSeconds) * time.Second return durationSinceStartOfEpoch, assignedInternalPort, assignedExternalPort, assignedLifetime, nil } ================================================ FILE: internal/natpmp/portmapping_test.go ================================================ package natpmp import ( "context" "net/netip" "testing" "time" "github.com/stretchr/testify/assert" ) func Test_Client_AddPortMapping(t *testing.T) { t.Parallel() testCases := map[string]struct { ctx context.Context gateway netip.Addr protocol string internalPort uint16 requestedExternalPort uint16 lifetime time.Duration initialConnectionDuration time.Duration exchanges []udpExchange durationSinceStartOfEpoch time.Duration assignedInternalPort uint16 assignedExternalPort uint16 assignedLifetime time.Duration err error errMessage string }{ "lifetime_too_long": { lifetime: time.Duration(uint64(^uint32(0))+1) * time.Second, err: ErrLifetimeTooLong, errMessage: "lifetime is too long: 4294967296 seconds must at most 4294967295 seconds", }, "protocol_unknown": { lifetime: time.Second, protocol: "xyz", err: ErrNetworkProtocolUnknown, errMessage: "network protocol is unknown: xyz", }, "rpc_error": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), protocol: "udp", internalPort: 123, requestedExternalPort: 456, lifetime: 1200 * time.Second, initialConnectionDuration: time.Millisecond, exchanges: []udpExchange{{close: true}}, err: ErrConnectionTimeout, errMessage: "executing remote procedure call: connection timeout: failed attempts: " + "read udp 127.0.0.1:[1-9][0-9]{0,4}->127.0.0.1:[1-9][0-9]{0,4}: i/o timeout \\(try 1\\)", }, "add_udp": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), protocol: "udp", internalPort: 123, requestedExternalPort: 456, lifetime: 1200 * time.Second, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x1, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, response: []byte{0x0, 0x81, 0x0, 0x0, 0x0, 0x13, 0xfe, 0xff, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, }}, durationSinceStartOfEpoch: 0x13feff * time.Second, assignedInternalPort: 0x7b, assignedExternalPort: 0x1c8, assignedLifetime: 0x4b0 * time.Second, }, "add_tcp": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), protocol: "tcp", internalPort: 123, requestedExternalPort: 456, lifetime: 1200 * time.Second, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, response: []byte{0x0, 0x82, 0x0, 0x0, 0x0, 0x14, 0x3, 0x21, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, }}, durationSinceStartOfEpoch: 0x140321 * time.Second, assignedInternalPort: 0x7b, assignedExternalPort: 0x1c8, assignedLifetime: 0x4b0 * time.Second, }, "remove_udp": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), protocol: "udp", internalPort: 123, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x1, 0x0, 0x0, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, response: []byte{0x0, 0x81, 0x0, 0x0, 0x0, 0x14, 0x3, 0xd5, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }}, durationSinceStartOfEpoch: 0x1403d5 * time.Second, assignedInternalPort: 0x7b, }, "remove_tcp": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), protocol: "tcp", internalPort: 123, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, response: []byte{0x0, 0x82, 0x0, 0x0, 0x0, 0x14, 0x4, 0x96, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }}, durationSinceStartOfEpoch: 0x140496 * time.Second, assignedInternalPort: 0x7b, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() remoteAddress := launchUDPServer(t, testCase.exchanges) client := Client{ serverPort: uint16(remoteAddress.Port), //nolint:gosec initialConnectionDuration: testCase.initialConnectionDuration, maxRetries: 1, } durationSinceStartOfEpoch, assignedInternalPort, assignedExternalPort, assignedLifetime, err := client.AddPortMapping(testCase.ctx, testCase.gateway, testCase.protocol, testCase.internalPort, testCase.requestedExternalPort, testCase.lifetime) assert.Equal(t, testCase.durationSinceStartOfEpoch, durationSinceStartOfEpoch) assert.Equal(t, testCase.assignedInternalPort, assignedInternalPort) assert.Equal(t, testCase.assignedExternalPort, assignedExternalPort) assert.Equal(t, testCase.assignedLifetime, assignedLifetime) if testCase.errMessage != "" { if testCase.err != nil { assert.ErrorIs(t, err, testCase.err) } assert.Regexp(t, "^"+testCase.errMessage+"$", err.Error()) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/natpmp/rpc.go ================================================ package natpmp import ( "context" "errors" "fmt" "net" "net/netip" "sort" "strings" "time" ) var ( ErrGatewayIPUnspecified = errors.New("gateway IP is unspecified") ErrConnectionTimeout = errors.New("connection timeout") ) func (c *Client) rpc(ctx context.Context, gateway netip.Addr, request []byte, responseSize uint) ( response []byte, err error, ) { if gateway.IsUnspecified() || !gateway.IsValid() { return nil, fmt.Errorf("%w", ErrGatewayIPUnspecified) } err = checkRequest(request) if err != nil { return nil, fmt.Errorf("checking request: %w", err) } gatewayAddress := &net.UDPAddr{ IP: gateway.AsSlice(), Port: int(c.serverPort), } connection, err := net.DialUDP("udp", nil, gatewayAddress) if err != nil { return nil, fmt.Errorf("dialing udp: %w", err) } ctx, cancel := context.WithCancel(ctx) endGoroutineDone := make(chan struct{}) defer func() { cancel() <-endGoroutineDone }() ctxListeningReady := make(chan struct{}) go func() { defer close(endGoroutineDone) close(ctxListeningReady) // Context is canceled either by the parent context or // when this function returns. <-ctx.Done() closeErr := connection.Close() if closeErr == nil { return } if err == nil { err = fmt.Errorf("closing connection: %w", closeErr) return } err = fmt.Errorf("%w; closing connection: %w", err, closeErr) }() <-ctxListeningReady // really to make unit testing reliable const maxResponseSize = 16 response = make([]byte, maxResponseSize) // Connection duration doubles on every network error // Note it does not double if the source IP mismatches the gateway IP. connectionDuration := c.initialConnectionDuration var retryCount uint var failedAttempts []string for retryCount = 0; retryCount < c.maxRetries; retryCount++ { //nolint:intrange deadline := time.Now().Add(connectionDuration) err = connection.SetDeadline(deadline) if err != nil { return nil, fmt.Errorf("setting connection deadline: %w", err) } _, err = connection.Write(request) if err != nil { return nil, fmt.Errorf("writing to connection: %w", err) } bytesRead, receivedRemoteAddress, err := connection.ReadFromUDP(response) if err != nil { if ctx.Err() != nil { return nil, fmt.Errorf("reading from udp connection: %w", ctx.Err()) } var netErr net.Error if errors.As(err, &netErr) && netErr.Timeout() { connectionDuration *= 2 failedAttempts = append(failedAttempts, netErr.Error()) continue } return nil, fmt.Errorf("reading from udp connection: %w", err) } if !receivedRemoteAddress.IP.Equal(gatewayAddress.IP) { // Upon receiving a response packet, the client MUST check the source IP // address, and silently discard the packet if the address is not the // address of the gateway to which the request was sent. failedAttempts = append(failedAttempts, fmt.Sprintf("received response from %s instead of gateway IP %s", receivedRemoteAddress.IP, gatewayAddress.IP)) continue } response = response[:bytesRead] break } if retryCount == c.maxRetries { return nil, fmt.Errorf("%w: failed attempts: %s", ErrConnectionTimeout, dedupFailedAttempts(failedAttempts)) } // Opcodes between 0 and 127 are client requests. Opcodes from 128 to // 255 are corresponding server responses. const operationCodeMask = 128 expectedOperationCode := request[1] | operationCodeMask err = checkResponse(response, expectedOperationCode, responseSize) if err != nil { return nil, fmt.Errorf("checking response: %w", err) } return response, nil } func dedupFailedAttempts(failedAttempts []string) (errorMessage string) { type data struct { message string indices []int } messageToData := make(map[string]data, len(failedAttempts)) for i, message := range failedAttempts { metadata, ok := messageToData[message] if !ok { metadata.message = message } metadata.indices = append(metadata.indices, i) sort.Slice(metadata.indices, func(i, j int) bool { return metadata.indices[i] < metadata.indices[j] }) messageToData[message] = metadata } // Sort by first index dataSlice := make([]data, 0, len(messageToData)) for _, metadata := range messageToData { dataSlice = append(dataSlice, metadata) } sort.Slice(dataSlice, func(i, j int) bool { return dataSlice[i].indices[0] < dataSlice[j].indices[0] }) dedupedFailedAttempts := make([]string, 0, len(dataSlice)) for _, data := range dataSlice { newMessage := fmt.Sprintf("%s (%s)", data.message, indicesToTryString(data.indices)) dedupedFailedAttempts = append(dedupedFailedAttempts, newMessage) } return strings.Join(dedupedFailedAttempts, "; ") } func indicesToTryString(indices []int) string { if len(indices) == 1 { return fmt.Sprintf("try %d", indices[0]+1) } tries := make([]string, len(indices)) for i, index := range indices { tries[i] = fmt.Sprintf("%d", index+1) } return fmt.Sprintf("tries %s", strings.Join(tries, ", ")) } ================================================ FILE: internal/natpmp/rpc_test.go ================================================ package natpmp import ( "context" "net/netip" "testing" "time" "github.com/stretchr/testify/assert" ) func Test_Client_rpc(t *testing.T) { t.Parallel() testCases := map[string]struct { ctx context.Context gateway netip.Addr request []byte responseSize uint initialConnectionDuration time.Duration exchanges []udpExchange expectedResponse []byte err error errMessage string }{ "gateway_ip_unspecified": { gateway: netip.IPv6Unspecified(), request: []byte{0, 0}, err: ErrGatewayIPUnspecified, errMessage: "gateway IP is unspecified", }, "request_too_small": { gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0}, initialConnectionDuration: time.Nanosecond, // doesn't matter err: ErrRequestSizeTooSmall, errMessage: `checking request: message size is too small: ` + `need at least 2 bytes and got 1 byte\(s\)`, }, "write_error": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0, 0}, errMessage: `writing to connection: write udp ` + `127.0.0.1:[1-9][0-9]{0,4}->127.0.0.1:[1-9][0-9]{0,4}: ` + `i/o timeout`, }, "call_error": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0, 1}, initialConnectionDuration: time.Millisecond, exchanges: []udpExchange{ {request: []byte{0, 1}, close: true}, }, err: ErrConnectionTimeout, errMessage: "connection timeout: failed attempts: " + "read udp 127.0.0.1:[1-9][0-9]{0,4}->127.0.0.1:[1-9][0-9]{0,4}: i/o timeout \\(try 1\\)", }, "response_too_small": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0, 0}, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0, 0}, response: []byte{1}, }}, err: ErrResponseSizeTooSmall, errMessage: `checking response: response size is too small: ` + `need at least 4 bytes and got 1 byte\(s\)`, }, "unexpected_response_size": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, responseSize: 5, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, response: []byte{0, 1, 2, 3}, // size 4 }}, err: ErrResponseSizeUnexpected, errMessage: `checking response: response size is unexpected: ` + `expected 5 bytes and got 4 byte\(s\)`, }, "unknown_protocol_version": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, responseSize: 16, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, response: []byte{0x1, 0x82, 0x0, 0x0, 0x0, 0x14, 0x4, 0x96, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }}, err: ErrProtocolVersionUnknown, errMessage: "checking response: protocol version is unknown: 1", }, "unexpected_operation_code": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, responseSize: 16, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, response: []byte{0x0, 0x88, 0x0, 0x0, 0x0, 0x14, 0x4, 0x96, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }}, err: ErrOperationCodeUnexpected, errMessage: "checking response: operation code is unexpected: expected 0x82 and got 0x88", }, "failure_result_code": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, responseSize: 16, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, response: []byte{0x0, 0x82, 0x0, 0x11, 0x0, 0x14, 0x4, 0x96, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }}, err: ErrResultCodeUnknown, errMessage: "checking response: result code: result code is unknown: 17", }, "success": { ctx: context.Background(), gateway: netip.AddrFrom4([4]byte{127, 0, 0, 1}), request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, responseSize: 16, initialConnectionDuration: initialConnectionDuration, exchanges: []udpExchange{{ request: []byte{0x0, 0x2, 0x0, 0x0, 0x0, 0x7b, 0x1, 0xc8, 0x0, 0x0, 0x4, 0xb0}, response: []byte{0x0, 0x82, 0x0, 0x0, 0x0, 0x0, 0x4, 0x96, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }}, expectedResponse: []byte{0x0, 0x82, 0x0, 0x0, 0x0, 0x0, 0x4, 0x96, 0x0, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() remoteAddress := launchUDPServer(t, testCase.exchanges) client := Client{ serverPort: uint16(remoteAddress.Port), //nolint:gosec initialConnectionDuration: testCase.initialConnectionDuration, maxRetries: 1, } response, err := client.rpc(testCase.ctx, testCase.gateway, testCase.request, testCase.responseSize) if testCase.errMessage != "" { if testCase.err != nil { assert.ErrorIs(t, err, testCase.err) } assert.Regexp(t, "^"+testCase.errMessage+"$", err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.expectedResponse, response) }) } } func Test_dedupFailedAttempts(t *testing.T) { t.Parallel() testCases := map[string]struct { failedAttempts []string expected string }{ "empty": {}, "single_attempt": { failedAttempts: []string{"test"}, expected: "test (try 1)", }, "multiple_same_attempts": { failedAttempts: []string{"test", "test", "test"}, expected: "test (tries 1, 2, 3)", }, "multiple_different_attempts": { failedAttempts: []string{"test1", "test2", "test3"}, expected: "test1 (try 1); test2 (try 2); test3 (try 3)", }, "soup_mix": { failedAttempts: []string{"test1", "test2", "test1", "test3", "test2"}, expected: "test1 (tries 1, 3); test2 (tries 2, 5); test3 (try 4)", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() actual := dedupFailedAttempts(testCase.failedAttempts) assert.Equal(t, testCase.expected, actual) }) } } ================================================ FILE: internal/netlink/address.go ================================================ package netlink import ( "fmt" "net" "net/netip" "github.com/jsimonetti/rtnetlink/rtnl" ) func (n *NetLink) AddrList(linkIndex uint32, family uint8) ( ipPrefixes []netip.Prefix, err error, ) { conn, err := rtnl.Dial(nil) if err != nil { return nil, fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() ifc := &net.Interface{ Index: int(linkIndex), } ipNets, err := conn.Addrs(ifc, int(family)) if err != nil { return nil, fmt.Errorf("failed to list addresses: %w", err) } ipPrefixes = make([]netip.Prefix, len(ipNets)) for i := range ipNets { ipPrefixes[i] = netIPNetToNetipPrefix(ipNets[i]) } return ipPrefixes, nil } func (n *NetLink) AddrReplace(linkIndex uint32, prefix netip.Prefix) error { conn, err := rtnl.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() ipNet := netipPrefixToIPNet(prefix) // Remove any address identical to the one we want to add family := FamilyV4 if prefix.Addr().Is6() { family = FamilyV6 } ifc := &net.Interface{ Index: int(linkIndex), } addresses, err := conn.Addrs(ifc, int(family)) if err != nil { return fmt.Errorf("listing addresses: %w", err) } for _, address := range addresses { if address.IP.Equal(ipNet.IP) && net.IP(address.Mask).String() == net.IP(ipNet.Mask).String() { err = conn.AddrDel(ifc, address) if err != nil { return fmt.Errorf("deleting address from interface: %w", err) } break } } // Add the new address to the interface err = conn.AddrAdd(ifc, ipNet) if err != nil { return fmt.Errorf("adding address to interface: %w", err) } return nil } ================================================ FILE: internal/netlink/conntrack_linux.go ================================================ package netlink import ( "fmt" "github.com/mdlayher/netlink" "github.com/ti-mo/netfilter" ) func (n *NetLink) FlushConntrack() error { conn, err := netfilter.Dial(nil) if err != nil { return fmt.Errorf("dialing netfilter: %w", err) } defer conn.Close() families := [...]netfilter.ProtoFamily{netfilter.ProtoIPv4, netfilter.ProtoIPv6} for _, family := range families { const IPCtnlMsgCtDelete = 2 request, err := netfilter.MarshalNetlink( netfilter.Header{ SubsystemID: netfilter.NFSubsysCTNetlink, MessageType: netfilter.MessageType(IPCtnlMsgCtDelete), Family: family, Flags: netlink.Request | netlink.Acknowledge, }, nil) if err != nil { return fmt.Errorf("encoding netlink request: %w", err) } _, err = conn.Query(request) if err != nil { return fmt.Errorf("querying netlink request: %w", err) } } return nil } ================================================ FILE: internal/netlink/conntrack_unspecified.go ================================================ //go:build !linux package netlink func (n *NetLink) FlushConntrack() error { panic("not implemented") } ================================================ FILE: internal/netlink/conversion.go ================================================ package netlink import ( "fmt" "net" "net/netip" ) func netipPrefixToIPNet(prefix netip.Prefix) (ipNet *net.IPNet) { if !prefix.IsValid() { return nil } prefixAddr := prefix.Addr().Unmap() ipMask := net.CIDRMask(prefix.Bits(), prefixAddr.BitLen()) ip := netipAddrToNetIP(prefixAddr) return &net.IPNet{ IP: ip, Mask: ipMask, } } func netIPNetToNetipPrefix(ipNet *net.IPNet) (prefix netip.Prefix) { if ipNet == nil || (len(ipNet.IP) != net.IPv4len && len(ipNet.IP) != net.IPv6len) { return prefix } var ip netip.Addr if ipv4 := ipNet.IP.To4(); ipv4 != nil { ip = netip.AddrFrom4([4]byte(ipv4)) } else { ip = netip.AddrFrom16([16]byte(ipNet.IP)) } bits, _ := ipNet.Mask.Size() return netip.PrefixFrom(ip, bits) } func ipAndLengthToPrefix(ip *net.IP, length uint8) netip.Prefix { if ip == nil || len(*ip) == 0 { return netip.Prefix{} } var dstIP netip.Addr if ipv4 := ip.To4(); ipv4 != nil { // IPv6 dstIP = netip.AddrFrom4([4]byte(*ip)) } else { dstIP = netip.AddrFrom16([16]byte(*ip)) } return netip.PrefixFrom(dstIP, int(length)) } func prefixToIPAndLength(prefix netip.Prefix) (ip *net.IP, length uint8) { if !prefix.IsValid() { return nil, 0 } prefixIP := prefix.Addr().Unmap() ip = new(net.IP) *ip = netipAddrToNetIP(prefixIP) length = uint8(prefix.Bits()) //nolint:gosec return ip, length } func netipAddrToNetIP(address netip.Addr) (ip net.IP) { switch { case !address.IsValid(): return nil case address.Is4() || address.Is4In6(): bytes := address.As4() return net.IP(bytes[:]) default: bytes := address.As16() return net.IP(bytes[:]) } } func netIPToNetipAddress(ip net.IP) (address netip.Addr) { if len(ip) != net.IPv4len && len(ip) != net.IPv6len { return address // invalid } address, ok := netip.AddrFromSlice(ip) if !ok { panic(fmt.Sprintf("converting %#v to netip.Addr failed", ip)) } return address.Unmap() } ================================================ FILE: internal/netlink/conversion_test.go ================================================ package netlink import ( "net" "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_netipPrefixToIPNet(t *testing.T) { t.Parallel() testCases := map[string]struct { prefix netip.Prefix ipNet *net.IPNet }{ "empty_prefix": {}, "IPv4_prefix": { prefix: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 24), ipNet: &net.IPNet{ IP: net.IP{1, 2, 3, 4}, Mask: net.IPv4Mask(255, 255, 255, 0), }, }, "IPv4-in-IPv6_prefix": { prefix: netip.PrefixFrom(netip.AddrFrom16( [16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 1, 2, 3, 4}), 24), ipNet: &net.IPNet{ IP: net.IP{1, 2, 3, 4}, Mask: net.IPv4Mask(255, 255, 255, 0), }, }, "IPv6_prefix": { prefix: netip.PrefixFrom(netip.IPv6Loopback(), 8), ipNet: &net.IPNet{ IP: net.IPv6loopback, Mask: net.IPMask{0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ipNet := netipPrefixToIPNet(testCase.prefix) assert.Equal(t, testCase.ipNet, ipNet) }) } } func Test_netIPNetToNetipPrefix(t *testing.T) { t.Parallel() testCases := map[string]struct { ipNet *net.IPNet prefix netip.Prefix }{ "empty ipnet": {}, "custom sized IP in ipnet": { ipNet: &net.IPNet{ IP: net.IP{1}, }, }, "IPv4 ipnet": { ipNet: &net.IPNet{ IP: net.IP{1, 2, 3, 4}, Mask: net.IPMask{255, 255, 255, 0}, }, prefix: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 24), }, "IPv4-in-IPv6 ipnet": { ipNet: &net.IPNet{ IP: net.IPv4(1, 2, 3, 4), Mask: net.IPMask{255, 255, 255, 0}, }, prefix: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 24), }, "IPv6 ipnet": { ipNet: &net.IPNet{ IP: net.IPv6loopback, Mask: net.IPMask{0xff}, }, prefix: netip.PrefixFrom(netip.IPv6Loopback(), 8), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() prefix := netIPNetToNetipPrefix(testCase.ipNet) assert.Equal(t, testCase.prefix, prefix) }) } } func Test_netIPToNetipAddress(t *testing.T) { t.Parallel() testCases := map[string]struct { ip net.IP address netip.Addr panicMessage string }{ "nil_ip": {}, "ip_not_ipv4_or_ipv6": { ip: net.IP{1}, }, "IPv4": { ip: net.IPv4(1, 2, 3, 4), address: netip.AddrFrom4([4]byte{1, 2, 3, 4}), }, "IPv6": { ip: net.IPv6zero, address: netip.AddrFrom16([16]byte{}), }, "IPv4 prefixed with 0xffff": { ip: net.IP{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 1, 2, 3, 4}, address: netip.AddrFrom4([4]byte{1, 2, 3, 4}), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() if testCase.panicMessage != "" { assert.PanicsWithValue(t, testCase.panicMessage, func() { netIPToNetipAddress(testCase.ip) }) return } address := netIPToNetipAddress(testCase.ip) assert.Equal(t, testCase.address, address) }) } } ================================================ FILE: internal/netlink/family.go ================================================ package netlink import ( "fmt" ) func FamilyToString(family uint8) string { switch family { case FamilyAll: return "all" case FamilyV4: return "v4" case FamilyV6: return "v6" default: return fmt.Sprint(family) } } ================================================ FILE: internal/netlink/family_linux.go ================================================ package netlink import "golang.org/x/sys/unix" const ( FamilyAll uint8 = unix.AF_UNSPEC FamilyV4 uint8 = unix.AF_INET FamilyV6 uint8 = unix.AF_INET6 ) ================================================ FILE: internal/netlink/helpers_test.go ================================================ package netlink import ( "math/rand/v2" "net/netip" "github.com/qdm12/log" ) func ptrTo[T any](v T) *T { return &v } func makeNetipPrefix(n byte) netip.Prefix { const bits = 24 return netip.PrefixFrom(netip.AddrFrom4([4]byte{n, n, n, 0}), bits) } var rng = rand.New(rand.NewChaCha8([32]byte{})) //nolint:gosec,gochecknoglobals func makeLinkName() string { const alphabet = "abcdefghijklmnopqrstuvwxyz" name := make([]byte, 8) for i := range name { name[i] = alphabet[rng.IntN(len(alphabet))] } return "test" + string(name) } type noopLogger struct{} func (l *noopLogger) Debug(_ string) {} func (l *noopLogger) Debugf(_ string, _ ...any) {} func (l *noopLogger) Patch(_ ...log.Option) {} ================================================ FILE: internal/netlink/interfaces.go ================================================ package netlink import "github.com/qdm12/log" type DebugLogger interface { Debug(message string) Debugf(format string, args ...any) Patch(options ...log.Option) } ================================================ FILE: internal/netlink/ipv6.go ================================================ package netlink import ( "fmt" ) func (n *NetLink) IsIPv6Supported() (supported bool, err error) { routes, err := n.RouteList(FamilyV6) if err != nil { return false, fmt.Errorf("listing IPv6 routes: %w", err) } // Check each route for IPv6 due to Podman bug listing IPv4 routes // as IPv6 routes at container start, see: // https://github.com/qdm12/gluetun/issues/1241#issuecomment-1333405949 for _, route := range routes { link, err := n.LinkByIndex(route.LinkIndex) if err != nil { return false, fmt.Errorf("finding link corresponding to route: %w", err) } sourceIsIPv6 := route.Src.Addr().IsValid() && route.Src.Addr().Is6() destinationIsIPv6 := route.Dst.IsValid() && route.Dst.Addr().Is6() switch { case !sourceIsIPv6 && !destinationIsIPv6, destinationIsIPv6 && route.Dst.Addr().IsLoopback(): continue } n.debugLogger.Debugf("IPv6 is supported by link %s", link.Name) return true, nil } n.debugLogger.Debugf("IPv6 is not supported after searching %d routes", len(routes)) return false, nil } ================================================ FILE: internal/netlink/link.go ================================================ package netlink import ( "errors" "fmt" "github.com/jsimonetti/rtnetlink" ) type DeviceType uint16 type Link struct { Index uint32 Name string DeviceType DeviceType VirtualType string MTU uint32 } func (n *NetLink) LinkList() (links []Link, err error) { conn, err := rtnetlink.Dial(nil) if err != nil { return nil, fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() linkMessages, err := conn.Link.List() if err != nil { return nil, fmt.Errorf("listing interfaces: %w", err) } links = make([]Link, len(linkMessages)) for i, message := range linkMessages { virtualType := "" if message.Attributes.Info != nil { virtualType = message.Attributes.Info.Kind } links[i] = Link{ Index: message.Index, Name: message.Attributes.Name, DeviceType: DeviceType(message.Type), VirtualType: virtualType, MTU: message.Attributes.MTU, } } return links, nil } var ErrLinkNotFound = errors.New("link not found") func (n *NetLink) LinkByName(name string) (link Link, err error) { links, err := n.LinkList() if err != nil { return Link{}, fmt.Errorf("listing links: %w", err) } for _, link := range links { if link.Name == name { return link, nil } } return Link{}, fmt.Errorf("%w: for name %s", ErrLinkNotFound, name) } func (n *NetLink) LinkByIndex(index uint32) (link Link, err error) { links, err := n.LinkList() if err != nil { return Link{}, fmt.Errorf("listing links: %w", err) } for _, link = range links { if link.Index == index { return link, nil } } return Link{}, fmt.Errorf("%w: for index %d", ErrLinkNotFound, index) } func (n *NetLink) LinkAdd(link Link) (linkIndex uint32, err error) { conn, err := rtnetlink.Dial(nil) if err != nil { return 0, fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() tx := &rtnetlink.LinkMessage{ Type: uint16(link.DeviceType), Attributes: &rtnetlink.LinkAttributes{ MTU: link.MTU, Name: link.Name, }, } if link.VirtualType != "" { tx.Attributes.Info = &rtnetlink.LinkInfo{ Kind: link.VirtualType, } } err = conn.Link.New(tx) if err != nil { return 0, fmt.Errorf("creating new link: %w", err) } linkMessages, err := conn.Link.List() if err != nil { return 0, fmt.Errorf("listing links: %w", err) } for _, linkMessage := range linkMessages { if linkMessage.Attributes.Name == link.Name { return linkMessage.Index, nil } } return 0, fmt.Errorf("%w: matching name %s", ErrLinkNotFound, link.Name) } func (n *NetLink) LinkDel(linkIndex uint32) (err error) { conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() return conn.Link.Delete(linkIndex) } func (n *NetLink) LinkSetUp(linkIndex uint32) (err error) { conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() rx, err := conn.Link.Get(linkIndex) if err != nil { return fmt.Errorf("getting link: %w", err) } tx := &rtnetlink.LinkMessage{ Type: rx.Type, Index: linkIndex, Flags: iffUp, Change: iffUp, } return conn.Link.Set(tx) } func (n *NetLink) LinkSetDown(linkIndex uint32) (err error) { conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() linkInfo, err := conn.Link.Get(linkIndex) if err != nil { return fmt.Errorf("getting link: %w", err) } message := &rtnetlink.LinkMessage{ Type: linkInfo.Type, Index: linkIndex, Flags: 0, Change: iffUp, } return conn.Link.Set(message) } func (n *NetLink) LinkSetMTU(linkIndex, mtu uint32) error { conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() message := &rtnetlink.LinkMessage{ Index: linkIndex, Attributes: &rtnetlink.LinkAttributes{ MTU: mtu, }, } err = conn.Link.Set(message) if err != nil { return fmt.Errorf("setting MTU to %d for link at index %d: %w", mtu, linkIndex, err) } return nil } ================================================ FILE: internal/netlink/link_linux.go ================================================ package netlink import "golang.org/x/sys/unix" const ( DeviceTypeEthernet DeviceType = unix.ARPHRD_ETHER DeviceTypeLoopback DeviceType = unix.ARPHRD_LOOPBACK DeviceTypeNone DeviceType = unix.ARPHRD_NONE iffUp = unix.IFF_UP ) ================================================ FILE: internal/netlink/link_test.go ================================================ //go:build linux package netlink import ( "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_NetLink_LinkList(t *testing.T) { t.Parallel() netlink := &NetLink{} initialLinks, err := netlink.LinkList() require.NoError(t, err) require.NotEmpty(t, initialLinks) loopbackFound := false for _, link := range initialLinks { if link.Name != "lo" { continue } loopbackFound = true assert.Equal(t, DeviceTypeLoopback, link.DeviceType) break } assert.True(t, loopbackFound, "loopback interface not found") testLink := Link{ Name: makeLinkName(), // note if [Link.VirtualType] is set, [Link.DeviceType] // is ignored and gets set to [DeviceTypeNone] in LinkAdd. DeviceType: DeviceTypeNone, VirtualType: "wireguard", MTU: 1420, } index, err := netlink.LinkAdd(testLink) require.NoError(t, err) t.Cleanup(func() { _ = netlink.LinkDel(index) }) links, err := netlink.LinkList() require.NoError(t, err) testLink.Index = index for _, link := range links { if link.Name != testLink.Name { continue } assert.Equal(t, testLink, link) return } t.Errorf("created link %q not found", testLink.Name) } func Test_NetLink_LinkSetMTU(t *testing.T) { t.Parallel() netlink := &NetLink{} testLink := Link{ Name: makeLinkName(), DeviceType: DeviceTypeNone, VirtualType: "wireguard", MTU: 1420, } index, err := netlink.LinkAdd(testLink) require.NoError(t, err) t.Cleanup(func() { _ = netlink.LinkDel(index) }) testLink.Index = index err = netlink.LinkSetMTU(index, 1500) require.NoError(t, err) link, err := netlink.LinkByIndex(index) require.NoError(t, err) testLink.MTU = 1500 assert.Equal(t, testLink, link) } ================================================ FILE: internal/netlink/netlink.go ================================================ package netlink import "github.com/qdm12/log" type NetLink struct { debugLogger DebugLogger } func New(debugLogger DebugLogger) *NetLink { return &NetLink{ debugLogger: debugLogger, } } func (n *NetLink) PatchLoggerLevel(level log.Level) { n.debugLogger.Patch(log.SetLevel(level)) } ================================================ FILE: internal/netlink/netlink_unspecified.go ================================================ //go:build !linux package netlink const ( // FamilyAll is a placeholder only and should not // be used. FamilyAll uint8 = iota // FamilyV4 is a placeholder only and should not // be used. FamilyV4 // FamilyV6 is a placeholder only and should not // be used. FamilyV6 // DeviceTypeEthernet is a placeholder only and should not be used. DeviceTypeEthernet DeviceType = 0 // DeviceTypeLoopback is a placeholder only and should not be used. DeviceTypeLoopback DeviceType = 0 // DeviceTypeNone is a placeholder only and should not be used. DeviceTypeNone DeviceType = 0 // iffUp is a placeholder only and should not be used. iffUp = 0 // RouteTypeUnicast is a placeholder only and should not be used. RouteTypeUnicast = 0 // ScopeUniverse is a placeholder only and should not be used. ScopeUniverse = 0 // ProtoStatic is a placeholder only and should not be used. ProtoStatic = 0 // FlagInvert is a placeholder only and should not be used. FlagInvert = 0 // ActionToTable is a placeholder only and should not be used. ActionToTable = 0 // rtTableCompat is a placeholder only and should not be used. rtTableCompat = 0 ) func (n *NetLink) RuleList(family uint8) (rules []Rule, err error) { panic("not implemented") } func (n *NetLink) RuleAdd(rule Rule) error { panic("not implemented") } func (n *NetLink) RuleDel(rule Rule) error { panic("not implemented") } func (n *NetLink) IsWireguardSupported() (bool, error) { panic("not implemented") } ================================================ FILE: internal/netlink/route.go ================================================ package netlink import ( "fmt" "net/netip" "github.com/jsimonetti/rtnetlink" ) type Route struct { LinkIndex uint32 Dst netip.Prefix Src netip.Prefix Gw netip.Addr Priority uint32 Family uint8 Table uint32 Type uint8 Scope uint8 Proto uint8 AdvMSS uint32 } func (r *Route) fromMessage(message rtnetlink.RouteMessage) { table := uint32(message.Table) if table == 0 || table == rtTableCompat { table = message.Attributes.Table } r.LinkIndex = message.Attributes.OutIface r.Dst = ipAndLengthToPrefix(&message.Attributes.Dst, message.DstLength) r.Src = ipAndLengthToPrefix(&message.Attributes.Src, message.SrcLength) r.Gw = netIPToNetipAddress(message.Attributes.Gateway) r.Priority = message.Attributes.Priority r.Family = message.Family r.Table = table r.Type = message.Type r.Scope = message.Scope r.Proto = message.Protocol if metrics := message.Attributes.Metrics; metrics != nil { r.AdvMSS = metrics.AdvMSS } } func (r Route) message() *rtnetlink.RouteMessage { dst, dstLength := prefixToIPAndLength(r.Dst) src, srcLength := prefixToIPAndLength(r.Src) var table uint8 var extendedTable uint32 if r.Table <= uint32(^uint8(0)) { table = uint8(r.Table) } else { table = rtTableCompat extendedTable = r.Table } message := &rtnetlink.RouteMessage{ Family: r.Family, DstLength: dstLength, SrcLength: srcLength, Table: table, Type: r.Type, Scope: r.Scope, Protocol: r.Proto, Attributes: rtnetlink.RouteAttributes{ OutIface: r.LinkIndex, Gateway: netipAddrToNetIP(r.Gw), Priority: r.Priority, Table: extendedTable, }, } if src != nil { // src is optional message.Attributes.Src = *src } if dst != nil { message.Attributes.Dst = *dst } if r.AdvMSS != 0 { if message.Attributes.Metrics == nil { message.Attributes.Metrics = &rtnetlink.RouteMetrics{} } message.Attributes.Metrics.AdvMSS = r.AdvMSS } return message } func (n *NetLink) RouteList(family uint8) (routes []Route, err error) { conn, err := rtnetlink.Dial(nil) if err != nil { return nil, fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() routeMessages, err := conn.Route.List() if err != nil { return nil, fmt.Errorf("listing interfaces: %w", err) } routes = make([]Route, 0, len(routeMessages)) for _, routeMessage := range routeMessages { if family != FamilyAll && routeMessage.Family != family { continue } var route Route route.fromMessage(routeMessage) routes = append(routes, route) } return routes, nil } func (n *NetLink) RouteAdd(route Route) error { conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() return conn.Route.Add(route.message()) } func (n *NetLink) RouteDel(route Route) error { conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() return conn.Route.Delete(route.message()) } func (n *NetLink) RouteReplace(route Route) error { conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() return conn.Route.Replace(route.message()) } ================================================ FILE: internal/netlink/route_linux.go ================================================ package netlink import "golang.org/x/sys/unix" const ( RouteTypeUnicast = unix.RTN_UNICAST ScopeUniverse = unix.RT_SCOPE_UNIVERSE ProtoStatic = unix.RTPROT_STATIC rtTableCompat = unix.RT_TABLE_COMPAT ) ================================================ FILE: internal/netlink/rule.go ================================================ package netlink import ( "fmt" "net/netip" "github.com/jsimonetti/rtnetlink" ) type Rule struct { Priority *uint32 Family uint8 Table uint32 Mark *uint32 Src netip.Prefix Dst netip.Prefix Flags uint32 Action uint8 } func (r *Rule) fromMessage(message rtnetlink.RuleMessage) { table := uint32(message.Table) if table == 0 || table == rtTableCompat { table = *message.Attributes.Table } r.Priority = message.Attributes.Priority r.Family = message.Family r.Table = table r.Mark = message.Attributes.FwMark r.Src = ipAndLengthToPrefix(message.Attributes.Src, message.SrcLength) r.Dst = ipAndLengthToPrefix(message.Attributes.Dst, message.DstLength) r.Flags = message.Flags r.Action = message.Action } func (r Rule) message() *rtnetlink.RuleMessage { src, srcLength := prefixToIPAndLength(r.Src) dst, dstLength := prefixToIPAndLength(r.Dst) message := &rtnetlink.RuleMessage{ Family: r.Family, SrcLength: srcLength, DstLength: dstLength, Flags: r.Flags, Action: r.Action, Attributes: &rtnetlink.RuleAttributes{ Priority: r.Priority, FwMark: r.Mark, Src: src, Dst: dst, }, } if r.Table <= uint32(^uint8(0)) { message.Table = uint8(r.Table) } else { message.Table = rtTableCompat message.Attributes.Table = &r.Table } return message } func (r Rule) String() string { from := "all" if r.Src.IsValid() && !r.Src.Addr().IsUnspecified() { from = r.Src.String() } to := "all" if r.Dst.IsValid() && !r.Dst.Addr().IsUnspecified() { to = r.Dst.String() } priority := "" if r.Priority != nil { priority = fmt.Sprintf(" %d", *r.Priority) } return fmt.Sprintf("ip rule%s: from %s to %s table %d", priority, from, to, r.Table) } func (r Rule) debugMessage(add bool) (debugMessage string) { debugMessage = "ip" switch r.Family { case FamilyV4: debugMessage += " -f inet" case FamilyV6: debugMessage += " -f inet6" default: debugMessage += " -f " + fmt.Sprint(r.Family) } debugMessage += " rule" if add { debugMessage += " add" } else { debugMessage += " del" } if r.Src.IsValid() { debugMessage += " from " + r.Src.String() } if r.Dst.IsValid() { debugMessage += " to " + r.Dst.String() } if r.Table != 0 { debugMessage += " lookup " + fmt.Sprint(r.Table) } if r.Priority != nil { debugMessage += " pref " + fmt.Sprint(*r.Priority) } return debugMessage } ================================================ FILE: internal/netlink/rule_linux.go ================================================ package netlink import ( "fmt" "github.com/jsimonetti/rtnetlink" "golang.org/x/sys/unix" ) const ( FlagInvert = unix.FIB_RULE_INVERT ActionToTable = unix.FR_ACT_TO_TBL ) func (n *NetLink) RuleList(family uint8) (rules []Rule, err error) { switch family { case FamilyAll: n.debugLogger.Debug("ip -4 rule list") n.debugLogger.Debug("ip -6 rule list") case FamilyV4: n.debugLogger.Debug("ip -4 rule list") case FamilyV6: n.debugLogger.Debug("ip -6 rule list") } conn, err := rtnetlink.Dial(nil) if err != nil { return nil, fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() ruleMessages, err := conn.Rule.List() if err != nil { return nil, err } rules = make([]Rule, 0, len(ruleMessages)) for _, message := range ruleMessages { if family != FamilyAll && family != message.Family { continue } var rule Rule rule.fromMessage(message) rules = append(rules, rule) } return rules, nil } func (n *NetLink) RuleAdd(rule Rule) error { n.debugLogger.Debug(rule.debugMessage(true)) conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() return conn.Rule.Add(rule.message()) } func (n *NetLink) RuleDel(rule Rule) error { n.debugLogger.Debug(rule.debugMessage(false)) conn, err := rtnetlink.Dial(nil) if err != nil { return fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() return conn.Rule.Delete(rule.message()) } ================================================ FILE: internal/netlink/rule_test.go ================================================ package netlink import ( "testing" "github.com/stretchr/testify/assert" ) func Test_Rule_debugMessage(t *testing.T) { t.Parallel() testCases := map[string]struct { add bool rule Rule dbgMsg string }{ "default values": { dbgMsg: "ip -f 0 rule del", }, "add rule": { add: true, rule: Rule{ Family: FamilyV4, Src: makeNetipPrefix(1), Dst: makeNetipPrefix(2), Table: 100, Priority: ptrTo(uint32(101)), }, dbgMsg: "ip -f inet rule add from 1.1.1.0/24 to 2.2.2.0/24 lookup 100 pref 101", }, "del rule": { rule: Rule{ Family: FamilyV4, Src: makeNetipPrefix(1), Dst: makeNetipPrefix(2), Table: 100, Priority: ptrTo(uint32(101)), }, dbgMsg: "ip -f inet rule del from 1.1.1.0/24 to 2.2.2.0/24 lookup 100 pref 101", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() dbgMsg := testCase.rule.debugMessage(testCase.add) assert.Equal(t, testCase.dbgMsg, dbgMsg) }) } } ================================================ FILE: internal/netlink/wireguard_linux.go ================================================ package netlink import ( "errors" "fmt" "os" "github.com/mdlayher/genetlink" "github.com/qdm12/gluetun/internal/mod" ) func (n *NetLink) IsWireguardSupported() (ok bool, err error) { // Check for Wireguard family without loading the wireguard module. // Some kernels have the wireguard module built-in, and don't have a // modules directory, such as WSL2 kernels. ok, err = hasWireguardFamily() if err != nil { return false, fmt.Errorf("checking wireguard family: %w", err) } else if ok { return true, nil } // Try loading the wireguard module, since some systems do not load // it after a boot. If this fails, wireguard is assumed to not be supported. n.debugLogger.Debugf("wireguard family not found, trying to load wireguard kernel module") err = mod.Probe("wireguard") if err != nil { n.debugLogger.Debugf("failed loading wireguard kernel module: %s", err) return false, nil } n.debugLogger.Debugf("wireguard kernel module loaded successfully") // Re-check if the Wireguard family is now available, after loading // the wireguard kernel module. ok, err = hasWireguardFamily() if err != nil { return false, fmt.Errorf("checking wireguard family: %w", err) } return ok, nil } func hasWireguardFamily() (ok bool, err error) { conn, err := genetlink.Dial(nil) if err != nil { return false, fmt.Errorf("dialing netlink: %w", err) } defer conn.Close() _, err = conn.GetFamily("wireguard") if err != nil { if errors.Is(err, os.ErrNotExist) { return false, nil } return false, fmt.Errorf("getting wireguard family: %w", err) } return true, nil } ================================================ FILE: internal/netlink/wireguard_test.go ================================================ //go:build linux || darwin package netlink import ( "testing" "github.com/stretchr/testify/require" ) func Test_NetLink_IsWireguardSupported(t *testing.T) { t.Parallel() netLink := &NetLink{ debugLogger: &noopLogger{}, } ok, err := netLink.IsWireguardSupported() require.NoError(t, err) if ok { // cannot assert since this depends on kernel t.Log("wireguard is supported") } else { t.Log("wireguard is not supported") } } ================================================ FILE: internal/openvpn/auth.go ================================================ package openvpn import ( "fmt" "os" "strings" ) // WriteAuthFile writes the OpenVPN auth file to disk with the right permissions. func (c *Configurator) WriteAuthFile(user, password string) error { content := strings.Join([]string{user, password}, "\n") return writeIfDifferent(c.authFilePath, content, c.puid, c.pgid) } // WriteAskPassFile writes the OpenVPN askpass file to disk with the right permissions. func (c *Configurator) WriteAskPassFile(passphrase string) error { return writeIfDifferent(c.askPassPath, passphrase, c.puid, c.pgid) } func writeIfDifferent(path, content string, puid, pgid int) (err error) { fileStat, err := os.Stat(path) if err != nil && !os.IsNotExist(err) { return fmt.Errorf("obtaining file information: %w", err) } const perm = os.FileMode(0o400) var writeData, setChown bool if os.IsNotExist(err) { writeData = true setChown = true } else { data, err := os.ReadFile(path) if err != nil { return fmt.Errorf("reading file: %w", err) } writeData = string(data) != content setChown = fileStat.Mode().Perm() != perm } if writeData { err = os.WriteFile(path, []byte(content), perm) if err != nil { return fmt.Errorf("writing file: %w", err) } } if setChown { err = os.Chown(path, puid, pgid) if err != nil { return fmt.Errorf("setting file permissions: %w", err) } } return nil } ================================================ FILE: internal/openvpn/config.go ================================================ package openvpn import ( "os" "strings" ) func (c *Configurator) WriteConfig(lines []string) error { const permission = 0o644 file, err := os.OpenFile(c.configPath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, permission) if err != nil { return err } _, err = file.WriteString(strings.Join(lines, "\n")) if err != nil { _ = file.Close() return err } err = file.Chown(c.puid, c.pgid) if err != nil { _ = file.Close() return err } return file.Close() } ================================================ FILE: internal/openvpn/extract/data.go ================================================ package extract import ( "errors" "fmt" "github.com/qdm12/gluetun/internal/models" ) var ( ErrRead = errors.New("cannot read file") ErrExtractConnection = errors.New("cannot extract connection from file") ) // Data extracts the lines and connection from the OpenVPN configuration file. func (e *Extractor) Data(filepath string) (lines []string, connection models.Connection, err error, ) { lines, err = readCustomConfigLines(filepath) if err != nil { return nil, connection, fmt.Errorf("reading configuration file: %w", err) } connection, err = extractDataFromLines(lines) if err != nil { return nil, connection, fmt.Errorf("extracting connection from file: %w", err) } return lines, connection, nil } ================================================ FILE: internal/openvpn/extract/extract.go ================================================ package extract import ( "errors" "fmt" "net/netip" "strconv" "strings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) var errRemoteLineNotFound = errors.New("remote line not found") func extractDataFromLines(lines []string) ( connection models.Connection, err error, ) { for i, line := range lines { hashSymbolIndex := strings.Index(line, "#") if hashSymbolIndex >= 0 { line = line[:hashSymbolIndex] } ip, port, protocol, err := extractDataFromLine(line) if err != nil { return connection, fmt.Errorf("on line %d: %w", i+1, err) } connection.UpdateEmptyWith(ip, port, protocol) if connection.Protocol != "" && connection.IP.IsValid() { break } } if !connection.IP.IsValid() { return connection, errRemoteLineNotFound } if connection.Protocol == "" { connection.Protocol = constants.UDP } if connection.Port == 0 { connection.Port = 1194 if strings.HasPrefix(connection.Protocol, "tcp") { connection.Port = 443 } } return connection, nil } func extractDataFromLine(line string) ( ip netip.Addr, port uint16, protocol string, err error, ) { switch { case strings.HasPrefix(line, "proto "): protocol, err = extractProto(line) if err != nil { return ip, 0, "", fmt.Errorf("extracting protocol from proto line: %w", err) } return ip, 0, protocol, nil case strings.HasPrefix(line, "remote "): ip, port, protocol, err = extractRemote(line) if err != nil { return ip, 0, "", fmt.Errorf("extracting from remote line: %w", err) } return ip, port, protocol, nil case strings.HasPrefix(line, "port "): port, err = extractPort(line) if err != nil { return ip, 0, "", fmt.Errorf("extracting from port line: %w", err) } return ip, port, "", nil } return ip, 0, "", nil } var errProtoLineFieldsCount = errors.New("proto line has not 2 fields as expected") func extractProto(line string) (protocol string, err error) { fields := strings.Fields(line) if len(fields) != 2 { //nolint:mnd return "", fmt.Errorf("%w: %s", errProtoLineFieldsCount, line) } return parseProto(fields[1]) } var errProtocolNotSupported = errors.New("network protocol not supported") func parseProto(field string) (protocol string, err error) { switch field { case "tcp", "tcp4", "tcp6", "tcp-client": // tcp4, tcp6 can be assimilated as tcp since the IP version is // determined by the remote IP address version. // tcp-client is a synonym of tcp for OpenVPN 2.5+ acting in client mode. return constants.TCP, nil case "udp", "udp4", "udp6": // udp4, udp6 can be assimilated as udp since the IP version is // determined by the remote IP address version. return constants.UDP, nil default: return "", fmt.Errorf("%w: %s", errProtocolNotSupported, field) } } var ( errRemoteLineFieldsCount = errors.New("remote line has not 2 fields as expected") errHostNotIP = errors.New("host is not an IP address") errPortNotValid = errors.New("port is not valid") ) func extractRemote(line string) (ip netip.Addr, port uint16, protocol string, err error, ) { fields := strings.Fields(line) n := len(fields) if n < 2 || n > 4 { return netip.Addr{}, 0, "", fmt.Errorf("%w: %s", errRemoteLineFieldsCount, line) } host := fields[1] ip, err = netip.ParseAddr(host) if err != nil { return netip.Addr{}, 0, "", fmt.Errorf("%w: %s", errHostNotIP, host) // TODO resolve hostname once there is an option to allow it through // the firewall before the VPN is up. } if n > 2 { //nolint:mnd portInt, err := strconv.Atoi(fields[2]) if err != nil { return netip.Addr{}, 0, "", fmt.Errorf("%w: %s", errPortNotValid, line) } else if portInt < 1 || portInt > 65535 { return netip.Addr{}, 0, "", fmt.Errorf("%w: %d must be between 1 and 65535", errPortNotValid, portInt) } port = uint16(portInt) } if n > 3 { //nolint:mnd protocol, err = parseProto(fields[3]) if err != nil { return netip.Addr{}, 0, "", fmt.Errorf("parsing protocol from remote line: %w", err) } } return ip, port, protocol, nil } var errPostLineFieldsCount = errors.New("post line has not 2 fields as expected") func extractPort(line string) (port uint16, err error) { fields := strings.Fields(line) const expectedFieldsCount = 2 if len(fields) != expectedFieldsCount { return 0, fmt.Errorf("%w: %s", errPostLineFieldsCount, line) } portInt, err := strconv.Atoi(fields[1]) if err != nil { return 0, fmt.Errorf("%w: %s", errPortNotValid, line) } else if portInt < 1 || portInt > 65535 { return 0, fmt.Errorf("%w: %d must be between 1 and 65535", errPortNotValid, portInt) } port = uint16(portInt) return port, nil } ================================================ FILE: internal/openvpn/extract/extract_test.go ================================================ package extract import ( "errors" "net/netip" "testing" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_extractDataFromLines(t *testing.T) { t.Parallel() testCases := map[string]struct { lines []string connection models.Connection err error }{ "success": { lines: []string{"bla", "proto tcp", "remote 1.2.3.4 1194 tcp", "dev tun6"}, connection: models.Connection{ IP: netip.AddrFrom4([4]byte{1, 2, 3, 4}), Port: 1194, Protocol: constants.TCP, }, }, "extraction error": { lines: []string{"bla", "proto bad", "remote 1.2.3.4 1194 tcp"}, err: errors.New("on line 2: extracting protocol from proto line: network protocol not supported: bad"), }, "only use first values found": { lines: []string{"proto udp", "proto tcp", "remote 1.2.3.4 443 tcp", "remote 5.2.3.4 1194 udp"}, connection: models.Connection{ IP: netip.AddrFrom4([4]byte{1, 2, 3, 4}), Port: 443, Protocol: constants.UDP, }, }, "no IP found": { lines: []string{"proto tcp"}, connection: models.Connection{ Protocol: constants.TCP, }, err: errRemoteLineNotFound, }, "default TCP port": { lines: []string{"remote 1.2.3.4", "proto tcp"}, connection: models.Connection{ IP: netip.AddrFrom4([4]byte{1, 2, 3, 4}), Port: 443, Protocol: constants.TCP, }, }, "default UDP port": { lines: []string{"remote 1.2.3.4", "proto udp"}, connection: models.Connection{ IP: netip.AddrFrom4([4]byte{1, 2, 3, 4}), Port: 1194, Protocol: constants.UDP, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() connection, err := extractDataFromLines(testCase.lines) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.connection, connection) }) } } func Test_extractDataFromLine(t *testing.T) { t.Parallel() testCases := map[string]struct { line string ip netip.Addr port uint16 protocol string isErr error }{ "irrelevant line": { line: "bla", }, "extract proto error": { line: "proto bad", isErr: errProtocolNotSupported, }, "extract proto success": { line: "proto tcp", protocol: constants.TCP, }, "tcp-client": { line: "proto tcp-client", protocol: constants.TCP, }, "extract remote error": { line: "remote bad", isErr: errHostNotIP, }, "extract remote success": { line: "remote 1.2.3.4 1194 udp", ip: netip.AddrFrom4([4]byte{1, 2, 3, 4}), port: 1194, protocol: constants.UDP, }, "extract_port_fail": { line: "port a", isErr: errPortNotValid, }, "extract_port_success": { line: "port 1194", port: 1194, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ip, port, protocol, err := extractDataFromLine(testCase.line) if testCase.isErr != nil { assert.ErrorIs(t, err, testCase.isErr) } else { assert.NoError(t, err) } assert.Equal(t, testCase.ip, ip) assert.Equal(t, testCase.port, port) assert.Equal(t, testCase.protocol, protocol) }) } } func Test_extractProto(t *testing.T) { t.Parallel() testCases := map[string]struct { line string protocol string err error }{ "fields error": { line: "proto one two", err: errors.New("proto line has not 2 fields as expected: proto one two"), }, "bad protocol": { line: "proto bad", err: errors.New("network protocol not supported: bad"), }, "udp": { line: "proto udp", protocol: constants.UDP, }, "tcp": { line: "proto tcp", protocol: constants.TCP, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() protocol, err := extractProto(testCase.line) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.protocol, protocol) }) } } func Test_extractRemote(t *testing.T) { t.Parallel() testCases := map[string]struct { line string ip netip.Addr port uint16 protocol string err error }{ "not enough fields": { line: "remote", err: errors.New("remote line has not 2 fields as expected: remote"), }, "too many fields": { line: "remote one two three four", err: errors.New("remote line has not 2 fields as expected: remote one two three four"), }, "host is not an IP": { line: "remote somehost.com", err: errors.New("host is not an IP address: somehost.com"), }, "only IP host": { line: "remote 1.2.3.4", ip: netip.AddrFrom4([4]byte{1, 2, 3, 4}), }, "port not an integer": { line: "remote 1.2.3.4 bad", err: errors.New("port is not valid: remote 1.2.3.4 bad"), }, "port is zero": { line: "remote 1.2.3.4 0", err: errors.New("port is not valid: 0 must be between 1 and 65535"), }, "port is minus one": { line: "remote 1.2.3.4 -1", err: errors.New("port is not valid: -1 must be between 1 and 65535"), }, "port is over 65535": { line: "remote 1.2.3.4 65536", err: errors.New("port is not valid: 65536 must be between 1 and 65535"), }, "IP host and port": { line: "remote 1.2.3.4 8000", ip: netip.AddrFrom4([4]byte{1, 2, 3, 4}), port: 8000, }, "invalid protocol": { line: "remote 1.2.3.4 8000 bad", err: errors.New("parsing protocol from remote line: network protocol not supported: bad"), }, "IP host and port and protocol": { line: "remote 1.2.3.4 8000 udp", ip: netip.AddrFrom4([4]byte{1, 2, 3, 4}), port: 8000, protocol: constants.UDP, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ip, port, protocol, err := extractRemote(testCase.line) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.ip, ip) assert.Equal(t, testCase.port, port) assert.Equal(t, testCase.protocol, protocol) }) } } ================================================ FILE: internal/openvpn/extract/extractor.go ================================================ package extract type Extractor struct{} func New() *Extractor { return new(Extractor) } ================================================ FILE: internal/openvpn/extract/helpers_test.go ================================================ package extract import ( "os" "testing" "github.com/stretchr/testify/require" ) func removeFile(t *testing.T, filename string) { t.Helper() err := os.RemoveAll(filename) require.NoError(t, err) } ================================================ FILE: internal/openvpn/extract/pem.go ================================================ package extract import ( "encoding/base64" "encoding/pem" "errors" "fmt" ) var errPEMDecode = errors.New("cannot decode PEM encoded block") func PEM(b []byte) (encodedData string, err error) { pemBlock, _ := pem.Decode(b) if pemBlock == nil { return "", fmt.Errorf("%w", errPEMDecode) } der := pemBlock.Bytes encodedData = base64.StdEncoding.EncodeToString(der) return encodedData, nil } ================================================ FILE: internal/openvpn/extract/pem_test.go ================================================ package extract import ( "bytes" "testing" "github.com/stretchr/testify/assert" ) func Test_PEM(t *testing.T) { t.Parallel() testCases := map[string]struct { b []byte encodedData string errWrapped error errMessage string }{ "no input": { errWrapped: errPEMDecode, errMessage: "cannot decode PEM encoded block", }, "bad input": { b: []byte{1, 2, 3}, errWrapped: errPEMDecode, errMessage: "cannot decode PEM encoded block", }, "valid data with extras": { b: bytes.Join([][]byte{ {1, 2, 3}, []byte(validCertPEM), {4, 5, 6}, }, []byte("\n")), encodedData: validCertData, }, "valid data": { b: []byte(validCertPEM), encodedData: validCertData, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() encodedData, err := PEM(testCase.b) assert.Equal(t, testCase.encodedData, encodedData) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } const validCertPEM = ` -----BEGIN CERTIFICATE----- MIIGrDCCBJSgAwIBAgIEAdTnfTANBgkqhkiG9w0BAQsFADB7MQswCQYDVQQGEwJS TzESMBAGA1UEBxMJQnVjaGFyZXN0MRgwFgYDVQQKEw9DeWJlckdob3N0IFMuQS4x GzAZBgNVBAMTEkN5YmVyR2hvc3QgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSaW5m b0BjeWJlcmdob3N0LnJvMB4XDTIwMDcwNDE1MjkzNloXDTMwMDcwMjE1MjkzNlow fTELMAkGA1UEBhMCUk8xEjAQBgNVBAcMCUJ1Y2hhcmVzdDEYMBYGA1UECgwPQ3li ZXJHaG9zdCBTLkEuMR0wGwYDVQQDDBRjLmoua2xhdmVyQGdtYWlsLmNvbTEhMB8G CSqGSIb3DQEJARYSaW5mb0BjeWJlcmdob3N0LnJvMIICIjANBgkqhkiG9w0BAQEF AAOCAg8AMIICCgKCAgEAobp2NlGUHMNBe08YEOnVG3QJjF3ZaXbRhE/II9rmtgJT NZtDohGChvFlNRsExKzVrKxHCeuJkVffwzQ6fYk4/M1RdYLJUh0UVw3e4WdApw8E 7TJZxDYm4SHQNXUvt1Rt5TjslcXxIpDZgrMSc/kHROYEL9tdgdzPZErUJehXyJPh EzIrzmAJh501x7WwKPz9ctSVlItyavqEWFF2vyUa6X9DYmD9mQTz5c+VXNO5DkXm PFBIaEVDnvFtcjGJ56yEvFnWVukL+OUX7ezowrIOFOcp9udjgpeiHq+XvsQ6ER0D Jt25MiEId3NjkxtZ8BitDftTcLN/kt81hWKT7adMVc3kpIZ80cxrwRCttMd7sHAz KI9u7pMxv10eUOsIEY87ewBe3l6KvEnjA+9uIjim6gLLebDIaEH50Ee9PzNJ8fqQ 2u54Ab4bt00/H1sUnJ6Ss/+WsQDOK1BsPRKKcnHZntOlHrs2Tu5+txKNU2cOapI8 SjVULUNKrRXASbpfWnLUfri/HO742bJb/TjkOJcOxta3hTPFAhaRWBusVlB41XVH euH5DAhugYXeSNK6/6Ul8YvKUNH/7QbxuGIGXfth19Xl4QLI1umyEjZopSlt3tOi O2V1soVNSQCCfxXVoCTMESMLjhkjWdmBDhdy2GTW7S4YoJfqVKiS18rYkN7I4ZMC AwEAAaOCATQwggEwMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMDQGCWCGSAGG+EIB DQQnFiVDeWJlckdob3N0IEdlbmVyYXRlZCBVc2VyIENlcnRpZmljYXRlMBEGCWCG SAGG+EIBAQQEAwIHgDAdBgNVHQ4EFgQULwUtU5s6pL2NN9gPeEnKX0dhwiswga0G A1UdIwSBpTCBooAU6tdK1g/He5qzjeAoM5eHt4in9iWhf6R9MHsxCzAJBgNVBAYT AlJPMRIwEAYDVQQHEwlCdWNoYXJlc3QxGDAWBgNVBAoTD0N5YmVyR2hvc3QgUy5B LjEbMBkGA1UEAxMSQ3liZXJHaG9zdCBSb290IENBMSEwHwYJKoZIhvcNAQkBFhJp bmZvQGN5YmVyZ2hvc3Qucm+CCQCcVButZsQ0uzANBgkqhkiG9w0BAQsFAAOCAgEA ystGIMYhQWaEdTqlnLCytrr8657t+PuidZMNNIaPB3wN2Fi2xKf14DTg03mqxjmP Pb+f+PVNIOV5PdWD4jcQwOP1GEboGV0DFzlRGeAtDcvKwdee4oASJbZq1CETqDao hQTxKEWC+UBk2F36nOaEI6Sab+Mb4cR9//PAwvzOqrXuGF5NuIOX7eFtCMQSgQq6 lRRqTQjekm0Dxigx4JA92Jo2qZRwCJ0T3IXBJGL831HCFJbDWv8PV3lsfFb/i2+v r54uywFQVWWp18dYi97gipfuQ4zRg2Ldx5aXSmnhhKpg5ioZvtk043QofF12YORh obElqavRbvvhZvlCouvcuoq9QKi7IPe5SJZkZ1X7ezMesCwBzwFpt6vRUAcslsNF bcYS1iSENlY/PTcDqBhbKuc9yAhq+/aUgaY/8VF5RWVzSRZufbf3BPwOkE4K0Uyb aobO/YX0JOkCacAD+4tdR6YSXNIMMRAOCBQvxbxFXaHzhwhzBAjdsC56FrJKwXvQ rRLU3tF4P0zFMeNTay8uTtUXugDK7EnklLESuYdpUJ8bUMlAUhJBi6UFI9/icMud xXvLRvhnBW9EtKib5JnVFUovcEUt+3EJbyst05nkL4YPjQS4TC9DHdo5SyRAy1Tp iOCYTbretAFZRhh6ycUN5hBeN8GMQxiMreMtDV4PEIQ= -----END CERTIFICATE----- ` const validCertData = "MIIGrDCCBJSgAwIBAgIEAdTnfTANBgkqhkiG9w0BAQsFADB7MQswCQYDVQQGEwJSTzESMBAGA1UEBxMJQnVjaGFyZXN0MRgwFgYDVQQKEw9DeWJlckdob3N0IFMuQS4xGzAZBgNVBAMTEkN5YmVyR2hvc3QgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSaW5mb0BjeWJlcmdob3N0LnJvMB4XDTIwMDcwNDE1MjkzNloXDTMwMDcwMjE1MjkzNlowfTELMAkGA1UEBhMCUk8xEjAQBgNVBAcMCUJ1Y2hhcmVzdDEYMBYGA1UECgwPQ3liZXJHaG9zdCBTLkEuMR0wGwYDVQQDDBRjLmoua2xhdmVyQGdtYWlsLmNvbTEhMB8GCSqGSIb3DQEJARYSaW5mb0BjeWJlcmdob3N0LnJvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAobp2NlGUHMNBe08YEOnVG3QJjF3ZaXbRhE/II9rmtgJTNZtDohGChvFlNRsExKzVrKxHCeuJkVffwzQ6fYk4/M1RdYLJUh0UVw3e4WdApw8E7TJZxDYm4SHQNXUvt1Rt5TjslcXxIpDZgrMSc/kHROYEL9tdgdzPZErUJehXyJPhEzIrzmAJh501x7WwKPz9ctSVlItyavqEWFF2vyUa6X9DYmD9mQTz5c+VXNO5DkXmPFBIaEVDnvFtcjGJ56yEvFnWVukL+OUX7ezowrIOFOcp9udjgpeiHq+XvsQ6ER0DJt25MiEId3NjkxtZ8BitDftTcLN/kt81hWKT7adMVc3kpIZ80cxrwRCttMd7sHAzKI9u7pMxv10eUOsIEY87ewBe3l6KvEnjA+9uIjim6gLLebDIaEH50Ee9PzNJ8fqQ2u54Ab4bt00/H1sUnJ6Ss/+WsQDOK1BsPRKKcnHZntOlHrs2Tu5+txKNU2cOapI8SjVULUNKrRXASbpfWnLUfri/HO742bJb/TjkOJcOxta3hTPFAhaRWBusVlB41XVHeuH5DAhugYXeSNK6/6Ul8YvKUNH/7QbxuGIGXfth19Xl4QLI1umyEjZopSlt3tOiO2V1soVNSQCCfxXVoCTMESMLjhkjWdmBDhdy2GTW7S4YoJfqVKiS18rYkN7I4ZMCAwEAAaOCATQwggEwMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMDQGCWCGSAGG+EIBDQQnFiVDeWJlckdob3N0IEdlbmVyYXRlZCBVc2VyIENlcnRpZmljYXRlMBEGCWCGSAGG+EIBAQQEAwIHgDAdBgNVHQ4EFgQULwUtU5s6pL2NN9gPeEnKX0dhwiswga0GA1UdIwSBpTCBooAU6tdK1g/He5qzjeAoM5eHt4in9iWhf6R9MHsxCzAJBgNVBAYTAlJPMRIwEAYDVQQHEwlCdWNoYXJlc3QxGDAWBgNVBAoTD0N5YmVyR2hvc3QgUy5BLjEbMBkGA1UEAxMSQ3liZXJHaG9zdCBSb290IENBMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGN5YmVyZ2hvc3Qucm+CCQCcVButZsQ0uzANBgkqhkiG9w0BAQsFAAOCAgEAystGIMYhQWaEdTqlnLCytrr8657t+PuidZMNNIaPB3wN2Fi2xKf14DTg03mqxjmPPb+f+PVNIOV5PdWD4jcQwOP1GEboGV0DFzlRGeAtDcvKwdee4oASJbZq1CETqDaohQTxKEWC+UBk2F36nOaEI6Sab+Mb4cR9//PAwvzOqrXuGF5NuIOX7eFtCMQSgQq6lRRqTQjekm0Dxigx4JA92Jo2qZRwCJ0T3IXBJGL831HCFJbDWv8PV3lsfFb/i2+vr54uywFQVWWp18dYi97gipfuQ4zRg2Ldx5aXSmnhhKpg5ioZvtk043QofF12YORhobElqavRbvvhZvlCouvcuoq9QKi7IPe5SJZkZ1X7ezMesCwBzwFpt6vRUAcslsNFbcYS1iSENlY/PTcDqBhbKuc9yAhq+/aUgaY/8VF5RWVzSRZufbf3BPwOkE4K0UybaobO/YX0JOkCacAD+4tdR6YSXNIMMRAOCBQvxbxFXaHzhwhzBAjdsC56FrJKwXvQrRLU3tF4P0zFMeNTay8uTtUXugDK7EnklLESuYdpUJ8bUMlAUhJBi6UFI9/icMudxXvLRvhnBW9EtKib5JnVFUovcEUt+3EJbyst05nkL4YPjQS4TC9DHdo5SyRAy1TpiOCYTbretAFZRhh6ycUN5hBeN8GMQxiMreMtDV4PEIQ=" //nolint:lll ================================================ FILE: internal/openvpn/extract/read.go ================================================ package extract import ( "io" "os" "strings" ) func readCustomConfigLines(filepath string) ( lines []string, err error, ) { file, err := os.Open(filepath) if err != nil { return nil, err } b, err := io.ReadAll(file) if err != nil { _ = file.Close() return nil, err } if err := file.Close(); err != nil { return nil, err } return strings.Split(string(b), "\n"), nil } ================================================ FILE: internal/openvpn/extract/read_test.go ================================================ package extract import ( "os" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_readCustomConfigLines(t *testing.T) { t.Parallel() file, err := os.CreateTemp("", "") require.NoError(t, err) defer removeFile(t, file.Name()) defer file.Close() _, err = file.WriteString("line one\nline two\nline three\n") require.NoError(t, err) err = file.Close() require.NoError(t, err) lines, err := readCustomConfigLines(file.Name()) assert.NoError(t, err) expectedLines := []string{ "line one", "line two", "line three", "", } assert.Equal(t, expectedLines, lines) } ================================================ FILE: internal/openvpn/interfaces.go ================================================ package openvpn import "os/exec" type CmdStarter interface { Start(cmd *exec.Cmd) ( stdoutLines, stderrLines <-chan string, waitError <-chan error, startErr error) } type CmdRunStarter interface { Run(cmd *exec.Cmd) (output string, err error) CmdStarter } ================================================ FILE: internal/openvpn/logger.go ================================================ package openvpn type Logger interface { Debug(s string) Infoer Warn(s string) Error(s string) } type Infoer interface { Info(s string) } ================================================ FILE: internal/openvpn/logs.go ================================================ package openvpn import ( "strings" "github.com/fatih/color" "github.com/qdm12/gluetun/internal/constants" ) type logLevel uint8 const ( levelInfo logLevel = iota levelWarn levelError ) func processLogLine(s string) (filtered string, level logLevel) { for _, ignored := range []string{ "WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail", "NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay", } { if s == ignored { return "", levelInfo } } switch { case strings.HasPrefix(s, "NOTE: "): filtered = strings.TrimPrefix(s, "NOTE: ") level = levelInfo case strings.HasPrefix(s, "WARNING: "): filtered = strings.TrimPrefix(s, "WARNING: ") level = levelWarn case strings.HasPrefix(s, "ERROR: "): filtered = strings.TrimPrefix(s, "ERROR: ") level = levelError case strings.HasPrefix(s, "Options error: "): filtered = strings.TrimPrefix(s, "Options error: ") level = levelError case s == "Initialization Sequence Completed": return color.HiGreenString(s), levelInfo case s == "AUTH: Received control message: AUTH_FAILED": filtered = s + ` Your credentials might be wrong 🤨 ` level = levelError case strings.Contains(s, "TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)"): //nolint:lll filtered = s + ` 🚒🚒🚒🚒🚒🚨🚨🚨🚨🚨🚨🚒🚒🚒🚒🚒 That error usually happens because either: 1. The VPN server IP address you are trying to connect to is no longer valid 🔌 Check out https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list 2. The VPN server crashed 💥, try changing your VPN servers filtering options such as SERVER_REGIONS 3. Your Internet connection is not working 🤯, ensure it works 4. Something else ➡️ https://github.com/qdm12/gluetun/issues/new/choose ` level = levelWarn default: filtered = s level = levelInfo } switch { case filtered == "RTNETLINK answers: File exists": filtered = "OpenVPN tried to add an IP route which already exists (" + filtered + ")" level = levelWarn case strings.HasPrefix(filtered, "Linux route add command failed: "): filtered = "Previous error details: " + filtered level = levelWarn } filtered = constants.ColorOpenvpn().Sprint(filtered) return filtered, level } ================================================ FILE: internal/openvpn/logs_test.go ================================================ package openvpn import ( "testing" "github.com/stretchr/testify/assert" ) func Test_processLogLine(t *testing.T) { t.Parallel() tests := map[string]struct { s string filtered string level logLevel }{ "empty string": {"", "", levelInfo}, "random string": {"asdasqdb", "asdasqdb", levelInfo}, "openvpn unknown": { "message", "message", levelInfo, }, "openvpn note": { "NOTE: message", "message", levelInfo, }, "openvpn warning": { "WARNING: message", "message", levelWarn, }, "openvpn options error": { "Options error: message", "message", levelError, }, "openvpn ignored message": { "NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay", "", levelInfo, }, "openvpn success": { "Initialization Sequence Completed", "Initialization Sequence Completed", levelInfo, }, "openvpn auth failed": { "AUTH: Received control message: AUTH_FAILED", "AUTH: Received control message: AUTH_FAILED\n\nYour credentials might be wrong 🤨\n\n", levelError, }, "TLS key negotiation error": { s: "TLS Error: TLS key negotiation failed to occur within " + "60 seconds (check your network connectivity)", filtered: "TLS Error: TLS key negotiation failed to occur within " + "60 seconds (check your network connectivity)" + ` 🚒🚒🚒🚒🚒🚨🚨🚨🚨🚨🚨🚒🚒🚒🚒🚒 That error usually happens because either: 1. The VPN server IP address you are trying to connect to is no longer valid 🔌 Check out https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list 2. The VPN server crashed 💥, try changing your VPN servers filtering options such as SERVER_REGIONS 3. Your Internet connection is not working 🤯, ensure it works 4. Something else ➡️ https://github.com/qdm12/gluetun/issues/new/choose `, level: levelWarn, }, "RTNETLINK answers: File exists": { s: "ERROR: RTNETLINK answers: File exists", filtered: "OpenVPN tried to add an IP route which already exists " + "(RTNETLINK answers: File exists)", level: levelWarn, }, "Linux route add command failed": { s: "ERROR: Linux route add command failed: some error", filtered: "Previous error details: Linux route add command failed: some error", level: levelWarn, }, } for name, tc := range tests { t.Run(name, func(t *testing.T) { t.Parallel() filtered, level := processLogLine(tc.s) assert.Equal(t, tc.filtered, filtered) assert.Equal(t, tc.level, level) }) } } ================================================ FILE: internal/openvpn/openvpn.go ================================================ package openvpn import ( "github.com/qdm12/gluetun/internal/constants/openvpn" ) type Configurator struct { logger Infoer cmder CmdRunStarter configPath string authFilePath string askPassPath string puid, pgid int } func New(logger Infoer, cmder CmdRunStarter, puid, pgid int, ) *Configurator { return &Configurator{ logger: logger, cmder: cmder, configPath: configPath, authFilePath: openvpn.AuthConf, askPassPath: openvpn.AskPassPath, puid: puid, pgid: pgid, } } ================================================ FILE: internal/openvpn/paths.go ================================================ package openvpn const configPath = "/etc/openvpn/target.ovpn" ================================================ FILE: internal/openvpn/pkcs8/algorithms.go ================================================ package pkcs8 import ( "crypto/x509/pkix" "encoding/asn1" "errors" "fmt" ) // Algorithm identifiers are listed at // https://www.ibm.com/docs/en/zos/2.3.0?topic=programming-object-identifiers var oidDESCBC = asn1.ObjectIdentifier{1, 3, 14, 3, 2, 7} //nolint:gochecknoglobals var ErrEncryptionAlgorithmNotPBES2 = errors.New("encryption algorithm is not PBES2") type encryptedPrivateKey struct { EncryptionAlgorithm pkix.AlgorithmIdentifier EncryptedData []byte } type encryptedAlgorithmParams struct { KeyDerivationFunc pkix.AlgorithmIdentifier EncryptionScheme pkix.AlgorithmIdentifier } func getEncryptionAlgorithmOid(der []byte) ( encryptionSchemeAlgorithm asn1.ObjectIdentifier, err error, ) { var encryptedPrivateKeyData encryptedPrivateKey _, err = asn1.Unmarshal(der, &encryptedPrivateKeyData) if err != nil { return nil, fmt.Errorf("decoding asn1 encrypted private key data: %w", err) } oidPBES2 := asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 5, 13} oidAlgorithm := encryptedPrivateKeyData.EncryptionAlgorithm.Algorithm if !oidAlgorithm.Equal(oidPBES2) { return nil, fmt.Errorf("%w: %s instead of PBES2 %s", ErrEncryptionAlgorithmNotPBES2, oidAlgorithm, oidPBES2) } var encryptionAlgorithmParams encryptedAlgorithmParams paramBytes := encryptedPrivateKeyData.EncryptionAlgorithm.Parameters.FullBytes _, err = asn1.Unmarshal(paramBytes, &encryptionAlgorithmParams) if err != nil { return nil, fmt.Errorf("decoding asn1 encryption algorithm parameters: %w", err) } return encryptionAlgorithmParams.EncryptionScheme.Algorithm, nil } ================================================ FILE: internal/openvpn/pkcs8/algorithms_test.go ================================================ package pkcs8 import ( "crypto/x509/pkix" "encoding/asn1" "encoding/pem" "errors" "fmt" "os" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" pkcs8lib "github.com/youmark/pkcs8" ) func Test_getEncryptionAlgorithmOid(t *testing.T) { t.Parallel() testCases := map[string]struct { makeDER func() (der []byte, err error) encryptionSchemeAlgorithm asn1.ObjectIdentifier errMessage string }{ "empty data": { makeDER: func() (der []byte, err error) { return nil, nil }, errMessage: "decoding asn1 encrypted private key data: " + "asn1: syntax error: sequence truncated", }, "algorithm not pbes2": { makeDER: func() (der []byte, err error) { data := encryptedPrivateKey{ EncryptionAlgorithm: pkix.AlgorithmIdentifier{ Algorithm: asn1.ObjectIdentifier{1, 2, 3, 4}, }, } return asn1.Marshal(data) }, errMessage: "encryption algorithm is not PBES2: " + "1.2.3.4 instead of PBES2 1.2.840.113549.1.5.13", }, "empty params full bytes": { makeDER: func() (der []byte, err error) { data := encryptedPrivateKey{ EncryptionAlgorithm: pkix.AlgorithmIdentifier{ Algorithm: asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 5, 13}, Parameters: asn1.RawValue{ FullBytes: []byte{}, }, }, } return asn1.Marshal(data) }, errMessage: "decoding asn1 encryption algorithm parameters: " + "asn1: structure error: tags don't match " + "(16 vs {class:0 tag:0 length:0 isCompound:false}) {optional:false explicit:false application:false private:false defaultValue: tag: stringType:0 timeType:0 set:false omitEmpty:false} encryptedAlgorithmParams @2", //nolint:lll }, "DES-CBC DER": { makeDER: func() (der []byte, err error) { DESCBCEncryptedPEM, err := os.ReadFile("testdata/rsa_pkcs8_descbc_encrypted.pem") if err != nil { return nil, fmt.Errorf("reading file: %w", err) } pemBlock, _ := pem.Decode(DESCBCEncryptedPEM) if pemBlock == nil { return nil, errors.New("failed to decode PEM") } return pemBlock.Bytes, nil }, encryptionSchemeAlgorithm: oidDESCBC, }, "AES-128-CBC DER": { makeDER: func() (der []byte, err error) { AES128CBCEncryptedPEM, err := os.ReadFile("testdata/rsa_pkcs8_aes128cbc_encrypted.pem") if err != nil { return nil, fmt.Errorf("reading file: %w", err) } pemBlock, _ := pem.Decode(AES128CBCEncryptedPEM) if pemBlock == nil { return nil, errors.New("failed to decode PEM") } return pemBlock.Bytes, nil }, encryptionSchemeAlgorithm: pkcs8lib.AES128CBC.OID(), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() der, err := testCase.makeDER() require.NoError(t, err) encryptionSchemeAlgorithm, err := getEncryptionAlgorithmOid(der) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } assert.Equal(t, testCase.encryptionSchemeAlgorithm, encryptionSchemeAlgorithm) }) } } ================================================ FILE: internal/openvpn/pkcs8/descbc.go ================================================ package pkcs8 import ( "bytes" "crypto/cipher" "crypto/des" //nolint:gosec "encoding/asn1" "fmt" pkcs8lib "github.com/youmark/pkcs8" ) func init() { //nolint:gochecknoinits pkcs8lib.RegisterCipher(oidDESCBC, newCipherDESCBCBlock) } func newCipherDESCBCBlock() pkcs8lib.Cipher { return cipherDESCBC{} } type cipherDESCBC struct{} func (c cipherDESCBC) IVSize() int { return des.BlockSize } func (c cipherDESCBC) KeySize() int { return 8 //nolint:mnd } func (c cipherDESCBC) OID() asn1.ObjectIdentifier { return oidDESCBC } func (c cipherDESCBC) Encrypt(key, iv, plaintext []byte) ([]byte, error) { block, err := des.NewCipher(key) //nolint:gosec if err != nil { return nil, fmt.Errorf("creating DES cipher: %w", err) } blockEncrypter := cipher.NewCBCEncrypter(block, iv) paddingLen := block.BlockSize() - (len(plaintext) % block.BlockSize()) ciphertext := make([]byte, len(plaintext)+paddingLen) copy(ciphertext, plaintext) copy(ciphertext[len(plaintext):], bytes.Repeat([]byte{byte(paddingLen)}, paddingLen)) blockEncrypter.CryptBlocks(ciphertext, ciphertext) return ciphertext, nil } func (c cipherDESCBC) Decrypt(key, iv, ciphertext []byte) ([]byte, error) { block, err := des.NewCipher(key) //nolint:gosec if err != nil { return nil, fmt.Errorf("creating DES cipher: %w", err) } blockDecrypter := cipher.NewCBCDecrypter(block, iv) plaintext := make([]byte, len(ciphertext)) blockDecrypter.CryptBlocks(plaintext, ciphertext) return plaintext, nil } ================================================ FILE: internal/openvpn/pkcs8/testdata/readme.txt ================================================ The key files in this directory are generated using OpenSSL. Re-generating them is fine and should work with existing tests. For DES encrypted RSA key files, openssl version 1.x.x is required, and the following commands in order generate the files: openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:512 -des -pass pass:password -out rsa_pkcs8_aes128cbc_encrypted.pem openssl pkcs8 -topk8 -in rsa_pkcs8_aes128cbc_encrypted.pem -passin pass:password -nocrypt -out rsa_pkcs8_aes128cbc_decrypted.pem For AES encrypted RSA key files, the following commands in order generate the files: openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:512 -aes-128-cbc -pass pass:password -out rsa_pkcs8_descbc_encrypted.pem openssl pkcs8 -topk8 -in rsa_pkcs8_descbc_encrypted.pem -passin pass:password -nocrypt -out rsa_pkcs8_descbc_decrypted.pem ================================================ FILE: internal/openvpn/pkcs8/testdata/rsa_pkcs8_aes128cbc_decrypted.pem ================================================ -----BEGIN PRIVATE KEY----- MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEAsont6TMS9RVqjXoi wF/oKZCwbWM4HmCJvp5Z2dOfKabt+7FOTJiD7APLJKva6791HDTuyBu7+HFQCzW3 ghLuiwIDAQABAkB09FuwHq/1cmEJao+nO2xHBiw8i/lwFMdG4k5znegujL4g16i7 +afWrMd54jYNPGiKuSNObB2BZR1j8tz/jvbxAiEA3d7bVwtWdaZVIV5t9uqrq5fG j3eXfNemTu1HQDmVqNMCIQDOALECY98KURR4NJueTKNuvawkuWFhizfKKTfS5B6Q aQIhANsF/RFYp+lMYg2m4nc2AnJKSkGmlW0wlYSkyAmmzw7xAiEAqSz+MSVNnU5a ziD+D/GGYkKYJYysgYvwZDCXbLT0uMkCIQDZghteTq2MMwIWWUJti3nc6nCICaJu d5O9Sm7BcOSuoA== -----END PRIVATE KEY----- ================================================ FILE: internal/openvpn/pkcs8/testdata/rsa_pkcs8_aes128cbc_encrypted.pem ================================================ -----BEGIN ENCRYPTED PRIVATE KEY----- MIIBvTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIX7rAZ9pfZ4ACAggA MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAECBBBVQ5G606jCKrKADBAiKwcPBIIB YBbudvVfqdLKm9LBFOAcUQk+sdFrq6e2r/xnuqM7VY6Ru4pMOmVMhHMMCFkqHLjx f7hN+xjk3XpYyoptnozPBOhypZrjd6IeEJSkBtU5BZR8fP0Bhny5NYHGcyPR6MZA 5iX/0fnyMlrncG67UNwoZQjfg7jEO3mAjuCW/F74xtPQ90ZHtw8mYC26fa09uQR4 ptL9XqZuw4+U//3CuOheKqI17wulKAb4NwJckYbKyOik+J4yAi0ScgO73pD1FFvl qBxcpyvEqFQqkOlcbR9YwVBAXeW8cbpZJd+MilSs7Ru/phHrP9wz5chYDrocbeG/ H8FhCCvZnJ3zC3P3FPRNPtoaduJ0MbYpaMv4hyP3tEbzbslPA1v14ES3U+w0gmdD zpsy0oplQK9d9wL2TKBwyALcUx5BhtcqKsUXwBOWXMToc4lIXUVl0UVYwULibmEd yK6ajugNxG95X+BJjGvWu/U= -----END ENCRYPTED PRIVATE KEY----- ================================================ FILE: internal/openvpn/pkcs8/testdata/rsa_pkcs8_descbc_decrypted.pem ================================================ -----BEGIN PRIVATE KEY----- MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEAuU3FTtbPm8OjZ/d8 vVd+seQcrCGgwxigKpOszFfOOXKxfy2CgpjE1Ga2h0UneJ6pq0KZyY+ggYAX8PaS U6R3HwIDAQABAkEAibQPkjzz3u8Nua8i1Zn1nsDDxe7fhtv/+mPvn5MIv4sFRS71 0o9+SPNIQn7aJcGIqyBzHYdQg3/wGla+LA+msQIhAOt+hy1dnaWTSXIrIuPt+sSP Fjk80ijfxntXHNU6qExjAiEAyXBurrTdQs6D61ZzdlOFzgUs/FHa4dmWmxXuFsdv 8RUCIQCIZQJaLiyOp94UOBO/PCjQC6ftguKeNe25plzWy2CKzQIgXBpBMTZXGG2u WZMcldSYkFtDd1bB2pQPTXeYdefYYgUCIQDVH3ysySFXIlHJulgcxvriXTfY4goY TQ0PL0Ow7sIz6A== -----END PRIVATE KEY----- ================================================ FILE: internal/openvpn/pkcs8/testdata/rsa_pkcs8_descbc_encrypted.pem ================================================ -----BEGIN ENCRYPTED PRIVATE KEY----- MIIBsTBLBgkqhkiG9w0BBQ0wPjApBgkqhkiG9w0BBQwwHAQIZK8yPqcvVqoCAggA MAwGCCqGSIb3DQIJBQAwEQYFKw4DAgcECI7C8b+gk6UJBIIBYGQQ4UcglyUqSFC7 JiA+Gh01K1odfdLJKLh30+iescrFenII4Vv4rX5609URhn2iHCXhlnZ0+9geRR9k dQSKXaDVVGQw3bQUKgS+lZDAeLV4PS7c+KW0xLpXWJxBPs6NXQMxoJZ23UA391EH p8gKzZqUKk/rEOP68wr3IpHqaD3xggzN+4eA4ZKj4OktmWfUjgC7RQIZSaMxfq+D q+4D5onp+B4C2WRfjnN/N2g7UhzKWGvhjKyogvl82PuY9Vp1qPwQGdg5wdJ/2UVX QNvbkT21Wrv1ffFuIDS1/lCPnd8RAl2Q7chfLyut4BjP0tlmYNxRwQU2mT3KZOrB wwhWgXZtBwj4LjyasVkKe4hyVfRXN5NgONvqxof3VdZUHzOegOapNbEmfhNwVogj 1gwRWL7etAbYKjiMPFzZJAiU97+UkqveguldeoHmvWRDTLqxgZw5M4wkPPldb+u8 d1vCDDQ= -----END ENCRYPTED PRIVATE KEY----- ================================================ FILE: internal/openvpn/pkcs8/upgrade.go ================================================ package pkcs8 import ( "encoding/base64" "errors" "fmt" pkcs8lib "github.com/youmark/pkcs8" ) var ErrUnsupportedKeyType = errors.New("unsupported key type") // UpgradeEncryptedKey eventually upgrades an encrypted key to a newer encryption // if its encryption is too weak for Openvpn/Openssl. // If the key is encrypted using DES-CBC, it is decrypted and re-encrypted using AES-256-CBC. // Otherwise, the key is returned unmodified. // Note this function only supports: // - PKCS8 encrypted keys // - RSA and ECDSA keys // - DES-CBC, 3DES, AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-GCM, AES-192-GCM // and AES-256-GCM encryption algorithms. func UpgradeEncryptedKey(encryptedPKCS8DERKey, passphrase string) (securelyEncryptedPKCS8DERKey string, err error) { der, err := base64.StdEncoding.DecodeString(encryptedPKCS8DERKey) if err != nil { return "", fmt.Errorf("decoding base64 encoded DER: %w", err) } oidEncryptionAlgorithm, err := getEncryptionAlgorithmOid(der) if err != nil { return "", fmt.Errorf("finding encryption algorithm oid: %w", err) } if !oidEncryptionAlgorithm.Equal(oidDESCBC) { return encryptedPKCS8DERKey, nil } // Convert DES-CBC encrypted key to an AES256CBC encrypted key privateKey, err := pkcs8lib.ParsePKCS8PrivateKey(der, []byte(passphrase)) if err != nil { return "", fmt.Errorf("parsing pkcs8 encrypted private key: %w", err) } der, err = pkcs8lib.MarshalPrivateKey(privateKey, []byte(passphrase), pkcs8lib.DefaultOpts) if err != nil { return "", fmt.Errorf("encrypting and encoding private key: %w", err) } securelyEncryptedPKCS8DERKey = base64.StdEncoding.EncodeToString(der) return securelyEncryptedPKCS8DERKey, nil } ================================================ FILE: internal/openvpn/pkcs8/upgrade_test.go ================================================ package pkcs8 import ( "crypto/x509" "encoding/base64" "encoding/pem" "os" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/youmark/pkcs8" ) func parsePEMFile(t *testing.T, pemFilepath string) (base64DER string) { t.Helper() bytes, err := os.ReadFile(pemFilepath) require.NoError(t, err) pemBlock, _ := pem.Decode(bytes) require.NotNil(t, pemBlock) derBytes := pemBlock.Bytes base64DER = base64.StdEncoding.EncodeToString(derBytes) return base64DER } func Test_UpgradeEncryptedKey(t *testing.T) { t.Parallel() testCases := map[string]struct { encryptedPKCS8base64DERKey string passphrase string decryptedPKCS8Base64DERKey string errMessage string }{ "AES-128-CBC key": { encryptedPKCS8base64DERKey: parsePEMFile(t, "testdata/rsa_pkcs8_aes128cbc_encrypted.pem"), passphrase: "password", decryptedPKCS8Base64DERKey: parsePEMFile(t, "testdata/rsa_pkcs8_aes128cbc_decrypted.pem"), }, "DES-CBC key": { encryptedPKCS8base64DERKey: parsePEMFile(t, "testdata/rsa_pkcs8_descbc_encrypted.pem"), passphrase: "password", decryptedPKCS8Base64DERKey: parsePEMFile(t, "testdata/rsa_pkcs8_descbc_decrypted.pem"), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() securelyEncryptedPKCS8DERKey, err := UpgradeEncryptedKey(testCase.encryptedPKCS8base64DERKey, testCase.passphrase) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) return } assert.NoError(t, err) // Decrypt possible re-encrypted key to verify it matches the expected // corresponding decrypted key. der, err := base64.StdEncoding.DecodeString(securelyEncryptedPKCS8DERKey) require.NoError(t, err) privateKey, err := pkcs8.ParsePKCS8PrivateKey(der, []byte(testCase.passphrase)) require.NoError(t, err) der, err = x509.MarshalPKCS8PrivateKey(privateKey) require.NoError(t, err) base64DER := base64.StdEncoding.EncodeToString(der) assert.Equal(t, testCase.decryptedPKCS8Base64DERKey, base64DER) }) } } ================================================ FILE: internal/openvpn/run.go ================================================ package openvpn import ( "context" "github.com/qdm12/gluetun/internal/configuration/settings" ) type Runner struct { settings settings.OpenVPN starter CmdStarter logger Logger } func NewRunner(settings settings.OpenVPN, starter CmdStarter, logger Logger, ) *Runner { return &Runner{ starter: starter, logger: logger, settings: settings, } } func (r *Runner) Run(ctx context.Context, errCh chan<- error, ready chan<- struct{}) { stdoutLines, stderrLines, waitError, err := start(ctx, r.starter, r.settings.Version, r.settings.Flags) if err != nil { errCh <- err return } streamCtx, streamCancel := context.WithCancel(context.Background()) streamDone := make(chan struct{}) go streamLines(streamCtx, streamDone, r.logger, stdoutLines, stderrLines, ready) select { case <-ctx.Done(): <-waitError streamCancel() <-streamDone errCh <- ctx.Err() case err := <-waitError: streamCancel() <-streamDone errCh <- err } } ================================================ FILE: internal/openvpn/start.go ================================================ package openvpn import ( "context" "errors" "fmt" "os/exec" "github.com/qdm12/gluetun/internal/constants/openvpn" ) var ErrVersionUnknown = errors.New("OpenVPN version is unknown") const ( binOpenvpn25 = "openvpn2.5" binOpenvpn26 = "openvpn2.6" ) func start(ctx context.Context, starter CmdStarter, version string, flags []string) ( stdoutLines, stderrLines <-chan string, waitError <-chan error, err error, ) { var bin string switch version { case openvpn.Openvpn25: bin = binOpenvpn25 case openvpn.Openvpn26: bin = binOpenvpn26 default: return nil, nil, nil, fmt.Errorf("%w: %s", ErrVersionUnknown, version) } args := []string{"--config", configPath} args = append(args, flags...) cmd := exec.CommandContext(ctx, bin, args...) setCmdSysProcAttr(cmd) return starter.Start(cmd) } ================================================ FILE: internal/openvpn/start_linux.go ================================================ package openvpn import ( "os/exec" "syscall" ) func setCmdSysProcAttr(cmd *exec.Cmd) { cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} } ================================================ FILE: internal/openvpn/start_unspecified.go ================================================ //go:build !linux package openvpn import ( "os/exec" "syscall" ) func setCmdSysProcAttr(cmd *exec.Cmd) { cmd.SysProcAttr = &syscall.SysProcAttr{} } ================================================ FILE: internal/openvpn/stream.go ================================================ package openvpn import ( "context" "strings" ) func streamLines(ctx context.Context, done chan<- struct{}, logger Logger, stdout, stderr <-chan string, tunnelReady chan<- struct{}, ) { defer close(done) var line string for { errLine := false select { case <-ctx.Done(): return case line = <-stdout: case line = <-stderr: errLine = true } line, level := processLogLine(line) if line == "" { continue // filtered out } if errLine { level = levelError } switch level { case levelInfo: logger.Info(line) case levelWarn: logger.Warn(line) case levelError: logger.Error(line) } if strings.Contains(line, "Initialization Sequence Completed") { // do not close tunnelReady in case the initialization // happens multiple times without Openvpn restarting tunnelReady <- struct{}{} } } } ================================================ FILE: internal/openvpn/version.go ================================================ package openvpn import ( "context" "errors" "fmt" "os/exec" "strings" ) func (c *Configurator) Version25(ctx context.Context) (version string, err error) { return c.version(ctx, binOpenvpn25) } func (c *Configurator) Version26(ctx context.Context) (version string, err error) { return c.version(ctx, binOpenvpn26) } var ErrVersionTooShort = errors.New("version output is too short") func (c *Configurator) version(ctx context.Context, binName string) (version string, err error) { cmd := exec.CommandContext(ctx, binName, "--version") output, err := c.cmder.Run(cmd) if err != nil && err.Error() != "exit status 1" { return "", err } firstLine := strings.Split(output, "\n")[0] words := strings.Fields(firstLine) const minWords = 2 if len(words) < minWords { return "", fmt.Errorf("%w: %s", ErrVersionTooShort, firstLine) } return words[1], nil } ================================================ FILE: internal/pmtud/constants/lengths.go ================================================ package constants const ( MaxEthernetFrameSize uint32 = 1500 // MinIPv4MTU is defined according to // https://en.wikipedia.org/wiki/Maximum_transmission_unit#MTUs_for_common_media MinIPv4MTU uint32 = 68 MinIPv6MTU uint32 = 1280 IPv4HeaderLength uint32 = 20 IPv6HeaderLength uint32 = 40 UDPHeaderLength uint32 = 8 // BaseTCPHeaderLength is the TCP header length without options, // which is the minimum TCP header length. BaseTCPHeaderLength uint32 = 20 // MaxTCPHeaderLength is the TCP header length with the maximum options length of 40 bytes. // Note this is a hard maximum because of the 4-bit data offset field in the TCP header (15x4=60). MaxTCPHeaderLength uint32 = 60 WireguardHeaderLength uint32 = 32 OpenVPNHeaderMaxLength uint32 = 1 + // opcode 8 + // session id 4 + // packet id 28 // max possible auth tag/iv ) ================================================ FILE: internal/pmtud/constants/syscall_unix.go ================================================ //go:build linux || darwin package constants import "golang.org/x/sys/unix" //nolint:revive const ( SOCK_RAW = unix.SOCK_RAW SOCK_STREAM = unix.SOCK_STREAM AF_INET = unix.AF_INET AF_INET6 = unix.AF_INET6 IPPROTO_TCP = unix.IPPROTO_TCP EAGAIN = unix.EAGAIN EWOULDBLOCK = unix.EWOULDBLOCK ) ================================================ FILE: internal/pmtud/constants/syscall_windows.go ================================================ package constants import "golang.org/x/sys/windows" const ( SOCK_RAW = windows.SOCK_RAW SOCK_STREAM = windows.SOCK_STREAM AF_INET = windows.AF_INET AF_INET6 = windows.AF_INET6 IPPROTO_TCP = windows.IPPROTO_TCP EAGAIN = windows.WSAEWOULDBLOCK EWOULDBLOCK = windows.WSAEWOULDBLOCK ) ================================================ FILE: internal/pmtud/icmp/apple_ipv4.go ================================================ package icmp import ( "net" "time" "golang.org/x/net/ipv4" ) var _ net.PacketConn = &ipv4Wrapper{} // ipv4Wrapper is a wrapper around ipv4.PacketConn to implement // the net.PacketConn interface. It's only used for Darwin or iOS. type ipv4Wrapper struct { ipv4Conn *ipv4.PacketConn } func ipv4ToNetPacketConn(ipv4 *ipv4.PacketConn) *ipv4Wrapper { return &ipv4Wrapper{ipv4Conn: ipv4} } func (i *ipv4Wrapper) ReadFrom(p []byte) (n int, addr net.Addr, err error) { n, _, addr, err = i.ipv4Conn.ReadFrom(p) return n, addr, err } func (i *ipv4Wrapper) WriteTo(p []byte, addr net.Addr) (n int, err error) { return i.ipv4Conn.WriteTo(p, nil, addr) } func (i *ipv4Wrapper) Close() error { return i.ipv4Conn.Close() } func (i *ipv4Wrapper) LocalAddr() net.Addr { return i.ipv4Conn.LocalAddr() } func (i *ipv4Wrapper) SetDeadline(t time.Time) error { return i.ipv4Conn.SetDeadline(t) } func (i *ipv4Wrapper) SetReadDeadline(t time.Time) error { return i.ipv4Conn.SetReadDeadline(t) } func (i *ipv4Wrapper) SetWriteDeadline(t time.Time) error { return i.ipv4Conn.SetWriteDeadline(t) } ================================================ FILE: internal/pmtud/icmp/check.go ================================================ package icmp import ( "bytes" "errors" "fmt" "golang.org/x/net/icmp" ) var ( ErrNextHopMTUTooLow = errors.New("ICMP Next Hop MTU is too low") ErrNextHopMTUTooHigh = errors.New("ICMP Next Hop MTU is too high") ) func checkMTU(mtu, minMTU, physicalLinkMTU uint32) (err error) { switch { case mtu < minMTU: return fmt.Errorf("%w: %d", ErrNextHopMTUTooLow, mtu) case mtu > physicalLinkMTU: return fmt.Errorf("%w: %d is larger than physical link MTU %d", ErrNextHopMTUTooHigh, mtu, physicalLinkMTU) default: return nil } } func checkInvokingReplyIDMatch(icmpProtocol int, received []byte, outboundMessage *icmp.Message, ) (match bool, err error) { inboundMessage, err := icmp.ParseMessage(icmpProtocol, received) if err != nil { return false, fmt.Errorf("parsing invoking packet: %w", err) } inboundBody, ok := inboundMessage.Body.(*icmp.Echo) if !ok { return false, fmt.Errorf("%w: %T", ErrBodyUnsupported, inboundMessage.Body) } outboundBody := outboundMessage.Body.(*icmp.Echo) //nolint:forcetypeassert return inboundBody.ID == outboundBody.ID, nil } var ErrIDMismatch = errors.New("ICMP id mismatch") func checkEchoReply(icmpProtocol int, received []byte, outboundMessage *icmp.Message, truncatedBody bool, ) (err error) { inboundMessage, err := icmp.ParseMessage(icmpProtocol, received) if err != nil { return fmt.Errorf("parsing invoking packet: %w", err) } inboundBody, ok := inboundMessage.Body.(*icmp.Echo) if !ok { return fmt.Errorf("%w: %T", ErrBodyUnsupported, inboundMessage.Body) } outboundBody := outboundMessage.Body.(*icmp.Echo) //nolint:forcetypeassert if inboundBody.ID != outboundBody.ID { return fmt.Errorf("%w: sent id %d and received id %d", ErrIDMismatch, outboundBody.ID, inboundBody.ID) } err = checkEchoBodies(outboundBody.Data, inboundBody.Data, truncatedBody) if err != nil { return fmt.Errorf("checking sent and received bodies: %w", err) } return nil } var ErrEchoDataMismatch = errors.New("ICMP data mismatch") func checkEchoBodies(sent, received []byte, receivedTruncated bool) (err error) { if len(received) > len(sent) { return fmt.Errorf("%w: sent %d bytes and received %d bytes", ErrEchoDataMismatch, len(sent), len(received)) } if receivedTruncated { sent = sent[:len(received)] } if !bytes.Equal(received, sent) { return fmt.Errorf("%w: sent %x and received %x", ErrEchoDataMismatch, sent, received) } return nil } ================================================ FILE: internal/pmtud/icmp/df_linux.go ================================================ package icmp import ( "golang.org/x/sys/unix" ) func setDontFragment(fd uintptr, ipv4 bool) (err error) { if ipv4 { return unix.SetsockoptInt(int(fd), unix.IPPROTO_IP, unix.IP_MTU_DISCOVER, unix.IP_PMTUDISC_PROBE) } return unix.SetsockoptInt(int(fd), unix.IPPROTO_IPV6, unix.IPV6_MTU_DISCOVER, unix.IPV6_PMTUDISC_PROBE) } ================================================ FILE: internal/pmtud/icmp/df_unspecified.go ================================================ //go:build !linux && !windows package icmp // setDontFragment for platforms other than Linux and Windows // is not implemented, so we just return assuming the don't // fragment flag is set on IP packets. func setDontFragment(fd uintptr, ipv4 bool) (err error) { return nil } ================================================ FILE: internal/pmtud/icmp/df_windows.go ================================================ package icmp import ( "golang.org/x/sys/windows" ) func setDontFragment(fd uintptr, ipv4 bool) (err error) { if ipv4 { // https://docs.microsoft.com/en-us/troubleshoot/windows/win32/header-library-requirement-socket-ipproto-ip // #define IP_DONTFRAGMENT 14 /* don't fragment IP datagrams */ return windows.SetsockoptInt(windows.Handle(fd), windows.IPPROTO_IP, 14, 1) } return windows.SetsockoptInt(windows.Handle(fd), windows.IPPROTO_IPV6, 14, 1) } ================================================ FILE: internal/pmtud/icmp/errors.go ================================================ package icmp import ( "context" "errors" "fmt" "strings" "time" ) var ( ErrNotPermitted = errors.New("ICMP not permitted") ErrDestinationUnreachable = errors.New("ICMP destination unreachable") ErrCommunicationAdministrativelyProhibited = errors.New("communication administratively prohibited") ErrBodyUnsupported = errors.New("ICMP body type is not supported") ErrMTUNotFound = errors.New("MTU not found") errTimeout = errors.New("operation timed out") ) func wrapConnErr(err error, timedCtx context.Context, pingTimeout time.Duration) error { //nolint:revive switch { case strings.HasSuffix(err.Error(), "sendto: operation not permitted"): err = fmt.Errorf("%w", ErrNotPermitted) case errors.Is(timedCtx.Err(), context.DeadlineExceeded): err = fmt.Errorf("%w: after %s", errTimeout, pingTimeout) case timedCtx.Err() != nil: err = timedCtx.Err() } return err } ================================================ FILE: internal/pmtud/icmp/icmp.go ================================================ package icmp import ( "context" "errors" "fmt" "net/netip" "time" "github.com/qdm12/gluetun/internal/pmtud/constants" ) // PathMTUDiscover discovers the path MTU to the given IP address // using ICMP. // It first tries to get the next hop MTU using ICMP messages. // If that fails, it falls back to sending echo requests with // different packet sizes to find the maximum MTU. // The function returns [ErrMTUNotFound] if the MTU could not be determined. func PathMTUDiscover(ctx context.Context, ip netip.Addr, physicalLinkMTU uint32, timeout time.Duration, logger Logger, ) (mtu uint32, err error) { if ip.Is4() { logger.Debugf("finding IPv4 next hop MTU to %s", ip) mtu, err = findIPv4NextHopMTU(ctx, ip, physicalLinkMTU, timeout, logger) switch { case err == nil: return mtu, nil case errors.Is(err, errTimeout) || errors.Is(err, ErrCommunicationAdministrativelyProhibited): // blackhole default: return 0, fmt.Errorf("finding IPv4 next hop MTU to %s: %w", ip, err) } } else { logger.Debugf("requesting IPv6 ICMP packet-too-big reply from %s", ip) mtu, err = getIPv6PacketTooBig(ctx, ip, physicalLinkMTU, timeout, logger) switch { case err == nil: return mtu, nil case errors.Is(err, errTimeout): // blackhole default: return 0, fmt.Errorf("getting IPv6 packet-too-big message: %w", err) } } // Fall back method: send echo requests with different packet // sizes and check which ones succeed to find the maximum MTU. logger.Debugf("falling back to sending different sized echo packets to %s", ip) minMTU := constants.MinIPv4MTU if ip.Is6() { minMTU = constants.MinIPv6MTU } return pmtudMultiSizes(ctx, ip, minMTU, physicalLinkMTU, timeout, logger) } ================================================ FILE: internal/pmtud/icmp/interfaces.go ================================================ package icmp type Logger interface { Debug(msg string) Debugf(msg string, args ...any) Warnf(msg string, args ...any) } ================================================ FILE: internal/pmtud/icmp/ipv4.go ================================================ package icmp import ( "context" "encoding/binary" "fmt" "net" "net/netip" "runtime" "strings" "syscall" "time" "github.com/qdm12/gluetun/internal/pmtud/constants" "golang.org/x/net/icmp" "golang.org/x/net/ipv4" ) const ( icmpv4Protocol = 1 ) func listenICMPv4(ctx context.Context) (conn net.PacketConn, err error) { var listenConfig net.ListenConfig listenConfig.Control = func(_, _ string, rawConn syscall.RawConn) error { var setDFErr error err := rawConn.Control(func(fd uintptr) { const ipv4 = true setDFErr = setDontFragment(fd, ipv4) // runs when calling ListenPacket }) if err == nil { err = setDFErr } return err } const listenAddress = "" packetConn, err := listenConfig.ListenPacket(ctx, "ip4:icmp", listenAddress) if err != nil { if strings.HasSuffix(err.Error(), "socket: operation not permitted") { err = fmt.Errorf("%w: you can try adding NET_RAW capability to resolve this", ErrNotPermitted) } return nil, err } if runtime.GOOS == "darwin" || runtime.GOOS == "ios" { packetConn = ipv4ToNetPacketConn(ipv4.NewPacketConn(packetConn)) } return packetConn, nil } func findIPv4NextHopMTU(ctx context.Context, ip netip.Addr, physicalLinkMTU uint32, pingTimeout time.Duration, logger Logger, ) (mtu uint32, err error) { if ip.Is6() { panic("IP address is not v4") } conn, err := listenICMPv4(ctx) if err != nil { return 0, fmt.Errorf("listening for ICMP packets: %w", err) } ctx, cancel := context.WithTimeout(ctx, pingTimeout) defer cancel() go func() { <-ctx.Done() conn.Close() }() // First try to send a packet which is too big to get the maximum MTU // directly. outboundID, outboundMessage := buildMessageToSend("v4", physicalLinkMTU) encodedMessage, err := outboundMessage.Marshal(nil) if err != nil { return 0, fmt.Errorf("encoding ICMP message: %w", err) } _, err = conn.WriteTo(encodedMessage, &net.IPAddr{IP: ip.AsSlice()}) if err != nil { err = wrapConnErr(err, ctx, pingTimeout) return 0, fmt.Errorf("writing ICMP message: %w", err) } buffer := make([]byte, physicalLinkMTU) // for loop in case we read an ICMP message from another ICMP request // or TCP/UDP traffic triggering an ICMP response. for { // Note we need to read the whole packet in one call to ReadFrom, so the buffer // must be large enough to read the entire reply packet. See: // https://groups.google.com/g/golang-nuts/c/5dy2Q4nPs08/m/KmuSQAGEtG4J bytesRead, _, err := conn.ReadFrom(buffer) if err != nil { err = wrapConnErr(err, ctx, pingTimeout) return 0, fmt.Errorf("reading from ICMP connection: %w", err) } packetBytes := buffer[:bytesRead] // Side note: echo reply should be at most the number of bytes // sent, and can be lower, more precisely 576-ipHeader bytes, // in case the next hop we are reaching replies with a destination // unreachable and wants to ensure the response makes it way back // by keeping a low packet size, see: // https://datatracker.ietf.org/doc/html/rfc1122#page-59 inboundMessage, err := icmp.ParseMessage(icmpv4Protocol, packetBytes) if err != nil { return 0, fmt.Errorf("parsing message: %w", err) } switch typedBody := inboundMessage.Body.(type) { case *icmp.DstUnreach: const fragmentationRequiredAndDFFlagSetCode = 4 const portUnreachable = 3 const communicationAdministrativelyProhibitedCode = 13 switch inboundMessage.Code { case fragmentationRequiredAndDFFlagSetCode: case portUnreachable: // triggered by TCP or UDP from applications continue // ignore and wait for the next message case communicationAdministrativelyProhibitedCode: return 0, fmt.Errorf("%w: %w (code %d)", ErrDestinationUnreachable, ErrCommunicationAdministrativelyProhibited, inboundMessage.Code) default: return 0, fmt.Errorf("%w: code %d", ErrDestinationUnreachable, inboundMessage.Code) } // See https://datatracker.ietf.org/doc/html/rfc1191#section-4 // Note: the go library does not handle this NextHopMTU section. nextHopMTU := packetBytes[6:8] mtu = uint32(binary.BigEndian.Uint16(nextHopMTU)) err = checkMTU(mtu, constants.MinIPv4MTU, physicalLinkMTU) if err != nil { return 0, fmt.Errorf("checking next-hop-mtu found: %w", err) } // The code below is really for sanity checks packetBytes = packetBytes[8:] header, err := ipv4.ParseHeader(packetBytes) if err != nil { return 0, fmt.Errorf("parsing IPv4 header: %w", err) } packetBytes = packetBytes[header.Len:] // truncated original datagram const truncated = true err = checkEchoReply(icmpv4Protocol, packetBytes, outboundMessage, truncated) if err != nil { return 0, fmt.Errorf("checking echo reply: %w", err) } return mtu, nil case *icmp.Echo: inboundID := uint16(typedBody.ID) //nolint:gosec if inboundID == outboundID { return physicalLinkMTU, nil } logger.Debugf("discarding received ICMP echo reply with id %d mismatching sent id %d", inboundID, outboundID) continue default: return 0, fmt.Errorf("%w: %T", ErrBodyUnsupported, typedBody) } } } ================================================ FILE: internal/pmtud/icmp/ipv6.go ================================================ package icmp import ( "context" "fmt" "net" "net/netip" "strings" "syscall" "time" "github.com/qdm12/gluetun/internal/pmtud/constants" "golang.org/x/net/icmp" "golang.org/x/net/ipv6" ) const ( icmpv6Protocol = 58 ) func listenICMPv6(ctx context.Context) (conn net.PacketConn, err error) { var listenConfig net.ListenConfig listenConfig.Control = func(_, _ string, rawConn syscall.RawConn) error { var setDFErr error err := rawConn.Control(func(fd uintptr) { const ipv4 = false setDFErr = setDontFragment(fd, ipv4) // runs when calling ListenPacket }) if err == nil { err = setDFErr } return err } const listenAddress = "" packetConn, err := listenConfig.ListenPacket(ctx, "ip6:ipv6-icmp", listenAddress) if err != nil { if strings.HasSuffix(err.Error(), "socket: operation not permitted") { err = fmt.Errorf("%w: you can try adding NET_RAW capability to resolve this", ErrNotPermitted) } return nil, err } return packetConn, nil } func getIPv6PacketTooBig(ctx context.Context, ip netip.Addr, physicalLinkMTU uint32, pingTimeout time.Duration, logger Logger, ) (mtu uint32, err error) { if ip.Is4() { panic("IP address is not v6") } conn, err := listenICMPv6(ctx) if err != nil { return 0, fmt.Errorf("listening for ICMP packets: %w", err) } ctx, cancel := context.WithTimeout(ctx, pingTimeout) defer cancel() go func() { <-ctx.Done() conn.Close() }() // First try to send a packet which is too big to get the maximum MTU // directly. outboundID, outboundMessage := buildMessageToSend("v6", physicalLinkMTU) encodedMessage, err := outboundMessage.Marshal(nil) if err != nil { return 0, fmt.Errorf("encoding ICMP message: %w", err) } _, err = conn.WriteTo(encodedMessage, &net.IPAddr{IP: ip.AsSlice(), Zone: ip.Zone()}) if err != nil { err = wrapConnErr(err, ctx, pingTimeout) return 0, fmt.Errorf("writing ICMP message: %w", err) } buffer := make([]byte, physicalLinkMTU) for { // for loop if we encounter another ICMP packet with an unknown id. // Note we need to read the whole packet in one call to ReadFrom, so the buffer // must be large enough to read the entire reply packet. See: // https://groups.google.com/g/golang-nuts/c/5dy2Q4nPs08/m/KmuSQAGEtG4J bytesRead, _, err := conn.ReadFrom(buffer) if err != nil { err = wrapConnErr(err, ctx, pingTimeout) return 0, fmt.Errorf("reading from ICMP connection: %w", err) } packetBytes := buffer[:bytesRead] packetBytes = packetBytes[ipv6.HeaderLen:] inboundMessage, err := icmp.ParseMessage(icmpv6Protocol, packetBytes) if err != nil { return 0, fmt.Errorf("parsing message: %w", err) } switch typedBody := inboundMessage.Body.(type) { case *icmp.PacketTooBig: // https://datatracker.ietf.org/doc/html/rfc1885#section-3.2 mtu = uint32(typedBody.MTU) //nolint:gosec err = checkMTU(mtu, constants.MinIPv6MTU, physicalLinkMTU) if err != nil { return 0, fmt.Errorf("checking MTU: %w", err) } // Sanity checks const truncatedBody = true err = checkEchoReply(icmpv6Protocol, typedBody.Data, outboundMessage, truncatedBody) if err != nil { return 0, fmt.Errorf("checking invoking message: %w", err) } return uint32(typedBody.MTU), nil //nolint:gosec case *icmp.DstUnreach: // https://datatracker.ietf.org/doc/html/rfc1885#section-3.1 idMatch, err := checkInvokingReplyIDMatch(icmpv6Protocol, packetBytes, outboundMessage) if err != nil { return 0, fmt.Errorf("checking invoking message id: %w", err) } else if idMatch { return 0, fmt.Errorf("%w", ErrDestinationUnreachable) } logger.Debug("discarding received ICMP destination unreachable reply with an unknown id") continue case *icmp.Echo: inboundID := uint16(typedBody.ID) //nolint:gosec if inboundID == outboundID { return physicalLinkMTU, nil } logger.Debugf("discarding received ICMP echo reply with id %d mismatching sent id %d", inboundID, outboundID) continue default: return 0, fmt.Errorf("%w: %T", ErrBodyUnsupported, typedBody) } } } ================================================ FILE: internal/pmtud/icmp/message.go ================================================ package icmp import ( cryptorand "crypto/rand" "encoding/binary" "fmt" "math/rand/v2" "golang.org/x/net/icmp" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" ) func buildMessageToSend(ipVersion string, mtu uint32) (id uint16, message *icmp.Message) { var seed [32]byte _, _ = cryptorand.Read(seed[:]) randomSource := rand.NewChaCha8(seed) const uint16Bytes = 2 idBytes := make([]byte, uint16Bytes) _, _ = randomSource.Read(idBytes) id = binary.BigEndian.Uint16(idBytes) var ipHeaderLength uint32 var icmpType icmp.Type switch ipVersion { case "v4": ipHeaderLength = ipv4.HeaderLen icmpType = ipv4.ICMPTypeEcho case "v6": ipHeaderLength = ipv6.HeaderLen icmpType = ipv6.ICMPTypeEchoRequest default: panic(fmt.Sprintf("IP version %q not supported", ipVersion)) } const pingHeaderLength = 0 + 1 + // type 1 + // code 2 + // checksum 2 + // identifier 2 // sequence number pingBodyDataSize := mtu - ipHeaderLength - pingHeaderLength messageBodyData := make([]byte, pingBodyDataSize) _, _ = randomSource.Read(messageBodyData) // See https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml#icmp-parameters-types message = &icmp.Message{ Type: icmpType, // echo request Code: 0, // no code Checksum: 0, // calculated at encoding (ipv4) or sending (ipv6) Body: &icmp.Echo{ ID: int(id), Seq: 0, // only one packet Data: messageBodyData, }, } return id, message } ================================================ FILE: internal/pmtud/icmp/multi.go ================================================ package icmp import ( "context" "errors" "fmt" "net" "net/netip" "strings" "time" "github.com/qdm12/gluetun/internal/pmtud/test" "golang.org/x/net/icmp" ) type icmpTestUnit struct { mtu uint32 echoID uint16 sentBytes int ok bool } func pmtudMultiSizes(ctx context.Context, ip netip.Addr, minMTU, maxPossibleMTU uint32, pingTimeout time.Duration, logger Logger, ) (maxMTU uint32, err error) { var ipVersion string var conn net.PacketConn if ip.Is4() { ipVersion = "v4" conn, err = listenICMPv4(ctx) } else { ipVersion = "v6" conn, err = listenICMPv6(ctx) } if err != nil { if strings.HasSuffix(err.Error(), "socket: operation not permitted") { err = fmt.Errorf("%w: you can try adding NET_RAW capability to resolve this", ErrNotPermitted) } return 0, fmt.Errorf("listening for ICMP packets: %w", err) } mtusToTest := test.MakeMTUsToTest(minMTU, maxPossibleMTU) if len(mtusToTest) == 1 { // only minMTU because minMTU == maxPossibleMTU return minMTU, nil } logger.Debugf("ICMP testing the following MTUs: %v", mtusToTest) tests := make([]icmpTestUnit, len(mtusToTest)) for i := range mtusToTest { tests[i] = icmpTestUnit{mtu: mtusToTest[i]} } timedCtx, cancel := context.WithTimeout(ctx, pingTimeout) defer cancel() go func() { <-timedCtx.Done() conn.Close() }() for i := range tests { id, message := buildMessageToSend(ipVersion, tests[i].mtu) tests[i].echoID = id encodedMessage, err := message.Marshal(nil) if err != nil { return 0, fmt.Errorf("encoding ICMP message: %w", err) } tests[i].sentBytes = len(encodedMessage) _, err = conn.WriteTo(encodedMessage, &net.IPAddr{IP: ip.AsSlice()}) if err != nil { if strings.HasSuffix(err.Error(), "sendto: operation not permitted") { err = fmt.Errorf("%w", ErrNotPermitted) } return 0, fmt.Errorf("writing ICMP message: %w", err) } } err = collectReplies(conn, ipVersion, tests, logger) switch { case err == nil: // max possible MTU is working return tests[len(tests)-1].mtu, nil case err != nil && errors.Is(err, net.ErrClosed): // we have timeouts (IPv4 testing or IPv6 PMTUD blackholes) // so find the highest MTU which worked. // Note we start from index len(tests) - 2 since the max MTU // cannot be working if we had a timeout. for i := len(tests) - 2; i >= 0; i-- { //nolint:mnd if tests[i].ok { return pmtudMultiSizes(ctx, ip, tests[i].mtu, tests[i+1].mtu-1, pingTimeout, logger) } } // All MTUs failed. return 0, fmt.Errorf("%w: ICMP might be blocked", ErrMTUNotFound) case err != nil: return 0, fmt.Errorf("collecting ICMP echo replies: %w", err) default: panic("unreachable") } } // The theoretical limit is 4GiB for IPv6 MTU path discovery jumbograms, but that would // create huge buffers which we don't really want to support anyway. // The standard frame maximum MTU is 1500 bytes, and there are Jumbo frames with // a conventional maximum of 9000 bytes. However, some manufacturers support up // 9216-20 = 9196 bytes for the maximum MTU. We thus use buffers of size 9196 to // match eventual Jumbo frames. More information at: // https://en.wikipedia.org/wiki/Maximum_transmission_unit#MTUs_for_common_media const maxPossibleMTU = 9196 func collectReplies(conn net.PacketConn, ipVersion string, tests []icmpTestUnit, logger Logger, ) (err error) { echoIDToTestIndex := make(map[uint16]int, len(tests)) for i, test := range tests { echoIDToTestIndex[test.echoID] = i } buffer := make([]byte, maxPossibleMTU) idsFound := 0 for idsFound < len(tests) { // Note we need to read the whole packet in one call to ReadFrom, so the buffer // must be large enough to read the entire reply packet. See: // https://groups.google.com/g/golang-nuts/c/5dy2Q4nPs08/m/KmuSQAGEtG4J bytesRead, _, err := conn.ReadFrom(buffer) if err != nil { return fmt.Errorf("reading from ICMP connection: %w", err) } packetBytes := buffer[:bytesRead] ipPacketLength := len(packetBytes) var icmpProtocol int switch ipVersion { case "v4": icmpProtocol = icmpv4Protocol case "v6": icmpProtocol = icmpv6Protocol default: panic(fmt.Sprintf("unknown IP version: %s", ipVersion)) } // Parse the ICMP message // Note: this parsing works for a truncated 556 bytes ICMP reply packet. message, err := icmp.ParseMessage(icmpProtocol, packetBytes) if err != nil { return fmt.Errorf("parsing message: %w", err) } switch message.Body.(type) { case *icmp.Echo: case *icmp.DstUnreach, *icmp.TimeExceeded: logger.Debugf("ignoring ICMP message (type: %d, code: %d)", message.Type, message.Code) continue default: return fmt.Errorf("%w: %T", ErrBodyUnsupported, message.Body) } echoBody, _ := message.Body.(*icmp.Echo) id := uint16(echoBody.ID) //nolint:gosec testIndex, testing := echoIDToTestIndex[id] if !testing { // not an id we expected so ignore it logger.Warnf("ignoring ICMP reply with unexpected ID %d (type: %d, code: %d, length: %d)", echoBody.ID, message.Type, message.Code, ipPacketLength) continue } idsFound++ sentBytes := tests[testIndex].sentBytes // echo reply should be at most the number of bytes sent, // and can be lower, more precisely 556 bytes, in case // the host we are reaching wants to stay out of trouble // and ensure its echo reply goes through without // fragmentation, see the following page: // https://datatracker.ietf.org/doc/html/rfc1122#page-59 const conservativeReplyLength = 556 truncated := ipPacketLength < sentBytes && ipPacketLength == conservativeReplyLength // Check the packet size is the same if the reply is not truncated if !truncated && sentBytes != ipPacketLength { return fmt.Errorf("%w: sent %dB and received %dB", ErrEchoDataMismatch, sentBytes, ipPacketLength) } // Truncated reply or matching reply size tests[testIndex].ok = true } return nil } ================================================ FILE: internal/pmtud/interfaces.go ================================================ package pmtud type Logger interface { Debug(msg string) Debugf(msg string, args ...any) Warnf(msg string, args ...any) } ================================================ FILE: internal/pmtud/ip/family.go ================================================ package ip import ( "net/netip" "slices" "github.com/qdm12/gluetun/internal/pmtud/constants" ) func GetFamilies(dsts []netip.AddrPort) (families []int) { const maxFamilies = 2 families = make([]int, 0, maxFamilies) for _, dst := range dsts { family := GetFamily(dst) if !slices.Contains(families, family) { families = append(families, family) } } return families } func GetFamily(dst netip.AddrPort) int { if dst.Addr().Is4() { return constants.AF_INET } return constants.AF_INET6 } ================================================ FILE: internal/pmtud/ip/ipheader.go ================================================ package ip import ( "encoding/binary" "net/netip" "github.com/qdm12/gluetun/internal/pmtud/constants" ) func HeaderLength(ipv4 bool) uint32 { if ipv4 { return constants.IPv4HeaderLength } return constants.IPv6HeaderLength } func HeaderV4(srcIP, dstIP netip.Addr, payloadLength uint32) []byte { ipHeader := make([]byte, constants.IPv4HeaderLength) const version byte = 4 const headerLength byte = 20 / 4 // in 32-bit words ipHeader[0] = (version << 4) | headerLength //nolint:mnd ipHeader[1] = 0 // type of Service putUint16(ipHeader[2:], uint16(constants.IPv4HeaderLength+payloadLength)) //nolint:gosec ipHeader[4], ipHeader[5] = 0, 0 // identification const flagsAndOffset uint16 = 0x4000 // DF bit set putUint16(ipHeader[6:], flagsAndOffset) ipHeader[8] = 64 // ttl ipHeader[9] = constants.IPPROTO_TCP srcIPBytes := srcIP.As4() copy(ipHeader[12:16], srcIPBytes[:]) dstIPBytes := dstIP.As4() copy(ipHeader[16:20], dstIPBytes[:]) checksum := ipChecksum(ipHeader) ipHeader[10] = byte(checksum >> 8) //nolint:mnd ipHeader[11] = byte(checksum & 0xff) //nolint:mnd return ipHeader } // ipChecksum calculates the checksum for the IP header. // //nolint:mnd func ipChecksum(header []byte) uint16 { sum := uint32(0) for i := 0; i < len(header)-1; i += 2 { sum += uint32(header[i])<<8 + uint32(header[i+1]) } if len(header)%2 != 0 { sum += uint32(header[len(header)-1]) << 8 } for (sum >> 16) > 0 { sum = (sum & 0xFFFF) + (sum >> 16) } return ^uint16(sum) //nolint:gosec } // HeaderV6 makes an IPv6 header. // payloadLen is the length of the payload following the header. // nextHeader can be byte([constants.IPPROTO_TCP]) for example. func HeaderV6(srcIP, dstIP netip.Addr, payloadLen uint16, nextHeader byte, ) []byte { ipv6Header := make([]byte, constants.IPv6HeaderLength) ipv6Header[0] = 0x60 // version (4 bits) | traffic Class (4 bits) ipv6Header[1] = 0x00 // traffic Class (4 bits) | flow label (4 bits) // Flow Label (remaining 16 bits) ipv6Header[2] = 0x00 ipv6Header[3] = 0x00 binary.BigEndian.PutUint16(ipv6Header[4:], payloadLen) ipv6Header[6] = nextHeader const hopLimit = 64 ipv6Header[7] = hopLimit copy(ipv6Header[8:24], srcIP.AsSlice()) copy(ipv6Header[24:40], dstIP.AsSlice()) return ipv6Header } ================================================ FILE: internal/pmtud/ip/ipheader_darwin.go ================================================ package ip import ( "encoding/binary" ) func putUint16(b []byte, v uint16) { binary.NativeEndian.PutUint16(b, v) } ================================================ FILE: internal/pmtud/ip/ipheader_unspecified.go ================================================ //go:build !darwin package ip import "encoding/binary" func putUint16(b []byte, v uint16) { binary.BigEndian.PutUint16(b, v) } ================================================ FILE: internal/pmtud/ip/ipv4_unix.go ================================================ //go:build linux || darwin package ip import "golang.org/x/sys/unix" func SetIPv4HeaderIncluded(fd int) error { return unix.SetsockoptInt(fd, unix.IPPROTO_IP, unix.IP_HDRINCL, 1) } ================================================ FILE: internal/pmtud/ip/ipv4_unspecified.go ================================================ //go:build !linux && !windows && !darwin package ip func SetIPv4HeaderIncluded(fd int) error { panic("not implemented") } ================================================ FILE: internal/pmtud/ip/ipv4_windows.go ================================================ package ip import ( "golang.org/x/sys/windows" ) func SetIPv4HeaderIncluded(handle windows.Handle) error { const ipHdrIncluded = windows.IP_HDRINCL return windows.SetsockoptInt(handle, windows.IPPROTO_IP, ipHdrIncluded, 1) } ================================================ FILE: internal/pmtud/ip/source.go ================================================ package ip import ( "errors" "fmt" "net/netip" "syscall" "github.com/jsimonetti/rtnetlink" "github.com/qdm12/gluetun/internal/pmtud/constants" ) // SrcAddr determines the appropriate source IP address to use when sending a packet to the // specified destination. It also reserves an ephemeral source port for the specified protocol // to ensure that the port is not used by other processes. The cleanup function returned should // be called to release the reserved port when done. func SrcAddr(dst netip.AddrPort, proto int) (src netip.AddrPort, cleanup func(), err error) { srcAddr, err := srcIP(dst.Addr()) if err != nil { return netip.AddrPort{}, nil, fmt.Errorf("finding source IP: %w", err) } srcPort, cleanup, err := srcPort(srcAddr, proto) if err != nil { return netip.AddrPort{}, nil, fmt.Errorf("reserving source port: %w", err) } return netip.AddrPortFrom(srcAddr, srcPort), cleanup, nil } var ( errNoRoute = fmt.Errorf("no route to destination") ErrNetworkUnreachable = errors.New("network unreachable") ) func srcIP(dst netip.Addr) (netip.Addr, error) { conn, err := rtnetlink.Dial(nil) if err != nil { return netip.Addr{}, err } defer conn.Close() family := uint8(constants.AF_INET) if dst.Is6() { family = constants.AF_INET6 } // Request route to destination requestMessage := &rtnetlink.RouteMessage{ Family: family, Attributes: rtnetlink.RouteAttributes{ Dst: dst.AsSlice(), }, } messages, err := conn.Route.Get(requestMessage) if err != nil { var sysErr syscall.Errno if errors.As(err, &sysErr) && sysErr == syscall.ENETUNREACH { err = ErrNetworkUnreachable } return netip.Addr{}, fmt.Errorf("getting routes to %s: %w", dst, err) } for _, message := range messages { if message.Attributes.Src == nil { continue } ipv6 := message.Attributes.Src.To4() == nil if ipv6 { return netip.AddrFrom16([16]byte(message.Attributes.Src)), nil } return netip.AddrFrom4([4]byte(message.Attributes.Src)), nil } return netip.Addr{}, fmt.Errorf("%w: in %d route(s)", errNoRoute, len(messages)) } // srcPort reserves an ephemeral source port by opening a socket for the // protocol specified and binds it to the provided source address. // It doesn't actually listen on the port. // The cleanup function returned should be called to release the port when done. func srcPort(srcAddr netip.Addr, proto int) (srcPort uint16, cleanup func(), err error) { family := constants.AF_INET if srcAddr.Is6() { family = constants.AF_INET6 } fd, err := socket(family, constants.SOCK_STREAM, proto) if err != nil { return 0, nil, fmt.Errorf("creating reservation socket: %w", err) } cleanup = func() { _ = closeSocket(fd) } // Bind to port 0 to get an ephemeral port const port = 0 bindAddr := makeSockAddr(srcAddr, port) err = bind(fd, bindAddr) if err != nil { cleanup() return 0, nil, fmt.Errorf("binding reservation socket: %w", err) } srcPort, err = extractPortFromFD(fd) if err != nil { cleanup() return 0, nil, fmt.Errorf("extracting port from socket fd: %w", err) } return srcPort, cleanup, nil } ================================================ FILE: internal/pmtud/ip/source_unix.go ================================================ //go:build linux || darwin package ip import ( "fmt" "net/netip" "golang.org/x/sys/unix" ) func socket(domain int, typ int, proto int) (fd int, err error) { return unix.Socket(domain, typ, proto) } func closeSocket(fd int) error { return unix.Close(fd) } func bind(fd int, addr unix.Sockaddr) error { return unix.Bind(fd, addr) } func makeSockAddr(ip netip.Addr, port uint16) unix.Sockaddr { if ip.Is4() { return &unix.SockaddrInet4{ Port: int(port), Addr: ip.As4(), } } return &unix.SockaddrInet6{ Port: 0, Addr: ip.As16(), } } func extractPortFromFD(fd int) (uint16, error) { sockAddr, err := unix.Getsockname(fd) if err != nil { return 0, fmt.Errorf("getting sockname: %w", err) } switch typedSockAddr := sockAddr.(type) { case *unix.SockaddrInet4: return uint16(typedSockAddr.Port), nil //nolint:gosec case *unix.SockaddrInet6: return uint16(typedSockAddr.Port), nil //nolint:gosec default: panic(fmt.Sprintf("unexpected sockaddr type: %T", typedSockAddr)) } } ================================================ FILE: internal/pmtud/ip/source_windows.go ================================================ package ip import ( "fmt" "net/netip" "golang.org/x/sys/windows" ) func socket(domain int, typ int, proto int) (fd windows.Handle, err error) { return windows.Socket(domain, typ, proto) } func closeSocket(fd windows.Handle) error { return windows.Close(fd) } func bind(fd windows.Handle, addr windows.Sockaddr) error { return windows.Bind(fd, addr) } func makeSockAddr(ip netip.Addr, port uint16) windows.Sockaddr { if ip.Is4() { return &windows.SockaddrInet4{ Port: int(port), Addr: ip.As4(), } } return &windows.SockaddrInet6{ Port: int(port), Addr: ip.As16(), } } func extractPortFromFD(fd windows.Handle) (uint16, error) { sockAddr, err := windows.Getsockname(fd) if err != nil { return 0, fmt.Errorf("getting sockname: %w", err) } switch typedSockAddr := sockAddr.(type) { case *windows.SockaddrInet4: return uint16(typedSockAddr.Port), nil //nolint:gosec case *windows.SockaddrInet6: return uint16(typedSockAddr.Port), nil //nolint:gosec default: panic(fmt.Sprintf("unexpected sockaddr type: %T", typedSockAddr)) } } ================================================ FILE: internal/pmtud/nooplogger.go ================================================ package pmtud type noopLogger struct{} func (noopLogger) Debug(_ string) {} func (noopLogger) Debugf(_ string, _ ...any) {} func (noopLogger) Warnf(_ string, _ ...any) {} ================================================ FILE: internal/pmtud/pmtud.go ================================================ package pmtud import ( "context" "errors" "fmt" "net/netip" "time" "github.com/qdm12/gluetun/internal/firewall/iptables" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/pmtud/icmp" "github.com/qdm12/gluetun/internal/pmtud/tcp" ) var ( ErrICMPOkTCPFail = errors.New("PMTUD succeeded with ICMP but failed with TCP") ErrICMPFailTCPFail = errors.New("PMTUD failed with both ICMP and TCP") ) // PathMTUDiscover discovers the maximum MTU using both ICMP and TCP. // Multiple ICMP addresses and TCP addresses can be specified for redundancy. // ICMP PMTUD is run first. If successful, the range of possible MTU values to // check for TCP PMTUD is reduced to [maxMTU-150, maxMTU] where maxMTU is the // maximum MTU found with ICMP PMTUD. Otherwise, TCP PMTUD is run with the // whole range of possible MTU values up to the physical link MTU to check. // If the physicalLinkMTU is zero, it defaults to 1500 which is the ethernet standard MTU. // If the pingTimeout is zero, it defaults to 1 second. // If the logger is nil, a no-op logger is used. // It returns [ErrMTUNotFound] if the MTU could not be determined. func PathMTUDiscover(ctx context.Context, icmpAddrs []netip.Addr, tcpAddrs []netip.AddrPort, physicalLinkMTU uint32, tryTimeout time.Duration, fw tcp.Firewall, logger Logger) ( mtu uint32, err error, ) { if physicalLinkMTU == 0 { const ethernetStandardMTU = 1500 physicalLinkMTU = ethernetStandardMTU } if tryTimeout == 0 { tryTimeout = time.Second } if logger == nil { logger = &noopLogger{} } // Try finding the MTU using ICMP maxPossibleMTU := physicalLinkMTU icmpSuccess := false for _, icmpIP := range icmpAddrs { mtu, err := icmp.PathMTUDiscover(ctx, icmpIP, physicalLinkMTU, tryTimeout, logger) switch { case err == nil: logger.Debugf("ICMP path MTU discovery against %s found maximum valid MTU %d", icmpIP, mtu) icmpSuccess = true maxPossibleMTU = mtu case errors.Is(err, icmp.ErrNotPermitted), errors.Is(err, icmp.ErrMTUNotFound): logger.Debugf("ICMP path MTU discovery failed: %s", err) default: return 0, fmt.Errorf("ICMP path MTU discovery: %w", err) } if icmpSuccess { break } } minMTU := constants.MinIPv4MTU if tcpAddrs[0].Addr().Is6() { minMTU = constants.MinIPv6MTU } if icmpSuccess { const mtuMargin = 150 minMTU = max(maxPossibleMTU-mtuMargin, minMTU) } mtu, err = tcp.PathMTUDiscover(ctx, tcpAddrs, minMTU, maxPossibleMTU, tryTimeout, fw, logger) if err != nil { if errors.Is(err, iptables.ErrMarkMatchModuleMissing) { logger.Debugf("aborting TCP path MTU discovery: %s", err) if icmpSuccess { return maxPossibleMTU, nil // only rely on ICMP PMTUD results } } if icmpSuccess { return 0, fmt.Errorf("%w - discarding ICMP obtained MTU %d", ErrICMPOkTCPFail, maxPossibleMTU) } return 0, fmt.Errorf("%w", ErrICMPFailTCPFail) } logger.Debugf("TCP path MTU discovery found maximum valid MTU %d", mtu) return mtu, nil } ================================================ FILE: internal/pmtud/pmtud_integration_test.go ================================================ //go:build integration package pmtud import ( "context" "net/netip" "testing" "time" "github.com/stretchr/testify/require" ) func Test_PathMTUDiscover(t *testing.T) { t.Parallel() const physicalLinkMTU = 1500 const timeout = time.Second mtu, err := PathMTUDiscover(context.Background(), netip.MustParseAddr("1.1.1.1"), physicalLinkMTU, timeout, nil) require.NoError(t, err) t.Log("MTU found:", mtu) } ================================================ FILE: internal/pmtud/tcp/helpers_test.go ================================================ package tcp import ( "errors" "fmt" "sync" "testing" "github.com/qdm12/gluetun/internal/command" "github.com/qdm12/gluetun/internal/firewall" "github.com/qdm12/gluetun/internal/firewall/iptables" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/routing" "github.com/qdm12/log" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.org/x/sys/unix" ) // testFirewall must be global to prevent parallel tests from interfering // with each other since they would interact with the same filter table. // The first test to use should initialize it, and the rest will reuse it. var ( testFirewall *firewall.Config //nolint:gochecknoglobals testFirewallOnce sync.Once //nolint:gochecknoglobals ) // getFirewall returns a Firewall instance, initializing it if needed. If // iptables is not supported, it skips the test. func getFirewall(t *testing.T) *firewall.Config { t.Helper() testFirewallOnce.Do(func() { noopLogger := &noopLogger{} cmder := command.New() var err error testFirewall, err = firewall.NewConfig(t.Context(), noopLogger, noopLogger, cmder, nil, nil) if errors.Is(err, iptables.ErrNotSupported) { t.Skip("iptables not installed, skipping TCP PMTUD tests") } require.NoError(t, err, "creating firewall config") }) if testFirewall == nil { t.Skip("iptables not installed, skipping TCP PMTUD tests") } return testFirewall } type noopLogger struct{} func (l *noopLogger) Patch(_ ...log.Option) {} func (l *noopLogger) Debug(_ string) {} func (l *noopLogger) Debugf(_ string, _ ...any) {} func (l *noopLogger) Info(_ string) {} func (l *noopLogger) Warn(_ string) {} func (l *noopLogger) Warnf(_ string, _ ...any) {} func (l *noopLogger) Error(_ string) {} var errRouteNotFound = errors.New("route not found") func findLoopbackMTU(netlinker *netlink.NetLink) (mtu uint32, err error) { routes, err := netlinker.RouteList(netlink.FamilyV4) if err != nil { return 0, fmt.Errorf("getting routes list: %w", err) } for _, route := range routes { if route.Dst.IsValid() && route.Dst.Addr().IsLoopback() { link, err := netlinker.LinkByIndex(route.LinkIndex) if err != nil { return 0, fmt.Errorf("getting link by index: %w", err) } // Quirk: make sure it is maximum 65535, and not i.e. 65536 // or the IP header 16 bits will fail to fit that packet length value. const maxMTU = 65535 return min(link.MTU, maxMTU), nil } } return 0, fmt.Errorf("%w: no loopback route found", errRouteNotFound) } func findDefaultRouteMTU(netlinker *netlink.NetLink) (mtu uint32, err error) { noopLogger := &noopLogger{} routing := routing.New(netlinker, noopLogger) defaultRoutes, err := routing.DefaultRoutes() if err != nil { return 0, fmt.Errorf("getting default routes: %w", err) } families := []uint8{constants.AF_INET, constants.AF_INET6} for _, family := range families { for _, route := range defaultRoutes { if route.Family != family { continue } link, err := netlinker.LinkByName(route.NetInterface) if err != nil { return 0, fmt.Errorf("getting link by name: %w", err) } mtu = max(mtu, link.MTU) } } if mtu == 0 { return 0, fmt.Errorf("%w: no default route found", errRouteNotFound) } return mtu, nil } func reserveClosedPort(t *testing.T) (port uint16) { t.Helper() fd, err := unix.Socket(constants.AF_INET, constants.SOCK_STREAM, constants.IPPROTO_TCP) require.NoError(t, err) t.Cleanup(func() { err := unix.Close(fd) assert.NoError(t, err) }) addr := &unix.SockaddrInet4{ Port: 0, Addr: [4]byte{127, 0, 0, 1}, } err = unix.Bind(fd, addr) if err != nil { _ = unix.Close(fd) t.Fatal(err) } sockAddr, err := unix.Getsockname(fd) if err != nil { _ = unix.Close(fd) t.Fatal(err) } sockAddr4, ok := sockAddr.(*unix.SockaddrInet4) if !ok { _ = unix.Close(fd) t.Fatal("not an IPv4 address") } return uint16(sockAddr4.Port) //nolint:gosec } ================================================ FILE: internal/pmtud/tcp/interfaces.go ================================================ package tcp import ( "context" "net/netip" ) type Firewall interface { TempDropOutputTCPRST(ctx context.Context, src, dst netip.AddrPort, excludeMark int) (revert func(ctx context.Context) error, err error) } type Logger interface { Debug(msg string) Debugf(msg string, args ...any) Warnf(msg string, args ...any) } ================================================ FILE: internal/pmtud/tcp/mocks_generate_test.go ================================================ package tcp //go:generate mockgen -destination=mocks_test.go -package=$GOPACKAGE . Logger ================================================ FILE: internal/pmtud/tcp/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/pmtud/tcp (interfaces: Logger) // Package tcp is a generated GoMock package. package tcp import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Debug mocks base method. func (m *MockLogger) Debug(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Debug", arg0) } // Debug indicates an expected call of Debug. func (mr *MockLoggerMockRecorder) Debug(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockLogger)(nil).Debug), arg0) } // Debugf mocks base method. func (m *MockLogger) Debugf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Debugf", varargs...) } // Debugf indicates an expected call of Debugf. func (mr *MockLoggerMockRecorder) Debugf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debugf", reflect.TypeOf((*MockLogger)(nil).Debugf), varargs...) } // Warnf mocks base method. func (m *MockLogger) Warnf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Warnf", varargs...) } // Warnf indicates an expected call of Warnf. func (mr *MockLoggerMockRecorder) Warnf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warnf", reflect.TypeOf((*MockLogger)(nil).Warnf), varargs...) } ================================================ FILE: internal/pmtud/tcp/mss.go ================================================ package tcp import ( "context" "errors" "fmt" "net/netip" "time" "github.com/qdm12/gluetun/internal/firewall/iptables" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/pmtud/ip" ) var errTCPServersUnreachable = errors.New("all TCP servers are unreachable") // findHighestMSSDestination finds the destination with the highest // MSS amongst the provided destinations. func findHighestMSSDestination(ctx context.Context, familyToFD map[int]fileDescriptor, dsts []netip.AddrPort, excludeMark int, maxPossibleMTU uint32, timeout time.Duration, tracker *tracker, fw Firewall, logger Logger) ( dst netip.AddrPort, mss uint32, err error, ) { type result struct { dst netip.AddrPort mss uint32 err error } resultCh := make(chan result) ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() for _, dst := range dsts { go func(dst netip.AddrPort) { fd := familyToFD[ip.GetFamily(dst)] mss, err := findMSS(ctx, fd, dst, excludeMark, tracker, fw, logger) resultCh <- result{dst: dst, mss: mss, err: err} }(dst) } for range dsts { result := <-resultCh if result.err != nil { switch { case err != nil: // error already occurred for another findMSS goroutine case errors.Is(result.err, iptables.ErrMarkMatchModuleMissing): err = fmt.Errorf("finding MSS for %s: %w", result.dst, result.err) case dst.Addr().Is6() && errors.Is(result.err, ip.ErrNetworkUnreachable): // silently discard IPv6 network unreachable errors since they are common // and expected when the host doesn't have IPv6 connectivity default: // another error not due to the match module missing logger.Debugf("finding MSS for %s failed: %s", result.dst, result.err) } continue } ipHeaderLength := ip.HeaderLength(result.dst.Addr().Is4()) maxNeededMSS := maxPossibleMTU - ipHeaderLength - constants.BaseTCPHeaderLength switch { case result.mss >= maxNeededMSS: logger.Debugf("%s has an MSS of %d bytes which is equal or higher than "+ "the maximum needed MSS of %d bytes for the maximum possible MTU of %d bytes", result.dst, result.mss, maxNeededMSS, maxPossibleMTU) return result.dst, result.mss, nil case result.mss > mss: mss = result.mss dst = result.dst } } if mss == 0 { // no MSS found for any destination return netip.AddrPort{}, 0, fmt.Errorf("%w (%d servers)", errTCPServersUnreachable, len(dsts)) } maxPossibleMTU = ip.HeaderLength(dst.Addr().Is4()) + constants.BaseTCPHeaderLength + mss logger.Debugf("server %s has the highest MSS %d allowing to test the MTU up to %d", dst, mss, maxPossibleMTU) return dst, mss, nil } var errMSSNotFound = errors.New("MSS option not found in reply") func findMSS(ctx context.Context, fd fileDescriptor, dst netip.AddrPort, excludeMark int, tracker *tracker, firewall Firewall, logger Logger) ( mss uint32, err error, ) { const proto = constants.IPPROTO_TCP src, cleanup, err := ip.SrcAddr(dst, proto) if err != nil { return 0, fmt.Errorf("getting source address: %w", err) } defer cleanup() revert, err := firewall.TempDropOutputTCPRST(ctx, src, dst, excludeMark) if err != nil { return 0, fmt.Errorf("temporarily dropping outgoing TCP RST packets: %w", err) } defer func() { // we don't want to skip reverting the firewall changes // even if the context is already expired, so we use a // background context here. err := revert(context.Background()) if err != nil { logger.Warnf("reverting firewall changes: %s", err) } }() ch := make(chan []byte) abort := make(chan struct{}) defer close(abort) tracker.register(src.Port(), dst.Port(), ch, abort) defer tracker.unregister(src.Port(), dst.Port()) dstSockAddr := makeSockAddr(dst) synPacket, synSeq := createSYNPacket(src, dst, 0) const sendToFlags = 0 err = sendTo(fd, synPacket, sendToFlags, dstSockAddr) if err != nil { return 0, fmt.Errorf("sending SYN packet: %w", err) } var reply []byte select { case <-ctx.Done(): _ = sendRST(fd, src, dst, synSeq+1) return 0, ctx.Err() case reply = <-ch: } replyHeader, err := parseTCPHeader(reply) switch { case err != nil: return 0, fmt.Errorf("parsing reply TCP header: %w", err) case replyHeader.typ != packetTypeSYNACK: return 0, fmt.Errorf("%w: unexpected packet type %s", errTCPPacketNotSynAck, replyHeader.typ) case replyHeader.ack != synSeq+1: return 0, fmt.Errorf("%w: expected %d, got %d", errTCPSynAckAckMismatch, synSeq+1, replyHeader.ack) case replyHeader.options.mss == 0: return 0, fmt.Errorf("%w: MSS option not found in reply", errMSSNotFound) } err = sendRST(fd, src, dst, replyHeader.ack) if err != nil { return 0, fmt.Errorf("sending RST packet: %w", err) } return replyHeader.options.mss, nil } ================================================ FILE: internal/pmtud/tcp/mss_test.go ================================================ //go:build linux package tcp import ( "context" "net/netip" "testing" "time" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_findHighestMSSDestination(t *testing.T) { t.Parallel() netlinker := netlink.New(&noopLogger{}) defaultMTU, err := findDefaultRouteMTU(netlinker) require.NoError(t, err, "finding default route MTU") ctx, cancel := context.WithCancel(t.Context()) families := []int{constants.AF_INET, constants.AF_INET6} familyToFD, stop, err := startRawSockets(families, excludeMark) require.NoError(t, err) tracker := newTracker(familyToFD) trackerCh := make(chan error) go func() { trackerCh <- tracker.listen(ctx) }() t.Cleanup(func() { stop() cancel() // stop listening err = <-trackerCh require.NoError(t, err) }) dsts := []netip.AddrPort{ netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 443), netip.AddrPortFrom(netip.AddrFrom4([4]byte{8, 8, 8, 8}), 443), netip.AddrPortFrom(netip.MustParseAddr("2606:4700:4700::1111"), 443), netip.AddrPortFrom(netip.MustParseAddr("2001:4860:4860::8888"), 443), } const timeout = time.Second fw := getFirewall(t) logger := &noopLogger{} dst, mss, err := findHighestMSSDestination(t.Context(), familyToFD, dsts, excludeMark, defaultMTU, timeout, tracker, fw, logger) require.NoError(t, err, "finding highest MSS destination") assert.Contains(t, dsts, dst, "destination should be in the provided list") assert.Greater(t, mss, uint32(1000), "MSS should be greater than 1000") assert.LessOrEqual(t, mss, constants.MaxEthernetFrameSize, "MSS should be less than or equal to the maximum Ethernet frame size ") } ================================================ FILE: internal/pmtud/tcp/multi.go ================================================ package tcp import ( "context" "errors" "fmt" "net/netip" "time" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/pmtud/ip" "github.com/qdm12/gluetun/internal/pmtud/test" ) var ( ErrMTUNotFound = errors.New("MTU not found") ErrMSSTooSmall = errors.New("TCP MSS is too small to find the MTU") ) type testUnit struct { mtu uint32 ok bool } const excludeMark = 4545 // PathMTUDiscover first finds the destination TCP server with the highest // available MSS, in order to be able to test the highest possible MTU. // If a server has an MSS larger than maxPossibleMTU, this one is used. // It then performs a binary search of the MTU between minMTU and maxPossibleMTU, // by sending IP packets with the Don't Fragment bit set and checking if they // are received or not, exploiting the stateful nature of TCP to be able to // correlate replies to the sent packets. // Note all dsts must be of the same IP family (all IPv4 or all IPv6). func PathMTUDiscover(ctx context.Context, dsts []netip.AddrPort, minMTU, maxPossibleMTU uint32, tryTimeout time.Duration, firewall Firewall, logger Logger, ) (mtu uint32, err error) { families := ip.GetFamilies(dsts) familyToFD, stop, err := startRawSockets(families, excludeMark) if err != nil { return 0, fmt.Errorf("starting raw sockets: %w", err) } defer stop() tracker := newTracker(familyToFD) trackerCtx, trackerCancel := context.WithCancel(ctx) defer trackerCancel() trackerErrCh := make(chan error) go func() { trackerErrCh <- tracker.listen(trackerCtx) }() type mssResult struct { dst netip.AddrPort mss uint32 err error } mssResultCh := make(chan mssResult) mssCtx, mssCancel := context.WithTimeout(ctx, tryTimeout) defer mssCancel() go func() { dst, mss, err := findHighestMSSDestination(mssCtx, familyToFD, dsts, excludeMark, maxPossibleMTU, tryTimeout, tracker, firewall, logger) mssResultCh <- mssResult{dst: dst, mss: mss, err: err} }() var result mssResult select { case err = <-trackerErrCh: mssCancel() <-mssResultCh return 0, fmt.Errorf("listening for TCP replies: %w", err) case result = <-mssResultCh: } if result.err != nil { trackerCancel() <-trackerErrCh return 0, fmt.Errorf("finding MSS: %w", result.err) } ipHeaderLength := ip.HeaderLength(result.dst.Addr().Is4()) maxPossibleMTU = ipHeaderLength + constants.BaseTCPHeaderLength + result.mss if minMTU > maxPossibleMTU { // Occasionally, the MSS is a lot smaller than the MTU found using ICMP const safetyBuffer = 100 minMTU = maxPossibleMTU - safetyBuffer } fd := familyToFD[ip.GetFamily(result.dst)] type pmtudResult struct { mtu uint32 err error } resultCh := make(chan pmtudResult) pmtudCtx, pmtudCancel := context.WithCancel(ctx) defer pmtudCancel() go func() { mtu, err := pathMTUDiscover(pmtudCtx, fd, result.dst, minMTU, maxPossibleMTU, excludeMark, tryTimeout, tracker, firewall, logger) resultCh <- pmtudResult{mtu: mtu, err: err} }() select { case err = <-trackerErrCh: pmtudCancel() <-resultCh return 0, fmt.Errorf("listening for TCP replies: %w", err) case result := <-resultCh: trackerCancel() <-trackerErrCh return result.mtu, result.err } } var errTimedOut = errors.New("timed out") func pathMTUDiscover(ctx context.Context, fd fileDescriptor, dst netip.AddrPort, minMTU, maxPossibleMTU uint32, excludeMark int, tryTimeout time.Duration, tracker *tracker, firewall Firewall, logger Logger, ) (mtu uint32, err error) { mtusToTest := test.MakeMTUsToTest(minMTU, maxPossibleMTU) if len(mtusToTest) == 1 { // only minMTU because minMTU == maxPossibleMTU return minMTU, nil } logger.Debugf("TCP testing the following MTUs: %v", mtusToTest) tests := make([]testUnit, len(mtusToTest)) for i := range mtusToTest { tests[i] = testUnit{mtu: mtusToTest[i]} } errCause := fmt.Errorf("%w: after %s", errTimedOut, tryTimeout) runCtx, runCancel := context.WithTimeoutCause(ctx, tryTimeout, errCause) defer runCancel() doneCh := make(chan struct{}) for i := range tests { go func(i int) { err := runTest(runCtx, dst, tests[i].mtu, excludeMark, fd, tracker, firewall, logger) tests[i].ok = err == nil doneCh <- struct{}{} }(i) } i := 0 for i < len(tests) { select { case <-runCtx.Done(): // timeout or parent context canceled err = context.Cause(runCtx) // collect remaining done signals for i < len(tests) { <-doneCh i++ } case <-doneCh: i++ } } if err != nil && !errors.Is(err, errTimedOut) { // context is canceled but did not timeout after tryTimeout return 0, fmt.Errorf("running MTU tests: %w", err) } if tests[len(tests)-1].ok { return tests[len(tests)-1].mtu, nil } for i := len(tests) - 2; i >= 0; i-- { //nolint:mnd if tests[i].ok { runCancel() // just to release resources although runCtx is no longer used return pathMTUDiscover(ctx, fd, dst, tests[i].mtu, tests[i+1].mtu-1, excludeMark, tryTimeout, tracker, firewall, logger) } } return 0, fmt.Errorf("%w: your connection might not be working at all", ErrMTUNotFound) } ================================================ FILE: internal/pmtud/tcp/packet.go ================================================ package tcp import ( "encoding/binary" "math/rand/v2" "net/netip" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/pmtud/ip" ) // createSYNPacket creates a TCP SYN packet for initiating a handshake. // SYN packets have normally no data payload, so you SHOULD set mtu to 0. // However, in some cases where the server closes the connection with RST immediately, // it can be useful to add some data payload to a SYN packet and check if the server still // replies. Only set mtu to a non zero value if you know what you are doing. func createSYNPacket(src, dst netip.AddrPort, mtu uint32) (packet []byte, seq uint32) { seq = rand.Uint32() //nolint:gosec const ack = 0 // SYN has no ACK number payloadLength := constants.BaseTCPHeaderLength // no data payload if mtu > 0 { payloadLength = getPayloadLength(mtu, dst) } return createPacket(src, dst, seq, ack, payloadLength, synFlag), seq } // createACKPacket creates a TCP ACK packet. // If the mtu is set to 0, no payload is sent. // Otherwise, the payload is calculated to test the MTU given. func createACKPacket(src, dst netip.AddrPort, seq, ack uint32, mtu uint32) []byte { payloadLength := constants.BaseTCPHeaderLength // no data payload if mtu > 0 { payloadLength = getPayloadLength(mtu, dst) } const flags = ackFlag | pshFlag return createPacket(src, dst, seq, ack, payloadLength, flags) } func createRSTPacket(src, dst netip.AddrPort, seq, ack uint32) []byte { const payloadLength = constants.BaseTCPHeaderLength // no data payload return createPacket(src, dst, seq, ack, payloadLength, rstFlag) } func getPayloadLength(mtu uint32, dst netip.AddrPort) uint32 { var ipHeaderLength uint32 if dst.Addr().Is4() { ipHeaderLength = constants.IPv4HeaderLength } else { ipHeaderLength = constants.IPv6HeaderLength } if mtu < ipHeaderLength+constants.BaseTCPHeaderLength { panic("MTU too small to hold IP and TCP headers") } return mtu - ipHeaderLength } func createPacket(src, dst netip.AddrPort, seq, ack, payloadLength uint32, flags byte, ) []byte { if payloadLength < constants.BaseTCPHeaderLength { panic("payload length is too small to hold TCP header") } var ipHeader []byte if dst.Addr().Is4() { ipHeader = ip.HeaderV4(src.Addr(), dst.Addr(), payloadLength) } else { // Pseudo-header, this is actually not part of the packet since // the kernel will calculate and add it itself to the packet; // it is only used for calculating the TCP checksum. ipHeader = ip.HeaderV6(src.Addr(), dst.Addr(), uint16(payloadLength), byte(constants.IPPROTO_TCP)) //nolint:gosec } tcpHeader := makeTCPHeader(src.Port(), dst.Port(), seq, ack, flags) dataLength := int(payloadLength - constants.BaseTCPHeaderLength) var data []byte if dataLength > 0 { data = generatePayload(uint16(dataLength)) //nolint:gosec } checksum := tcpChecksum(ipHeader, tcpHeader, data) tcpHeader[16] = byte(checksum >> 8) //nolint:mnd tcpHeader[17] = byte(checksum & 0xff) //nolint:mnd var packet []byte i := 0 if dst.Addr().Is4() { packet = make([]byte, len(ipHeader)+int(constants.BaseTCPHeaderLength)+dataLength) copy(packet, ipHeader) i += len(ipHeader) } else { packet = make([]byte, int(constants.BaseTCPHeaderLength)+dataLength) } copy(packet[i:], tcpHeader) i += int(constants.BaseTCPHeaderLength) copy(packet[i:], data) return packet } // generatePayload creates a byte slice of 'length' size. // For lengths below 88B, it returns pseudo random data. // For lengths above, it returns a structured TLS Client Hello with padding, // which is more likely to be accepted by servers and not trigger RST replies. // //nolint:mnd func generatePayload(length uint16) []byte { const minTLSClientHelloSize = 5 + // TLS record 4 + // handshake header 67 + // client hello 4 + // cipher suites 2 + // compression methods 2 + // extensions length 4 // padding extension header if length < minTLSClientHelloSize { data := make([]byte, length) makeRandom(data) return data } payload := make([]byte, length) // --- TLS Record Layer --- payload[0] = 0x16 // Handshake payload[1] = 0x03 // Version 3.1 payload[2] = 0x01 binary.BigEndian.PutUint16(payload[3:5], length-5) // --- Handshake Header --- payload[5] = 0x01 // Client Hello handshakeLength := make([]byte, 4) // TLS Handshake length is 24-bit. // We use a 4-byte buffer and copy the trailing 3 bytes. binary.BigEndian.PutUint32(handshakeLength, uint32(length-9)) copy(payload[6:9], handshakeLength[1:]) // --- Client Hello Body --- payload[9] = 0x03 // Version 3.3 (TLS 1.2) payload[10] = 0x03 makeRandom(payload[11:43]) // 32 bytes of random payload[43] = 32 // Session ID length // Cipher Suites (Length: 2, Data: 2) binary.BigEndian.PutUint16(payload[44:46], 2) binary.BigEndian.PutUint16(payload[46:48], 0x009c) // TLS_RSA_WITH_AES_128_GCM_SHA256 payload[48] = 0x01 // Compression length payload[49] = 0x00 // Null compression // --- Extensions --- binary.BigEndian.PutUint16(payload[50:52], length-52) // extension length // --- Padding Extension (Type 21) --- binary.BigEndian.PutUint16(payload[52:54], 21) const bytesUsedSoFar = 88 paddingDataLength := length - bytesUsedSoFar binary.BigEndian.PutUint16(payload[54:56], paddingDataLength) return payload } func makeRandom(b []byte) { for i := range b { b[i] = byte(rand.Uint32()) //nolint:gosec } } ================================================ FILE: internal/pmtud/tcp/tcp.go ================================================ package tcp import ( "context" "errors" "fmt" "net/netip" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/pmtud/ip" ) func startRawSockets(families []int, excludeMark int) (familyToSocket map[int]fileDescriptor, stop func(), err error) { familyToSocket = make(map[int]fileDescriptor, len(families)) stops := make([]func(), 0, len(families)) for _, family := range families { fd, stop, err := startRawSocket(family, excludeMark) if err != nil { for _, stop := range stops { stop() } return nil, nil, fmt.Errorf("starting raw socket for family %d: %w", family, err) } stops = append(stops, stop) familyToSocket[family] = fd } stop = func() { for _, stop := range stops { stop() } } return familyToSocket, stop, nil } func startRawSocket(family, excludeMark int) (fd fileDescriptor, stop func(), err error) { fdPlatform, err := socket(family, constants.SOCK_RAW, constants.IPPROTO_TCP) if err != nil { return 0, nil, fmt.Errorf("creating raw socket: %w", err) } err = setMark(fdPlatform, excludeMark) if err != nil { _ = closeSocket(fdPlatform) return 0, nil, fmt.Errorf("setting mark option on raw socket: %w", err) } if family == constants.AF_INET { err = ip.SetIPv4HeaderIncluded(fdPlatform) if err != nil { _ = closeSocket(fdPlatform) return 0, nil, fmt.Errorf("setting header option on raw socket: %w", err) } } // Allow sending packets larger than cached PMTU (for PMTUD probing) err = setMTUDiscovery(fdPlatform, family == constants.AF_INET) if err != nil { _ = closeSocket(fdPlatform) return 0, nil, fmt.Errorf("setting MTU discovery options: %w", err) } // use polling because some Linux systems do not cancel // blocking syscalls such as recvfrom when the socket is closed, // which would cause things to hang indefinitely. err = setNonBlock(fdPlatform) if err != nil { _ = closeSocket(fdPlatform) return 0, nil, fmt.Errorf("setting non-blocking mode: %w", err) } stop = func() { _ = closeSocket(fdPlatform) } return fileDescriptor(fdPlatform), stop, nil } var ( errTCPPacketNotSynAck = errors.New("TCP packet is not a SYN-ACK") errTCPSynAckAckMismatch = errors.New("TCP SYN-ACK ACK number does not match expected value") errFinalPacketTypeUnexpected = errors.New("final TCP packet type is unexpected") errTCPPacketLost = errors.New("TCP packet was lost") ) // Craft and send a raw TCP packet to test the MTU. // It expects either an RST reply (if no server is listening) // or a SYN-ACK/ACK reply (if a server is listening). func runTest(ctx context.Context, dst netip.AddrPort, mtu uint32, excludeMark int, fd fileDescriptor, tracker *tracker, firewall Firewall, logger Logger, ) error { const proto = constants.IPPROTO_TCP src, cleanup, err := ip.SrcAddr(dst, proto) if err != nil { return fmt.Errorf("getting source address: %w", err) } defer cleanup() revert, err := firewall.TempDropOutputTCPRST(ctx, src, dst, excludeMark) if err != nil { return fmt.Errorf("temporarily dropping outgoing TCP RST packets: %w", err) } defer func() { // we don't want to skip reverting the firewall changes // even if the context is already expired, so we use a // background context here. err := revert(context.Background()) if err != nil { logger.Warnf("reverting firewall changes: %s", err) } }() ch := make(chan []byte) abort := make(chan struct{}) defer close(abort) tracker.register(src.Port(), dst.Port(), ch, abort) defer tracker.unregister(src.Port(), dst.Port()) dstSockAddr := makeSockAddr(dst) synPacket, synSeq := createSYNPacket(src, dst, 0) const sendToFlags = 0 err = sendTo(fd, synPacket, sendToFlags, dstSockAddr) if err != nil { return fmt.Errorf("sending SYN packet: %w", err) } var reply []byte select { case <-ctx.Done(): _ = sendRST(fd, src, dst, synSeq+1) return ctx.Err() case reply = <-ch: } firstReplyHeader, err := parseTCPHeader(reply) switch { case err != nil: return fmt.Errorf("parsing first reply TCP header: %w", err) case firstReplyHeader.typ == packetTypeRST, firstReplyHeader.typ == packetTypeRSTACK: // server actively closed the connection, try sending a SYN with data return handleRSTReply(ctx, fd, ch, src, dst, mtu) case firstReplyHeader.typ != packetTypeSYNACK: return fmt.Errorf("%w: unexpected packet type %s", errTCPPacketNotSynAck, firstReplyHeader.typ) case firstReplyHeader.ack != synSeq+1: return fmt.Errorf("%w: expected %d, got %d", errTCPSynAckAckMismatch, synSeq+1, firstReplyHeader.ack) } if firstReplyHeader.options.mss != 0 { // If the server sent an MSS option, make sure our test packet is not larger than that MSS. tcpDataLength := getPayloadLength(mtu, dst) - constants.BaseTCPHeaderLength if tcpDataLength > firstReplyHeader.options.mss { diff := tcpDataLength - firstReplyHeader.options.mss minMTU := constants.MinIPv4MTU if dst.Addr().Is6() { minMTU = constants.MinIPv6MTU } diff = min(diff, mtu-minMTU) mtu -= diff } } // Send an ACK packet to finish the 3-way handshake, together with the // data to test the MTU, using TCP fast-open. ackPacket := createACKPacket(src, dst, firstReplyHeader.ack, firstReplyHeader.seq+1, mtu) err = sendTo(fd, ackPacket, sendToFlags, dstSockAddr) if err != nil { return fmt.Errorf("sending ACK packet: %w", err) } select { case <-ctx.Done(): _ = sendRST(fd, src, dst, firstReplyHeader.ack) return ctx.Err() case reply = <-ch: } finalPacketHeader, err := parseTCPHeader(reply) if err != nil { return fmt.Errorf("parsing second reply TCP header: %w", err) } switch finalPacketHeader.typ { //nolint:exhaustive case packetTypeRST: return nil case packetTypeACK: err = sendRST(fd, src, dst, finalPacketHeader.ack) if err != nil { return fmt.Errorf("sending RST packet: %w", err) } return nil case packetTypeSYNACK: // server never received our MTU-test ACK packet return fmt.Errorf("%w: server responded with second SYN-ACK packet", errTCPPacketLost) default: _ = sendRST(fd, src, dst, finalPacketHeader.ack) return fmt.Errorf("%w: %s", errFinalPacketTypeUnexpected, finalPacketHeader.typ) } } var errTCPPacketNotRST = errors.New("TCP packet is not an RST") func handleRSTReply(ctx context.Context, fd fileDescriptor, ch <-chan []byte, src, dst netip.AddrPort, mtu uint32, ) error { packet, synSeq := createSYNPacket(src, dst, mtu) const sendToFlags = 0 err := sendTo(fd, packet, sendToFlags, makeSockAddr(dst)) if err != nil { return fmt.Errorf("sending SYN MTU-test packet: %w", err) } var reply []byte select { case <-ctx.Done(): _ = sendRST(fd, src, dst, synSeq+1) return ctx.Err() // timeout: the MTU test SYN packet was too big case reply = <-ch: } replyPacketHeader, err := parseTCPHeader(reply) if err != nil { return fmt.Errorf("parsing reply TCP header: %w", err) } else if replyPacketHeader.typ != packetTypeRST && replyPacketHeader.typ != packetTypeRSTACK { return fmt.Errorf("%w: %s", errTCPPacketNotRST, replyPacketHeader.typ) } return nil } func sendRST(fd fileDescriptor, src, dst netip.AddrPort, previousACK uint32, ) error { seq := previousACK const ack = 0 rstPacket := createRSTPacket(src, dst, seq, ack) const sendToFlags = 0 return sendTo(fd, rstPacket, sendToFlags, makeSockAddr(dst)) } ================================================ FILE: internal/pmtud/tcp/tcp_darwin.go ================================================ package tcp func stripIPv4Header(reply []byte) (result []byte, ok bool) { return reply, true } ================================================ FILE: internal/pmtud/tcp/tcp_integration_test.go ================================================ //go:build integration package tcp import ( "errors" "net/netip" "testing" "time" "github.com/qdm12/gluetun/internal/command" "github.com/qdm12/gluetun/internal/firewall" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/log" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_PathMTUDiscover(t *testing.T) { t.Parallel() const tryTimeout = time.Second deadline, ok := t.Deadline() if ok { timeLeft := time.Until(deadline) const maxTimeNeeded = tryTimeout * 4 // MSS discovery + 3 MTU tries require.GreaterOrEqual(t, timeLeft, maxTimeNeeded, "not enough time remaining for TCP PMTUD test, need %s and got %s", maxTimeNeeded, timeLeft) } logger := log.New(log.SetLevel(log.LevelDebug)) cmder := command.New() fw, err := firewall.NewConfig(t.Context(), logger, cmder, nil, nil) if errors.Is(err, firewall.ErrIPTablesNotSupported) { t.Skip("iptables not installed, skipping TCP PMTUD tests") } require.NoError(t, err, "creating firewall config") dsts := []netip.AddrPort{ netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 53), netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 443), netip.AddrPortFrom(netip.AddrFrom4([4]byte{8, 8, 8, 8}), 53), netip.AddrPortFrom(netip.AddrFrom4([4]byte{8, 8, 8, 8}), 443), netip.AddrPortFrom(netip.MustParseAddr("2606:4700:4700::1111"), 443), netip.AddrPortFrom(netip.MustParseAddr("2001:4860:4860::8888"), 443), } const minMTU = constants.MinIPv6MTU const maxMTU = constants.MaxEthernetFrameSize mtu, err := PathMTUDiscover(t.Context(), dsts, minMTU, maxMTU, tryTimeout, fw, logger) require.NoError(t, err, "discovering path MTU") assert.Greater(t, mtu, uint32(0), "MTU should be greater than 0") t.Logf("discovered path MTU is %d", mtu) } ================================================ FILE: internal/pmtud/tcp/tcp_linux.go ================================================ package tcp import "golang.org/x/sys/unix" // setMark sets a mark on each packets sent through this socket. // This is used in conjunction with iptables to block outgoing kernel automated // RST packets, since the kernel is not aware of us handling the connection manually. // For example: // iptables -A OUTPUT -p tcp --tcp-flags RST RST -m mark ! --mark 123 -j DROP // //nolint:dupword func setMark(fd, excludeMark int) error { return unix.SetsockoptInt(fd, unix.SOL_SOCKET, unix.SO_MARK, excludeMark) } func setMTUDiscovery(fd int, ipv4 bool) error { if ipv4 { return unix.SetsockoptInt(fd, unix.IPPROTO_IP, unix.IP_MTU_DISCOVER, unix.IP_PMTUDISC_PROBE) } return unix.SetsockoptInt(fd, unix.IPPROTO_IPV6, unix.IPV6_MTU_DISCOVER, unix.IPV6_PMTUDISC_PROBE) } ================================================ FILE: internal/pmtud/tcp/tcp_notdarwin.go ================================================ //go:build !darwin package tcp import ( "github.com/qdm12/gluetun/internal/pmtud/constants" ) func stripIPv4Header(reply []byte) (result []byte, ok bool) { if len(reply) < int(constants.IPv4HeaderLength) { return nil, false // not an IPv4 packet } version := reply[0] >> 4 //nolint:mnd const ipv4Version = 4 if version != ipv4Version { return nil, false } // For IPv4 we need to skip the IP header, which is at least // 20B and can be up to 60B. // The Internet Header Length is the lower 4 bits of the first byte and // represents the number of 32-bit words of the header length. const ihlMask byte = 0x0F const bytesInWord = 4 headerLength := int((reply[0] & ihlMask)) * bytesInWord if len(reply) < headerLength { return nil, false // not enough data for full IPv4 header } return reply[headerLength:], true } ================================================ FILE: internal/pmtud/tcp/tcp_test.go ================================================ //go:build linux package tcp import ( "context" "net/netip" "testing" "time" gomock "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/pmtud/ip" "github.com/stretchr/testify/require" ) func Test_runTest(t *testing.T) { t.Parallel() localNonListenPort := reserveClosedPort(t) noopLogger := &noopLogger{} netlinker := netlink.New(noopLogger) loopbackMTU, err := findLoopbackMTU(netlinker) require.NoError(t, err, "finding loopback IPv4 MTU") defaultMTU, err := findDefaultRouteMTU(netlinker) require.NoError(t, err, "finding default route MTU") ctx, cancel := context.WithCancel(t.Context()) familyToFD, stop, err := startRawSockets([]int{constants.AF_INET, constants.AF_INET6}, excludeMark) require.NoError(t, err) tracker := newTracker(familyToFD) trackerCh := make(chan error) go func() { trackerCh <- tracker.listen(ctx) }() // Our local ethernet MTU could be 1500, and the server could advertise // an MSS of 1400, but the real link to the server could have an MTU of 1300, // so we need to adjust our test so it passes. We are not actually path MTU // discovering here, just testing that we can receive the expected TCP packets // for a given MTU. const mtuSafetyBuffer = 200 t.Cleanup(func() { stop() cancel() // stop listening err = <-trackerCh require.NoError(t, err) }) testCases := map[string]struct { timeout time.Duration server netip.AddrPort mtu uint32 success bool }{ "local_not_listening": { timeout: time.Hour, server: netip.AddrPortFrom(netip.AddrFrom4([4]byte{127, 0, 0, 1}), localNonListenPort), mtu: loopbackMTU, success: true, }, "remote_not_listening": { timeout: 50 * time.Millisecond, server: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 12345), mtu: defaultMTU - mtuSafetyBuffer, }, "1.1.1.1:443": { timeout: 5 * time.Second, server: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 443), mtu: defaultMTU - mtuSafetyBuffer, success: true, }, "1.1.1.1:80": { timeout: 5 * time.Second, server: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 80), mtu: defaultMTU - mtuSafetyBuffer, success: true, }, "8.8.8.8:443": { timeout: 5 * time.Second, server: netip.AddrPortFrom(netip.AddrFrom4([4]byte{8, 8, 8, 8}), 443), mtu: defaultMTU - mtuSafetyBuffer, success: true, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) dst := testCase.server fd := familyToFD[ip.GetFamily(dst)] fw := getFirewall(t) logger := NewMockLogger(ctrl) ctx, cancel := context.WithTimeout(t.Context(), testCase.timeout) defer cancel() err := runTest(ctx, dst, testCase.mtu, excludeMark, fd, tracker, fw, logger) if testCase.success { require.NoError(t, err) } else { require.Error(t, err) } }) } } ================================================ FILE: internal/pmtud/tcp/tcp_unix.go ================================================ //go:build linux || darwin package tcp import ( "net/netip" "time" "golang.org/x/sys/unix" ) // fileDescriptor is a platform-independent type for socket file descriptors. type fileDescriptor int func socket(domain int, typ int, proto int) (fd int, err error) { return unix.Socket(domain, typ, proto) } func closeSocket(fd int) error { return unix.Close(fd) } func sendTo(fd fileDescriptor, p []byte, flags int, to unix.Sockaddr) (err error) { return unix.Sendto(int(fd), p, flags, to) } func setSocketTimeout(fd fileDescriptor, timeout time.Duration) (err error) { timeval := unix.NsecToTimeval(timeout.Nanoseconds()) return unix.SetsockoptTimeval(int(fd), unix.SOL_SOCKET, unix.SO_RCVTIMEO, &timeval) } func recvFrom(fd fileDescriptor, p []byte, flags int) (n int, from unix.Sockaddr, err error) { return unix.Recvfrom(int(fd), p, flags) } func setNonBlock(fd int) error { return unix.SetNonblock(fd, true) } func makeSockAddr(addr netip.AddrPort) unix.Sockaddr { if addr.Addr().Is4() { return &unix.SockaddrInet4{ Port: int(addr.Port()), Addr: addr.Addr().As4(), } } return &unix.SockaddrInet6{ Port: 0, Addr: addr.Addr().As16(), } } ================================================ FILE: internal/pmtud/tcp/tcp_unspecified.go ================================================ //go:build !linux && !windows package tcp func setMark(fd, excludeMark int) error { panic("not implemented") } func setMTUDiscovery(fd int, ipv4 bool) error { panic("not implemented") } ================================================ FILE: internal/pmtud/tcp/tcp_windows.go ================================================ package tcp import ( "net/netip" "time" "unsafe" "golang.org/x/sys/windows" ) type fileDescriptor windows.Handle func socket(domain int, typ int, proto int) (fd windows.Handle, err error) { return windows.Socket(domain, typ, proto) } func closeSocket(fd windows.Handle) error { return windows.Close(fd) } func sendTo(fd fileDescriptor, p []byte, flags int, to windows.Sockaddr) (err error) { return windows.Sendto(windows.Handle(fd), p, flags, to) } func setSocketTimeout(fd fileDescriptor, timeout time.Duration) (err error) { timeval := int(timeout.Milliseconds()) return windows.SetsockoptInt(windows.Handle(fd), windows.SOL_SOCKET, windows.SO_RCVTIMEO, timeval) } func recvFrom(fd fileDescriptor, p []byte, flags int) (n int, from windows.Sockaddr, err error) { return windows.Recvfrom(windows.Handle(fd), p, flags) } func setMark(fd windows.Handle, _ int) error { panic("not implemented") } func setMTUDiscovery(fd windows.Handle, ipv4 bool) error { panic("not implemented") } func setNonBlock(fd windows.Handle) error { // Windows: Use ioctlsocket with FIONBIO var arg uint32 = 1 // 1 to enable non-blocking mode var bytesReturned uint32 const FIONBIO = 0x8004667e return windows.WSAIoctl(fd, FIONBIO, (*byte)(unsafe.Pointer(&arg)), uint32(unsafe.Sizeof(arg)), nil, 0, &bytesReturned, nil, 0) } func makeSockAddr(addr netip.AddrPort) windows.Sockaddr { if addr.Addr().Is4() { return &windows.SockaddrInet4{ Port: int(addr.Port()), Addr: addr.Addr().As4(), } } return &windows.SockaddrInet6{ Port: int(addr.Port()), Addr: addr.Addr().As16(), } } ================================================ FILE: internal/pmtud/tcp/tcpheader.go ================================================ package tcp import ( "encoding/binary" "errors" "fmt" "github.com/qdm12/gluetun/internal/pmtud/constants" ) // For SYN, ack is 0. // For SYN-ACK, ack is the sequence number + 1 of the SYN. func makeTCPHeader(srcPort, dstPort uint16, seq, ack uint32, flags byte) []byte { header := make([]byte, constants.BaseTCPHeaderLength) binary.BigEndian.PutUint16(header[0:], srcPort) binary.BigEndian.PutUint16(header[2:], dstPort) binary.BigEndian.PutUint32(header[4:], seq) binary.BigEndian.PutUint32(header[8:], ack) //nolint:mnd header[12] = byte(constants.BaseTCPHeaderLength) << 2 // data offset header[13] = flags // windowSize can be left to 5840 even for IPv6, it doesn't matter. const windowSize = 5840 binary.BigEndian.PutUint16(header[14:], windowSize) // header[16:17] is the checksum, set later // header[18:19] is urgent pointer, not needed for our use case return header } //nolint:mnd func tcpChecksum(ipHeader, tcpHeader, payload []byte) uint16 { var pseudoHeader []byte isIPv6 := len(ipHeader) >= 40 && (ipHeader[0]>>4) == 6 if isIPv6 { pseudoHeader = make([]byte, 40) copy(pseudoHeader[0:16], ipHeader[8:24]) // Source Address copy(pseudoHeader[16:32], ipHeader[24:40]) // Destination Address totalLength := uint32(len(tcpHeader) + len(payload)) //nolint:gosec binary.BigEndian.PutUint32(pseudoHeader[32:], totalLength) pseudoHeader[39] = 6 // Next Header (TCP) } else { pseudoHeader = make([]byte, 12) copy(pseudoHeader[0:4], ipHeader[12:16]) copy(pseudoHeader[4:8], ipHeader[16:20]) pseudoHeader[9] = 6 totalLength := uint16(len(tcpHeader) + len(payload)) //nolint:gosec binary.BigEndian.PutUint16(pseudoHeader[10:], totalLength) } sum := uint32(0) for _, slice := range [][]byte{pseudoHeader, tcpHeader, payload} { for i := 0; i < len(slice)-1; i += 2 { sum += uint32(binary.BigEndian.Uint16(slice[i : i+2])) } if len(slice)%2 != 0 { sum += uint32(slice[len(slice)-1]) << 8 } } for (sum >> 16) > 0 { sum = (sum & 0xFFFF) + (sum >> 16) } return ^uint16(sum) //nolint:gosec } const ( finFlag byte = 0x01 synFlag byte = 0x02 rstFlag byte = 0x04 pshFlag byte = 0x08 ackFlag byte = 0x10 ) type packetType uint8 const ( packetTypeSYN packetType = iota + 1 packetTypeSYNACK packetTypeFIN packetTypeFINACK packetTypeRST packetTypeRSTACK packetTypePSHACK packetTypeACK ) func (p packetType) String() string { switch p { case packetTypeSYN: return "SYN" case packetTypeSYNACK: return "SYN-ACK" case packetTypeFIN: return "FIN" case packetTypeFINACK: return "FIN-ACK" case packetTypeRST: return "RST" case packetTypeRSTACK: return "RST-ACK" case packetTypePSHACK: return "PSH-ACK" case packetTypeACK: return "ACK" default: panic("unknown packet type") } } type tcpHeader struct { typ packetType srcPort uint16 dstPort uint16 seq uint32 ack uint32 dataOffset uint8 flags uint8 windowSize uint16 checksum uint16 urgentPtr uint16 options options } var ( errTCPHeaderTooShort = errors.New("TCP header is too short") errTCPHeaderDataOffset = errors.New("TCP header data offset is invalid") errTCPPacketTypeUnknown = errors.New("TCP packet type is unknown") ) // parseTCPHeader parses the TCP header from b. // b should be the entire TCP packet bytes. func parseTCPHeader(b []byte) (header tcpHeader, err error) { if len(b) < int(constants.BaseTCPHeaderLength) { return tcpHeader{}, fmt.Errorf("%w: %d bytes", errTCPHeaderTooShort, len(b)) } header.srcPort = binary.BigEndian.Uint16(b[0:2]) header.dstPort = binary.BigEndian.Uint16(b[2:4]) header.seq = binary.BigEndian.Uint32(b[4:8]) header.ack = binary.BigEndian.Uint32(b[8:12]) // upper 4 bits of the 12th byte header.dataOffset = (b[12] >> 4) * 4 //nolint:mnd header.flags = b[13] header.windowSize = binary.BigEndian.Uint16(b[14:16]) header.checksum = binary.BigEndian.Uint16(b[16:18]) header.urgentPtr = binary.BigEndian.Uint16(b[18:20]) switch { case uint32(header.dataOffset) < constants.BaseTCPHeaderLength: return tcpHeader{}, fmt.Errorf("%w: data offset is %d bytes, expected at least %d bytes", errTCPHeaderDataOffset, header.dataOffset, constants.BaseTCPHeaderLength) case int(header.dataOffset) > len(b): return tcpHeader{}, fmt.Errorf("%w: data offset is %d bytes, but packet is only %d bytes", errTCPHeaderDataOffset, header.dataOffset, len(b)) } if uint32(header.dataOffset) > constants.BaseTCPHeaderLength { optionsBytes := b[constants.BaseTCPHeaderLength:header.dataOffset] header.options, err = parseTCPOptions(optionsBytes) if err != nil { return tcpHeader{}, fmt.Errorf("parsing TCP options: %w", err) } } flags := header.flags switch { case flags&synFlag != 0: if flags&ackFlag != 0 { header.typ = packetTypeSYNACK } else { header.typ = packetTypeSYN } case flags&rstFlag != 0: if flags&ackFlag != 0 { header.typ = packetTypeRSTACK } else { header.typ = packetTypeRST } case flags&finFlag != 0: if flags&ackFlag != 0 { header.typ = packetTypeFINACK } else { header.typ = packetTypeFIN } case flags&pshFlag != 0: header.typ = packetTypePSHACK case flags&ackFlag != 0: header.typ = packetTypeACK default: return tcpHeader{}, fmt.Errorf("%w: flags are 0x%02x", errTCPPacketTypeUnknown, flags) } header.seq = binary.BigEndian.Uint32(b[4:8]) header.ack = binary.BigEndian.Uint32(b[8:12]) return header, nil } type options struct { mss uint32 windowScale *uint8 // Pointer to differentiate between 0 and "not present" sackPermitted bool timestamps *optionTimestamps } type optionTimestamps struct { value uint32 echo uint32 } var ( errTCPOptionLengthTruncated = errors.New("TCP option length is truncated") ErrTCPOptionLengthInvalid = errors.New("TCP option length is invalid") ErrTCPOptionMSSInvalid = errors.New("TCP option MSS value is invalid") ErrTCPOptionWindowScaleInvalid = errors.New("TCP option Window Scale value is invalid") ErrTCPOptionTimestampsInvalid = errors.New("TCP option Timestamps value is invalid") errTCPOptionTypeUnknown = errors.New("TCP option type is unknown") ) func parseTCPOptions(b []byte) (parsed options, err error) { i := 0 for i < len(b) { optionType := b[i] // Handle single-byte options if optionType == 0 { // End of List break } if optionType == 1 { // No-Operation (Padding) i++ continue } // Handle TLV (Type-Length-Value) options if i+1 >= len(b) { // This should not happen for DF packets. return options{}, fmt.Errorf("%w: at offset %d", errTCPOptionLengthTruncated, i) } length := int(b[i+1]) const minLength = 2 maxLength := len(b) - i switch { case length < minLength: return options{}, fmt.Errorf("%w: type %d at offset %d has length %d < %d", ErrTCPOptionLengthInvalid, optionType, i, length, minLength) case length > maxLength: return options{}, fmt.Errorf("%w: type %d at offset %d has length %d > %d", ErrTCPOptionLengthInvalid, optionType, i, length, maxLength) } data := b[i+2 : i+length] const ( optionTypeMSS = 2 optionTypeWindowScale = 3 optionTypeSACKPermitted = 4 optionTypeTimestamps = 8 ) switch optionType { case optionTypeMSS: const expectedLength = 4 if length != expectedLength { return options{}, fmt.Errorf("%w: MSS option at offset %d has length %d, expected %d", ErrTCPOptionMSSInvalid, i, length, expectedLength) } parsed.mss = uint32(binary.BigEndian.Uint16(data)) case optionTypeWindowScale: const expectedLength = 3 if length != expectedLength { return options{}, fmt.Errorf("%w: window scale option at offset %d has length %d, expected %d", ErrTCPOptionWindowScaleInvalid, i, length, expectedLength) } windowScale := data[0] parsed.windowScale = &windowScale case optionTypeSACKPermitted: parsed.sackPermitted = true case optionTypeTimestamps: const expectedLength = 10 if length != expectedLength { return options{}, fmt.Errorf("%w: timestamps option at offset %d has length %d, expected %d", ErrTCPOptionTimestampsInvalid, i, length, expectedLength) } parsed.timestamps = &optionTimestamps{ value: binary.BigEndian.Uint32(data[:4]), echo: binary.BigEndian.Uint32(data[4:]), } default: return options{}, fmt.Errorf("%w: type %d", errTCPOptionTypeUnknown, optionType) } i += length } return parsed, nil } ================================================ FILE: internal/pmtud/tcp/tracker.go ================================================ package tcp import ( "context" "encoding/binary" "errors" "fmt" "sync" "time" "github.com/qdm12/gluetun/internal/pmtud/constants" ) type tracker struct { familyToFD map[int]fileDescriptor mutex sync.RWMutex portsToDispatch map[uint32]dispatch } type dispatch struct { replyCh chan<- []byte abort <-chan struct{} } func newTracker(familyToFD map[int]fileDescriptor) *tracker { return &tracker{ familyToFD: familyToFD, portsToDispatch: make(map[uint32]dispatch), } } func (t *tracker) constructKey(localPort, remotePort uint16) uint32 { buf := make([]byte, 4) //nolint:mnd binary.BigEndian.PutUint16(buf[0:2], localPort) binary.BigEndian.PutUint16(buf[2:4], remotePort) return binary.BigEndian.Uint32(buf) } func (t *tracker) register(localPort, remotePort uint16, ch chan<- []byte, abort <-chan struct{}, ) { key := t.constructKey(localPort, remotePort) t.mutex.Lock() defer t.mutex.Unlock() t.portsToDispatch[key] = dispatch{ replyCh: ch, abort: abort, } } func (t *tracker) unregister(localPort, remotePort uint16) { key := t.constructKey(localPort, remotePort) t.mutex.Lock() defer t.mutex.Unlock() delete(t.portsToDispatch, key) } func (t *tracker) listen(ctx context.Context) (err error) { ctx, cancel := context.WithCancel(ctx) defer cancel() type result struct { family int err error } resultCh := make(chan result) for family, fd := range t.familyToFD { go func(family int, fd fileDescriptor) { err := t.listenFD(ctx, fd, family == constants.AF_INET) resultCh <- result{family: family, err: err} }(family, fd) } for range t.familyToFD { result := <-resultCh if err == nil && result.err != nil { cancel() // stop the other listener if it is still running err = fmt.Errorf("listening for family %d: %w", result.family, result.err) } } return err } // listenFD listens for incoming TCP packets on the given file descriptor, // and dispatches them to the correct channel based on the source and destination port. // If the context has a deadline associated, this one is used on the socket. // Note it returns a nil error on context cancellation. func (t *tracker) listenFD(ctx context.Context, fd fileDescriptor, ipv4 bool) error { deadline, hasDeadline := ctx.Deadline() for ctx.Err() == nil { if hasDeadline { remaining := time.Until(deadline) if remaining <= 0 { return nil } err := setSocketTimeout(fd, remaining) if err != nil { return fmt.Errorf("setting socket receive timeout: %w", err) } } reply := make([]byte, constants.MaxEthernetFrameSize) n, _, err := recvFrom(fd, reply, 0) if err != nil { switch { case errors.Is(err, constants.EAGAIN), errors.Is(err, constants.EWOULDBLOCK): pollSleep(ctx) continue case ctx.Err() != nil: // context canceled, stop listening so exit cleanly with no error return nil //nolint:nilerr default: return fmt.Errorf("receiving on socket: %w", err) } } reply = reply[:n] if ipv4 { var ok bool reply, ok = stripIPv4Header(reply) if !ok { continue // not an IPv4 packet } } const minTCPHeaderLength = 20 if len(reply) < minTCPHeaderLength { continue } srcPort := binary.BigEndian.Uint16(reply[0:2]) dstPort := binary.BigEndian.Uint16(reply[2:4]) key := t.constructKey(dstPort, srcPort) t.mutex.RLock() dispatch, exists := t.portsToDispatch[key] t.mutex.RUnlock() if !exists { continue } select { case dispatch.replyCh <- reply: case <-dispatch.abort: } } return nil } func pollSleep(ctx context.Context) { const sleepBetweenPolls = 10 * time.Millisecond timer := time.NewTimer(sleepBetweenPolls) select { case <-ctx.Done(): timer.Stop() case <-timer.C: } } ================================================ FILE: internal/pmtud/test/mtu.go ================================================ package test import ( "fmt" "math" ) // MakeMTUsToTest determines a slice of MTU values to test // between minMTU and maxMTU inclusive. It creates an MTU // slice of length up to 11 MTUs such that: // - the first element is the minMTU // - the last element is the maxMTU // - elements in-between are separated as close to each other // The number 11 is chosen to find the final MTU in 3 searches, // with a total search space of 1728 MTUs which is enough; // to find it in 2 searches requires 37 parallel queries which // could be blocked by firewalls. func MakeMTUsToTest(minMTU, maxMTU uint32) (mtus []uint32) { const mtusLength = 11 // find the final MTU in 3 searches diff := maxMTU - minMTU switch { case minMTU > maxMTU: panic(fmt.Sprintf("minMTU %d is greater than maxMTU %d", minMTU, maxMTU)) case diff <= mtusLength: mtus = make([]uint32, 0, diff) for mtu := minMTU; mtu <= maxMTU; mtu++ { mtus = append(mtus, mtu) } default: step := float64(diff) / float64(mtusLength-1) mtus = make([]uint32, 0, mtusLength) for mtu := float64(minMTU); len(mtus) < mtusLength-1; mtu += step { mtus = append(mtus, uint32(math.Round(mtu))) } mtus = append(mtus, maxMTU) // last element is the maxMTU } return mtus } ================================================ FILE: internal/pmtud/test/mtu_test.go ================================================ package test import ( "testing" "github.com/stretchr/testify/assert" ) func Test_MakeMTUsToTest(t *testing.T) { t.Parallel() testCases := map[string]struct { minMTU uint32 maxMTU uint32 mtus []uint32 }{ "0_0": { mtus: []uint32{0}, }, "0_1": { maxMTU: 1, mtus: []uint32{0, 1}, }, "0_8": { maxMTU: 8, mtus: []uint32{0, 1, 2, 3, 4, 5, 6, 7, 8}, }, "0_12": { maxMTU: 12, mtus: []uint32{0, 1, 2, 4, 5, 6, 7, 8, 10, 11, 12}, }, "0_80": { maxMTU: 80, mtus: []uint32{0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80}, }, "0_100": { maxMTU: 100, mtus: []uint32{0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100}, }, "1280_1500": { minMTU: 1280, maxMTU: 1500, mtus: []uint32{1280, 1302, 1324, 1346, 1368, 1390, 1412, 1434, 1456, 1478, 1500}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() mtus := MakeMTUsToTest(testCase.minMTU, testCase.maxMTU) assert.Equal(t, testCase.mtus, mtus) }) } } ================================================ FILE: internal/pmtud/vpn.go ================================================ package pmtud import ( "net/netip" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" pconstants "github.com/qdm12/gluetun/internal/pmtud/constants" ) // MaxTheoreticalVPNMTU returns the theoretical maximum MTU for a VPN tunnel // given the VPN type, network protocol, and VPN gateway IP address. // This is notably useful to skip testing MTU values higher than this value. // The function panics if the network or VPN type is unknown. func MaxTheoreticalVPNMTU(vpnType, network string, vpnGateway netip.Addr) uint32 { const physicalLinkMTU = pconstants.MaxEthernetFrameSize vpnLinkMTU := physicalLinkMTU if vpnGateway.Is4() { vpnLinkMTU -= pconstants.IPv4HeaderLength } else { vpnLinkMTU -= pconstants.IPv6HeaderLength } switch network { case constants.TCP: vpnLinkMTU -= pconstants.BaseTCPHeaderLength case constants.UDP: vpnLinkMTU -= pconstants.UDPHeaderLength default: panic("unknown network protocol: " + network) } switch vpnType { case vpn.Wireguard: vpnLinkMTU -= pconstants.WireguardHeaderLength case vpn.OpenVPN: vpnLinkMTU -= pconstants.OpenVPNHeaderMaxLength default: panic("unknown VPN type: " + vpnType) } return vpnLinkMTU } ================================================ FILE: internal/portforward/interfaces.go ================================================ package portforward import ( "context" "net/netip" "os/exec" "github.com/qdm12/gluetun/internal/command" ) type Service interface { Start(ctx context.Context) (runError <-chan error, err error) Stop() (err error) GetPortsForwarded() (ports []uint16) SetPortsForwarded(ctx context.Context, ports []uint16) (err error) } type Routing interface { VPNLocalGatewayIP(vpnInterface string) (gateway netip.Addr, err error) AssignedIP(interfaceName string, family uint8) (ip netip.Addr, err error) } type PortAllower interface { SetAllowedPort(ctx context.Context, port uint16, intf string) (err error) RemoveAllowedPort(ctx context.Context, port uint16) (err error) RedirectPort(ctx context.Context, intf string, sourcePort, destinationPort uint16) (err error) } type Logger interface { Debug(s string) Info(s string) Warn(s string) Error(s string) } type Cmder interface { Start(cmd *exec.Cmd) (stdoutLines, stderrLines <-chan string, waitError <-chan error, startErr error) RunAndLog(ctx context.Context, commandString string, logger command.Logger) (err error) } ================================================ FILE: internal/portforward/loop.go ================================================ package portforward import ( "context" "errors" "fmt" "net/http" "sync" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/portforward/service" ) type Loop struct { // State settings Settings settingsMutex sync.RWMutex service Service // Fixed injected objects routing Routing client *http.Client portAllower PortAllower logger Logger cmder Cmder // Fixed parameters uid, gid int // Internal channels and locks // runCtx is used to detect when the loop has exited // when performing an update runCtx context.Context //nolint:containedctx runCancel context.CancelFunc runDone <-chan struct{} updateTrigger chan<- Settings updatedResult <-chan error } func NewLoop(settings settings.PortForwarding, routing Routing, client *http.Client, portAllower PortAllower, logger Logger, cmder Cmder, uid, gid int, ) *Loop { return &Loop{ settings: Settings{ VPNIsUp: ptrTo(false), Service: service.Settings{ Enabled: settings.Enabled, Filepath: *settings.Filepath, UpCommand: *settings.UpCommand, DownCommand: *settings.DownCommand, ListeningPort: *settings.ListeningPort, }, }, routing: routing, client: client, portAllower: portAllower, logger: logger, cmder: cmder, uid: uid, gid: gid, } } func (l *Loop) String() string { return "port forwarding loop" } func (l *Loop) Start(_ context.Context) (runError <-chan error, _ error) { l.runCtx, l.runCancel = context.WithCancel(context.Background()) runDone := make(chan struct{}) l.runDone = runDone updateTrigger := make(chan Settings) l.updateTrigger = updateTrigger updateResult := make(chan error) l.updatedResult = updateResult runErrorCh := make(chan error) go l.run(l.runCtx, runDone, runErrorCh, updateTrigger, updateResult) return runErrorCh, nil } func (l *Loop) run(runCtx context.Context, runDone chan<- struct{}, runErrorCh chan<- error, updateTrigger <-chan Settings, updateResult chan<- error, ) { defer close(runDone) var serviceRunError <-chan error for { updateReceived := false select { case <-runCtx.Done(): // Stop call takes care of stopping the service return case partialUpdate := <-updateTrigger: updatedSettings, err := l.settings.updateWith(partialUpdate, *l.settings.VPNIsUp) if err != nil { updateResult <- err continue } updateReceived = true l.settingsMutex.Lock() l.settings = updatedSettings l.settingsMutex.Unlock() case err := <-serviceRunError: l.logger.Error(err.Error()) } firstRun := serviceRunError == nil if !firstRun { err := l.service.Stop() if err != nil { runErrorCh <- fmt.Errorf("stopping previous service: %w", err) return } } serviceSettings := l.settings.Service.Copy() // Only enable port forward if the VPN tunnel is up *serviceSettings.Enabled = *serviceSettings.Enabled && *l.settings.VPNIsUp l.service = service.New(serviceSettings, l.routing, l.client, l.portAllower, l.logger, l.cmder, l.uid, l.gid) var err error serviceRunError, err = l.service.Start(runCtx) if updateReceived { // Signal to the Update call that the service has started // and if it failed to start. if err != nil { err = fmt.Errorf("starting port forwarding service: %w", err) } updateResult <- err } } } func (l *Loop) UpdateWith(partialUpdate Settings) (err error) { select { case l.updateTrigger <- partialUpdate: select { case err = <-l.updatedResult: return err case <-l.runCtx.Done(): return l.runCtx.Err() } case <-l.runCtx.Done(): // loop has been stopped, no update can be done return l.runCtx.Err() } } func (l *Loop) Stop() (err error) { l.runCancel() <-l.runDone if l.service != nil { return l.service.Stop() } return nil } func (l *Loop) GetPortsForwarded() (ports []uint16) { if l.service == nil { return nil } return l.service.GetPortsForwarded() } var ErrServiceNotStarted = errors.New("port forwarding service not started") func (l *Loop) SetPortsForwarded(ports []uint16) (err error) { if l.service == nil { return fmt.Errorf("%w", ErrServiceNotStarted) } return l.service.SetPortsForwarded(l.runCtx, ports) } func ptrTo[T any](value T) *T { return &value } ================================================ FILE: internal/portforward/service/command.go ================================================ package service import ( "context" "fmt" "strings" ) func runCommand(ctx context.Context, cmder Cmder, logger Logger, commandTemplate string, ports []uint16, vpnInterface string, ) (err error) { portStrings := make([]string, len(ports)) for i, port := range ports { portStrings[i] = fmt.Sprint(int(port)) } portsString := strings.Join(portStrings, ",") commandString := strings.ReplaceAll(commandTemplate, "{{PORTS}}", portsString) commandString = strings.ReplaceAll(commandString, "{{PORT}}", portStrings[0]) commandString = strings.ReplaceAll(commandString, "{{VPN_INTERFACE}}", vpnInterface) return cmder.RunAndLog(ctx, commandString, logger) } ================================================ FILE: internal/portforward/service/command_test.go ================================================ //go:build linux package service import ( "context" "testing" gomock "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/command" "github.com/stretchr/testify/require" ) func Test_Service_runCommand(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) ctx := context.Background() cmder := command.New() const commandTemplate = `/bin/sh -c "echo {{PORTS}}-{{PORT}}-{{VPN_INTERFACE}}"` ports := []uint16{1234, 5678} const vpnInterface = "tun0" logger := NewMockLogger(ctrl) logger.EXPECT().Info("1234,5678-1234-tun0") err := runCommand(ctx, cmder, logger, commandTemplate, ports, vpnInterface) require.NoError(t, err) } ================================================ FILE: internal/portforward/service/fs.go ================================================ package service import ( "fmt" "os" "strings" ) func (s *Service) writePortForwardedFile(ports []uint16) (err error) { portStrings := make([]string, len(ports)) for i, port := range ports { portStrings[i] = fmt.Sprint(int(port)) } fileData := []byte(strings.Join(portStrings, "\n")) filepath := s.settings.Filepath if len(ports) == 0 { s.logger.Info("clearing port file " + filepath) } else { s.logger.Info("writing port file " + filepath) } const perms = os.FileMode(0o644) err = os.WriteFile(filepath, fileData, perms) if err != nil { return fmt.Errorf("writing file: %w", err) } err = os.Chown(filepath, s.puid, s.pgid) if err != nil { return fmt.Errorf("chowning file: %w", err) } return nil } ================================================ FILE: internal/portforward/service/helpers.go ================================================ package service import ( "fmt" "strings" ) func portsToString(ports []uint16) (s string) { switch len(ports) { case 0: return "no port forwarded" case 1: return "port forwarded is " + fmt.Sprint(int(ports[0])) default: portStrings := make([]string, len(ports)) for i, port := range ports { portStrings[i] = fmt.Sprint(int(port)) } return "ports forwarded are " + strings.Join(portStrings[:len(portStrings)-1], ", ") + " and " + portStrings[len(portStrings)-1] } } ================================================ FILE: internal/portforward/service/helpers_test.go ================================================ package service import ( "testing" "github.com/stretchr/testify/assert" ) func Test_portsToString(t *testing.T) { t.Parallel() testCases := map[string]struct { ports []uint16 s string }{ "no_port": { s: "no port forwarded", }, "one_port": { ports: []uint16{123}, s: "port forwarded is 123", }, "two_ports": { ports: []uint16{123, 456}, s: "ports forwarded are 123 and 456", }, "three_ports": { ports: []uint16{123, 456, 789}, s: "ports forwarded are 123, 456 and 789", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() s := portsToString(testCase.ports) assert.Equal(t, testCase.s, s) }) } } ================================================ FILE: internal/portforward/service/interfaces.go ================================================ package service import ( "context" "net/netip" "github.com/qdm12/gluetun/internal/command" "github.com/qdm12/gluetun/internal/provider/utils" ) type PortAllower interface { SetAllowedPort(ctx context.Context, port uint16, intf string) (err error) RemoveAllowedPort(ctx context.Context, port uint16) (err error) RedirectPort(ctx context.Context, intf string, sourcePort, destinationPort uint16) (err error) } type Routing interface { VPNLocalGatewayIP(vpnInterface string) (gateway netip.Addr, err error) AssignedIP(interfaceName string, family uint8) (ip netip.Addr, err error) } type Logger interface { Debug(s string) Info(s string) Warn(s string) Error(s string) } type PortForwarder interface { Name() string PortForward(ctx context.Context, objects utils.PortForwardObjects) ( ports []uint16, err error) KeepPortForward(ctx context.Context, objects utils.PortForwardObjects) (err error) } type Cmder interface { RunAndLog(ctx context.Context, command string, logger command.Logger) (err error) } ================================================ FILE: internal/portforward/service/mocks_generate_test.go ================================================ package service //go:generate mockgen -destination=mocks_test.go -package=$GOPACKAGE . Logger ================================================ FILE: internal/portforward/service/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/portforward/service (interfaces: Logger) // Package service is a generated GoMock package. package service import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Debug mocks base method. func (m *MockLogger) Debug(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Debug", arg0) } // Debug indicates an expected call of Debug. func (mr *MockLoggerMockRecorder) Debug(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockLogger)(nil).Debug), arg0) } // Error mocks base method. func (m *MockLogger) Error(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Error", arg0) } // Error indicates an expected call of Error. func (mr *MockLoggerMockRecorder) Error(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Error", reflect.TypeOf((*MockLogger)(nil).Error), arg0) } // Info mocks base method. func (m *MockLogger) Info(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Info", arg0) } // Info indicates an expected call of Info. func (mr *MockLoggerMockRecorder) Info(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockLogger)(nil).Info), arg0) } // Warn mocks base method. func (m *MockLogger) Warn(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Warn", arg0) } // Warn indicates an expected call of Warn. func (mr *MockLoggerMockRecorder) Warn(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warn", reflect.TypeOf((*MockLogger)(nil).Warn), arg0) } ================================================ FILE: internal/portforward/service/service.go ================================================ package service import ( "context" "fmt" "net/http" "slices" "sync" ) type Service struct { // State portMutex sync.RWMutex ports []uint16 // Fixed parameters settings Settings puid int pgid int // Fixed injected objects routing Routing client *http.Client portAllower PortAllower logger Logger cmder Cmder // Internal channels and locks startStopMutex sync.Mutex keepPortCancel context.CancelFunc keepPortDoneCh <-chan struct{} } func New(settings Settings, routing Routing, client *http.Client, portAllower PortAllower, logger Logger, cmder Cmder, puid, pgid int, ) *Service { return &Service{ // Fixed parameters settings: settings, puid: puid, pgid: pgid, // Fixed injected objects routing: routing, client: client, portAllower: portAllower, logger: logger, cmder: cmder, } } func (s *Service) GetPortsForwarded() (ports []uint16) { s.portMutex.RLock() defer s.portMutex.RUnlock() ports = make([]uint16, len(s.ports)) copy(ports, s.ports) return ports } func (s *Service) SetPortsForwarded(ctx context.Context, ports []uint16) (err error) { s.startStopMutex.Lock() defer s.startStopMutex.Unlock() s.portMutex.Lock() defer s.portMutex.Unlock() slices.Sort(ports) if slices.Equal(s.ports, ports) { return nil } err = s.cleanup() if err != nil { return fmt.Errorf("cleaning up: %w", err) } err = s.onNewPorts(ctx, ports) if err != nil { return fmt.Errorf("handling new ports: %w", err) } s.logger.Info("updated: " + portsToString(s.ports)) return nil } ================================================ FILE: internal/portforward/service/settings.go ================================================ package service import ( "errors" "fmt" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gosettings" ) type Settings struct { Enabled *bool PortForwarder PortForwarder Filepath string UpCommand string DownCommand string Interface string // needed for PIA, PrivateVPN and ProtonVPN, tun0 for example ServerName string // needed for PIA CanPortForward bool // needed for PIA ListeningPort uint16 Username string // needed for PIA Password string // needed for PIA } func (s Settings) Copy() (copied Settings) { copied.Enabled = gosettings.CopyPointer(s.Enabled) copied.PortForwarder = s.PortForwarder copied.Filepath = s.Filepath copied.UpCommand = s.UpCommand copied.DownCommand = s.DownCommand copied.Interface = s.Interface copied.ServerName = s.ServerName copied.CanPortForward = s.CanPortForward copied.ListeningPort = s.ListeningPort copied.Username = s.Username copied.Password = s.Password return copied } func (s *Settings) OverrideWith(update Settings) { s.Enabled = gosettings.OverrideWithPointer(s.Enabled, update.Enabled) s.PortForwarder = gosettings.OverrideWithComparable(s.PortForwarder, update.PortForwarder) s.Filepath = gosettings.OverrideWithComparable(s.Filepath, update.Filepath) s.UpCommand = gosettings.OverrideWithComparable(s.UpCommand, update.UpCommand) s.DownCommand = gosettings.OverrideWithComparable(s.DownCommand, update.DownCommand) s.Interface = gosettings.OverrideWithComparable(s.Interface, update.Interface) s.ServerName = gosettings.OverrideWithComparable(s.ServerName, update.ServerName) s.CanPortForward = gosettings.OverrideWithComparable(s.CanPortForward, update.CanPortForward) s.ListeningPort = gosettings.OverrideWithComparable(s.ListeningPort, update.ListeningPort) s.Username = gosettings.OverrideWithComparable(s.Username, update.Username) s.Password = gosettings.OverrideWithComparable(s.Password, update.Password) } var ( ErrPortForwarderNotSet = errors.New("port forwarder not set") ErrServerNameNotSet = errors.New("server name not set") ErrUsernameNotSet = errors.New("username not set") ErrPasswordNotSet = errors.New("password not set") ErrFilepathNotSet = errors.New("file path not set") ErrInterfaceNotSet = errors.New("interface not set") ) func (s *Settings) Validate(forStartup bool) (err error) { // Minimal validation if s.Filepath == "" { return fmt.Errorf("%w", ErrFilepathNotSet) } if !forStartup { // No additional validation needed if the service // is not to be started with the given settings. return nil } // Startup validation requires additional fields set. switch { case s.PortForwarder == nil: return fmt.Errorf("%w", ErrPortForwarderNotSet) case s.Interface == "": return fmt.Errorf("%w", ErrInterfaceNotSet) case s.PortForwarder.Name() == providers.PrivateInternetAccess: switch { case s.ServerName == "": return fmt.Errorf("%w", ErrServerNameNotSet) case s.Username == "": return fmt.Errorf("%w", ErrUsernameNotSet) case s.Password == "": return fmt.Errorf("%w", ErrPasswordNotSet) } } return nil } ================================================ FILE: internal/portforward/service/start.go ================================================ package service import ( "context" "fmt" "slices" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/provider/utils" ) func (s *Service) Start(ctx context.Context) (runError <-chan error, err error) { s.startStopMutex.Lock() defer s.startStopMutex.Unlock() if !*s.settings.Enabled { return nil, nil //nolint:nilnil } s.logger.Info("starting") gateway, err := s.routing.VPNLocalGatewayIP(s.settings.Interface) if err != nil { return nil, fmt.Errorf("getting VPN local gateway IP: %w", err) } family := netlink.FamilyV4 if gateway.Is6() { family = netlink.FamilyV6 } internalIP, err := s.routing.AssignedIP(s.settings.Interface, family) if err != nil { return nil, fmt.Errorf("getting VPN assigned IP address: %w", err) } obj := utils.PortForwardObjects{ Logger: s.logger, Gateway: gateway, InternalIP: internalIP, Client: s.client, ServerName: s.settings.ServerName, CanPortForward: s.settings.CanPortForward, Username: s.settings.Username, Password: s.settings.Password, } ports, err := s.settings.PortForwarder.PortForward(ctx, obj) if err != nil { return nil, fmt.Errorf("port forwarding for the first time: %w", err) } s.portMutex.Lock() defer s.portMutex.Unlock() err = s.onNewPorts(ctx, ports) if err != nil { return nil, err } keepPortCtx, keepPortCancel := context.WithCancel(context.Background()) s.keepPortCancel = keepPortCancel runErrorCh := make(chan error) keepPortDoneCh := make(chan struct{}) s.keepPortDoneCh = keepPortDoneCh readyCh := make(chan struct{}) go func(ctx context.Context, portForwarder PortForwarder, obj utils.PortForwardObjects, readyCh chan<- struct{}, runError chan<- error, doneCh chan<- struct{}, ) { defer close(doneCh) close(readyCh) err = portForwarder.KeepPortForward(ctx, obj) crashed := ctx.Err() == nil if !crashed { // stopped by Stop call return } s.startStopMutex.Lock() defer s.startStopMutex.Unlock() s.portMutex.Lock() defer s.portMutex.Unlock() _ = s.cleanup() runError <- err }(keepPortCtx, s.settings.PortForwarder, obj, readyCh, runErrorCh, keepPortDoneCh) <-readyCh return runErrorCh, nil } func (s *Service) onNewPorts(ctx context.Context, ports []uint16) (err error) { slices.Sort(ports) s.logger.Info(portsToString(ports)) for _, port := range ports { err = s.portAllower.SetAllowedPort(ctx, port, s.settings.Interface) if err != nil { return fmt.Errorf("allowing port in firewall: %w", err) } if s.settings.ListeningPort != 0 { err = s.portAllower.RedirectPort(ctx, s.settings.Interface, port, s.settings.ListeningPort) if err != nil { return fmt.Errorf("redirecting port in firewall: %w", err) } } } err = s.writePortForwardedFile(ports) if err != nil { _ = s.cleanup() return fmt.Errorf("writing port file: %w", err) } s.ports = make([]uint16, len(ports)) copy(s.ports, ports) if s.settings.UpCommand != "" { err = runCommand(ctx, s.cmder, s.logger, s.settings.UpCommand, ports, s.settings.Interface) if err != nil { err = fmt.Errorf("running up command: %w", err) s.logger.Error(err.Error()) } } return nil } ================================================ FILE: internal/portforward/service/stop.go ================================================ package service import ( "context" "fmt" "time" ) func (s *Service) Stop() (err error) { s.startStopMutex.Lock() defer s.startStopMutex.Unlock() s.portMutex.RLock() serviceNotRunning := len(s.ports) == 0 s.portMutex.RUnlock() if serviceNotRunning { // TODO replace with goservices.ErrAlreadyStopped return nil } s.logger.Info("stopping") s.keepPortCancel() <-s.keepPortDoneCh return s.cleanup() } func (s *Service) cleanup() (err error) { if s.settings.DownCommand != "" { const downTimeout = 60 * time.Second ctx, cancel := context.WithTimeout(context.Background(), downTimeout) defer cancel() err = runCommand(ctx, s.cmder, s.logger, s.settings.DownCommand, s.ports, s.settings.Interface) if err != nil { err = fmt.Errorf("running down command: %w", err) s.logger.Error(err.Error()) } } for _, port := range s.ports { err = s.portAllower.RemoveAllowedPort(context.Background(), port) if err != nil { return fmt.Errorf("blocking previous port in firewall: %w", err) } if s.settings.ListeningPort != 0 { ctx := context.Background() const listeningPort = 0 // 0 to clear the redirection err = s.portAllower.RedirectPort(ctx, s.settings.Interface, port, listeningPort) if err != nil { return fmt.Errorf("removing previous port redirection in firewall: %w", err) } } } s.ports = nil err = s.writePortForwardedFile(nil) if err != nil { return fmt.Errorf("clearing port file: %w", err) } return nil } ================================================ FILE: internal/portforward/settings.go ================================================ package portforward import ( "github.com/qdm12/gluetun/internal/portforward/service" "github.com/qdm12/gosettings" ) type Settings struct { // VPNIsUp can be optionally set to signal the loop // the VPN is up (true) or down (false). If left to nil, // it is assumed the VPN is in the same previous state. VPNIsUp *bool Service service.Settings } // updateWith deep copies the receiving settings, overrides the copy with // fields set in the partialUpdate argument, validates the new settings // and returns them if they are valid, or returns an error otherwise. // In all cases, the receiving settings are unmodified. func (s Settings) updateWith(partialUpdate Settings, forStartup bool, ) (updated Settings, err error) { updated = s.copy() updated.overrideWith(partialUpdate) err = updated.validate(forStartup) if err != nil { return updated, err } return updated, nil } func (s Settings) copy() (copied Settings) { copied.VPNIsUp = gosettings.CopyPointer(s.VPNIsUp) copied.Service = s.Service.Copy() return copied } func (s *Settings) overrideWith(update Settings) { s.VPNIsUp = gosettings.OverrideWithPointer(s.VPNIsUp, update.VPNIsUp) s.Service.OverrideWith(update.Service) } func (s Settings) validate(forStartup bool) (err error) { return s.Service.Validate(forStartup) } ================================================ FILE: internal/pprof/helpers_test.go ================================================ package pprof import ( "regexp" gomock "github.com/golang/mock/gomock" ) func boolPtr(b bool) *bool { return &b } func intPtr(n int) *int { return &n } var _ gomock.Matcher = (*regexMatcher)(nil) type regexMatcher struct { regexp *regexp.Regexp } func (r *regexMatcher) Matches(x interface{}) bool { s, ok := x.(string) if !ok { return false } return r.regexp.MatchString(s) } func (r *regexMatcher) String() string { return "regular expression " + r.regexp.String() } func newRegexMatcher(regex string) *regexMatcher { return ®exMatcher{ regexp: regexp.MustCompile(regex), } } ================================================ FILE: internal/pprof/logger_mock_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/httpserver (interfaces: Logger) // Package pprof is a generated GoMock package. package pprof import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Error mocks base method. func (m *MockLogger) Error(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Error", arg0) } // Error indicates an expected call of Error. func (mr *MockLoggerMockRecorder) Error(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Error", reflect.TypeOf((*MockLogger)(nil).Error), arg0) } // Info mocks base method. func (m *MockLogger) Info(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Info", arg0) } // Info indicates an expected call of Info. func (mr *MockLoggerMockRecorder) Info(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockLogger)(nil).Info), arg0) } // Warn mocks base method. func (m *MockLogger) Warn(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Warn", arg0) } // Warn indicates an expected call of Warn. func (mr *MockLoggerMockRecorder) Warn(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warn", reflect.TypeOf((*MockLogger)(nil).Warn), arg0) } ================================================ FILE: internal/pprof/server.go ================================================ package pprof import ( "fmt" "net/http" "net/http/pprof" "runtime" "github.com/qdm12/gluetun/internal/httpserver" ) // New creates a new Pprof server and configure profiling // with the settings given. It returns an error // if one of the settings is not valid. func New(settings Settings) (server *httpserver.Server, err error) { runtime.SetBlockProfileRate(*settings.BlockProfileRate) runtime.SetMutexProfileFraction(*settings.MutexProfileRate) handler := http.NewServeMux() handler.HandleFunc("/debug/pprof/", pprof.Index) handler.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline) handler.HandleFunc("/debug/pprof/profile", pprof.Profile) handler.HandleFunc("/debug/pprof/symbol", pprof.Symbol) handler.HandleFunc("/debug/pprof/trace", pprof.Trace) handler.Handle("/debug/pprof/block", pprof.Handler("block")) handler.Handle("/debug/pprof/goroutine", pprof.Handler("goroutine")) handler.Handle("/debug/pprof/heap", pprof.Handler("heap")) handler.Handle("/debug/pprof/threadcreate", pprof.Handler("threadcreate")) settings.HTTPServer.Handler = handler settings.SetDefaults() if err = settings.Validate(); err != nil { return nil, fmt.Errorf("pprof settings failed validation: %w", err) } return httpserver.New(settings.HTTPServer) } ================================================ FILE: internal/pprof/server_test.go ================================================ package pprof import ( "context" "io" "net/http" "testing" "time" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/httpserver" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) //go:generate mockgen -destination=logger_mock_test.go -package $GOPACKAGE github.com/qdm12/gluetun/internal/httpserver Logger func Test_Server(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) const address = "127.0.0.1:0" logger := NewMockLogger(ctrl) logger.EXPECT().Info(newRegexMatcher("^http server listening on 127.0.0.1:[1-9][0-9]{0,4}$")) const httpServerShutdownTimeout = 10 * time.Second // 10s in case test worker is slow settings := Settings{ BlockProfileRate: intPtr(0), MutexProfileRate: intPtr(0), HTTPServer: httpserver.Settings{ Address: address, Logger: logger, ShutdownTimeout: httpServerShutdownTimeout, }, } server, err := New(settings) require.NoError(t, err) require.NotNil(t, server) ctx, cancel := context.WithCancel(context.Background()) ready := make(chan struct{}) done := make(chan struct{}) go server.Run(ctx, ready, done) select { case <-ready: case err := <-done: t.Fatalf("server crashed before being ready: %s", err) } serverAddress := server.GetAddress() const clientTimeout = 2 * time.Second httpClient := &http.Client{Timeout: clientTimeout} pathsToCheck := []string{ "debug/pprof/", "debug/pprof/cmdline", "debug/pprof/profile?seconds=1", "debug/pprof/symbol", "debug/pprof/trace?seconds=1", "debug/pprof/block", "debug/pprof/goroutine", "debug/pprof/heap", "debug/pprof/threadcreate", } type httpResult struct { url string response *http.Response err error } results := make(chan httpResult) for _, pathToCheck := range pathsToCheck { url := "http://" + serverAddress + "/" + pathToCheck request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) require.NoError(t, err) go func(client *http.Client, request *http.Request, results chan<- httpResult) { response, err := client.Do(request) //nolint:bodyclose results <- httpResult{ url: request.URL.String(), response: response, err: err, } }(httpClient, request, results) } for range pathsToCheck { httpResult := <-results require.NoErrorf(t, httpResult.err, "unexpected error for URL %s: %s", httpResult.url, httpResult.err) assert.Equalf(t, http.StatusOK, httpResult.response.StatusCode, "unexpected status code for URL %s: %s", httpResult.url, http.StatusText(httpResult.response.StatusCode)) b, err := io.ReadAll(httpResult.response.Body) require.NoErrorf(t, err, "unexpected error for URL %s: %s", httpResult.url, err) assert.NotEmptyf(t, b, "response body is empty for URL %s", httpResult.url) err = httpResult.response.Body.Close() assert.NoErrorf(t, err, "unexpected error for URL %s: %s", httpResult.url, err) } cancel() <-done } func Test_Server_BadSettings(t *testing.T) { t.Parallel() settings := Settings{ BlockProfileRate: intPtr(-1), MutexProfileRate: intPtr(0), } server, err := New(settings) assert.Nil(t, server) assert.ErrorIs(t, err, ErrBlockProfileRateNegative) const expectedErrMessage = "pprof settings failed validation: block profile rate cannot be negative" assert.EqualError(t, err, expectedErrMessage) } ================================================ FILE: internal/pprof/settings.go ================================================ package pprof import ( "errors" "fmt" "time" "github.com/qdm12/gluetun/internal/httpserver" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/reader" "github.com/qdm12/gotree" ) // Settings are the settings for the Pprof service. type Settings struct { // Enabled can be false or true. // It defaults to false. Enabled *bool // See runtime.SetBlockProfileRate // Set to 0 to disable profiling. BlockProfileRate *int // See runtime.SetMutexProfileFraction // Set to 0 to disable profiling. MutexProfileRate *int // HTTPServer contains settings to configure // the HTTP server serving pprof data. HTTPServer httpserver.Settings } func (s *Settings) SetDefaults() { s.Enabled = gosettings.DefaultPointer(s.Enabled, false) s.HTTPServer.Address = gosettings.DefaultComparable(s.HTTPServer.Address, "localhost:6060") const defaultReadTimeout = 5 * time.Minute // for CPU profiling s.HTTPServer.ReadTimeout = gosettings.DefaultComparable(s.HTTPServer.ReadTimeout, defaultReadTimeout) s.HTTPServer.SetDefaults() } func (s Settings) Copy() (copied Settings) { return Settings{ Enabled: gosettings.CopyPointer(s.Enabled), BlockProfileRate: s.BlockProfileRate, MutexProfileRate: s.MutexProfileRate, HTTPServer: s.HTTPServer.Copy(), } } func (s *Settings) OverrideWith(other Settings) { s.Enabled = gosettings.OverrideWithPointer(s.Enabled, other.Enabled) s.BlockProfileRate = gosettings.OverrideWithPointer(s.BlockProfileRate, other.BlockProfileRate) s.MutexProfileRate = gosettings.OverrideWithPointer(s.MutexProfileRate, other.MutexProfileRate) s.HTTPServer.OverrideWith(other.HTTPServer) } var ( ErrBlockProfileRateNegative = errors.New("block profile rate cannot be negative") ErrMutexProfileRateNegative = errors.New("mutex profile rate cannot be negative") ) func (s Settings) Validate() (err error) { if *s.BlockProfileRate < 0 { return fmt.Errorf("%w", ErrBlockProfileRateNegative) } if *s.MutexProfileRate < 0 { return fmt.Errorf("%w", ErrMutexProfileRateNegative) } return s.HTTPServer.Validate() } func (s Settings) ToLinesNode() (node *gotree.Node) { if !*s.Enabled { return nil } node = gotree.New("Pprof settings:") if *s.BlockProfileRate > 0 { node.Appendf("Block profile rate: %d", *s.BlockProfileRate) } if *s.MutexProfileRate > 0 { node.Appendf("Mutex profile rate: %d", *s.MutexProfileRate) } node.AppendNode(s.HTTPServer.ToLinesNode()) return node } func (s Settings) String() string { return s.ToLinesNode().String() } func (s *Settings) Read(r *reader.Reader) (err error) { s.Enabled, err = r.BoolPtr("PPROF_ENABLED") if err != nil { return err } s.BlockProfileRate, err = r.IntPtr("PPROF_BLOCK_PROFILE_RATE") if err != nil { return err } s.MutexProfileRate, err = r.IntPtr("PPROF_MUTEX_PROFILE_RATE") if err != nil { return err } s.HTTPServer.Address = r.String("PPROF_HTTP_SERVER_ADDRESS") return nil } ================================================ FILE: internal/pprof/settings_test.go ================================================ package pprof import ( "net/http" "testing" "time" "github.com/qdm12/gluetun/internal/httpserver" "github.com/qdm12/gosettings/validate" "github.com/stretchr/testify/assert" ) func Test_Settings_SetDefaults(t *testing.T) { t.Parallel() testCases := map[string]struct { initial Settings expected Settings }{ "empty settings": { expected: Settings{ Enabled: boolPtr(false), HTTPServer: httpserver.Settings{ Address: "localhost:6060", ReadHeaderTimeout: 3 * time.Second, ReadTimeout: 5 * time.Minute, ShutdownTimeout: 3 * time.Second, }, }, }, "non empty settings": { initial: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":6061", ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, }, expected: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":6061", ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() testCase.initial.SetDefaults() assert.Equal(t, testCase.expected, testCase.initial) }) } } func Test_Settings_Copy(t *testing.T) { t.Parallel() testCases := map[string]struct { initial Settings expected Settings }{ "empty settings": {}, "non empty settings": { initial: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":6061", ShutdownTimeout: time.Second, }, }, expected: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":6061", ShutdownTimeout: time.Second, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() copied := testCase.initial.Copy() assert.Equal(t, testCase.expected, copied) }) } } func Test_Settings_OverrideWith(t *testing.T) { t.Parallel() testCases := map[string]struct { settings Settings other Settings expected Settings }{ "override empty with empty": {}, "override empty with filled": { other: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":8001", }, }, expected: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":8001", }, }, }, "override filled with empty": { settings: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":8001", }, }, expected: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":8001", }, }, }, "override filled with filled": { settings: Settings{ Enabled: boolPtr(false), BlockProfileRate: intPtr(1), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":8001", }, }, other: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(2), MutexProfileRate: intPtr(3), HTTPServer: httpserver.Settings{ Address: ":8002", }, }, expected: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(2), MutexProfileRate: intPtr(3), HTTPServer: httpserver.Settings{ Address: ":8002", }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() testCase.settings.OverrideWith(testCase.other) assert.Equal(t, testCase.expected, testCase.settings) }) } } func Test_Settings_Validate(t *testing.T) { t.Parallel() testCases := map[string]struct { settings Settings errWrapped error errMessage string }{ "negative block profile rate": { settings: Settings{ BlockProfileRate: intPtr(-1), MutexProfileRate: intPtr(0), }, errWrapped: ErrBlockProfileRateNegative, errMessage: ErrBlockProfileRateNegative.Error(), }, "negative mutex profile rate": { settings: Settings{ BlockProfileRate: intPtr(0), MutexProfileRate: intPtr(-1), }, errWrapped: ErrMutexProfileRateNegative, errMessage: ErrMutexProfileRateNegative.Error(), }, "http server validation error": { settings: Settings{ BlockProfileRate: intPtr(0), MutexProfileRate: intPtr(0), HTTPServer: httpserver.Settings{ Address: ":x", }, }, errWrapped: validate.ErrPortNotAnInteger, errMessage: "port value is not an integer: x", }, "valid settings": { settings: Settings{ BlockProfileRate: intPtr(0), MutexProfileRate: intPtr(0), HTTPServer: httpserver.Settings{ Address: ":8000", Handler: http.NewServeMux(), Logger: &MockLogger{}, ReadHeaderTimeout: time.Second, ReadTimeout: time.Second, ShutdownTimeout: time.Second, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() err := testCase.settings.Validate() assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } }) } } func Test_Settings_String(t *testing.T) { t.Parallel() testCases := map[string]struct { settings Settings s string }{ "disabled pprof": { settings: Settings{ Enabled: boolPtr(false), }, }, "all values": { settings: Settings{ Enabled: boolPtr(true), BlockProfileRate: intPtr(2), MutexProfileRate: intPtr(1), HTTPServer: httpserver.Settings{ Address: ":8000", ShutdownTimeout: time.Second, }, }, s: `Pprof settings: ├── Block profile rate: 2 ├── Mutex profile rate: 1 └── HTTP server settings: ├── Listening address: :8000 ├── Read header timeout: 0s ├── Read timeout: 0s └── Shutdown timeout: 1s`, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() s := testCase.settings.String() assert.Equal(t, testCase.s, s) }) } } ================================================ FILE: internal/provider/airvpn/connection.go ================================================ package airvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 1194, 1637) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/airvpn/openvpnconf.go ================================================ package airvpn import ( "fmt" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { const defaultMTU = 1320 // see https://github.com/qdm12/gluetun/issues/1650#issuecomment-1988298206 const defaultMSSFix = defaultMTU - 28 // 28 bytes of IPv4 UDP header size providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, RemoteCertTLS: true, Auth: openvpn.SHA512, CAs: []string{"MIIGVjCCBD6gAwIBAgIJAIzYQ+/kXyADMA0GCSqGSIb3DQEBDQUAMHkxCzAJBgNVBAYTAklUMQswCQYDVQQIEwJJVDEQMA4GA1UEBxMHUGVydWdpYTETMBEGA1UEChMKYWlydnBuLm9yZzEWMBQGA1UEAxMNYWlydnBuLm9yZyBDQTEeMBwGCSqGSIb3DQEJARYPaW5mb0BhaXJ2cG4ub3JnMCAXDTIxMTAwNjExNTQ0OFoYDzIxMjEwOTEyMTE1NDQ4WjB5MQswCQYDVQQGEwJJVDELMAkGA1UECBMCSVQxEDAOBgNVBAcTB1BlcnVnaWExEzARBgNVBAoTCmFpcnZwbi5vcmcxFjAUBgNVBAMTDWFpcnZwbi5vcmcgQ0ExHjAcBgkqhkiG9w0BCQEWD2luZm9AYWlydnBuLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMYbdmsls/rU82MZziaNPHRMuRSM/shdnfCek+PAX+XAr2ceBGqg8vQpj8AEm7MxWIPwKG3C2E19zs+4nu9I+03ziVIngkaZPG9mQ14tAtmy7UV/zw5xKmNbkSsEzTmJUF4Xz+WPBpqOAV9uCin1b9QrnIyOLiqCrkofHFeqwHxHisJ4WlYeg1PAWO9eG1XIyBeJP1cCH+8FiKbTbWbyieKjgrjyrthFnipTyC8Tv2HkzSCaIiW3q/W9pmyTD1yogFsJh58Yyy8FGTbHzbgKE9/oVrMzACdAey4Ee3p5cABG98UMENqfM8eVFKII/ol7pWh38w/J6mJNmCOCTZXFhRzWiE3EQQbM8ZNrJ43MslSV2i4/gH62MnReXLfT7C+VqEAOWqO3PcIZCYoyPtu1mN35SjrUHuBq7liJdH8g7tmkUAI8JklJuvAWzqu30p7CqTzOyV9UiujygOd1dGRWxr9zxCZ3pkTtX6gwaXY6CB1Y4uWYMSOTK3PH4HDaxJJqUlEBCY5A7xXRqc4jqMZgu5TaOcUOyepIe7AgrXXFvqIeaHs42xEtS1D53rhPMHTTDYzR8K8apQinQ36V/uexkqwRxTTw6gdBhS7BfvlkQ5g1JkmuoBeiFxd1VQeqBGUlESt9KSNwYwzTKqMeS+ilycEhFcoxhMNVe/NElujImJWlAgMBAAGjgd4wgdswHQYDVR0OBBYEFOUV1xOonjHj0TDX8R/04mPSUMiIMIGrBgNVHSMEgaMwgaCAFOUV1xOonjHj0TDX8R/04mPSUMiIoX2kezB5MQswCQYDVQQGEwJJVDELMAkGA1UECBMCSVQxEDAOBgNVBAcTB1BlcnVnaWExEzARBgNVBAoTCmFpcnZwbi5vcmcxFjAUBgNVBAMTDWFpcnZwbi5vcmcgQ0ExHjAcBgkqhkiG9w0BCQEWD2luZm9AYWlydnBuLm9yZ4IJAIzYQ+/kXyADMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQENBQADggIBAL76hAC3X5/ZR3q6iIIkfU4PuIAknES2gkgThV6QGCPIf6Lz1FRZNmR6tcJ5Jqlxq5tJDb6ImgU1swu+xoaVw8Fj2idxHVMPZqEoV3+/H2FB3fZnawZ4ftqf0qhs59oaMOijo6hnFf+nLosW/b8WDg8QXXDcBJ7IJlDaC3p0WAK7iNGHZFe54GVGyQLCsGbNpSMamSOV+B2pC8YrQ+RehKIxxij01EHFxBkcIRj4hH1a6gZ1mcmavzeweT2DfSmFJK5EHR8JeEG0TnwH+AACXuuh2NAeD1hWQNoaUShl06l9E3tJC+RlyilsjFx2ULfJQsm2z5Dmlm9gJ8+ESf4CzdWJBytxxKWmOFznzT9XnjiFJsfiIaNgs3yBg9QvQuUAYSzsUQ+V/hSbzSRQ9SmOClZ0OnFfMeE0hL7UJmp2WCGserqUWtd71hUEe+QOtIZ64BJwDIbRB7tvg/I3KdAARNA38HfX60m1qUXeZe/t7ysD68ttuxrKLRPAK2aEWtQrSJcc452e0Zjw0XUeZtq/9VZlqheuUe3S7RLdbmRGlAWMUOxlA+FLt6AehjYlWNyajEZhPKFiEwE3Uy9P+0K7sxzk1Aw5S6eScKY66zBX/1sgv6l2PrTjow/BqXkwGAtgkCQyVE0SWru59zzXbBLV1/qex6OalILYOpAZSgiC1FVd"}, //nolint:lll TLSCrypt: "a3a7d8f4e778d279d9076a8d47a9aa0c6054aed5752ddefa5efac1ea982740f1ffcabadf0d3709dae18c1fad61e14f72a8eb7cb931ed0209e67c1d325353a657a1198ef649f1c23861a2a19f2c6b27aa5e43be761e0c71e9c2e8d33b75af289effb1b1e4ec603d865f74e2b4348ff631c5c81202d90003ed263dca4022aa9861520e00cc26e40fa171b9985a2763ccb4c63560b7e6b0f897978fb25a2d5889cd6d46a29509fa09830aff18d6e81a8dc1a0182402e3039c3316180e618705ca35f2763f8a62ca5983d145faa2276532ae5e18459a0b729dc67f41b928e592b39467ec3d79c70205595718b1bce56ca4ff58e692ce09c8282d2770d2bf5c217c06", //nolint:lll MssFix: defaultMSSFix, ExtraLines: []string{ "comp-lzo no", // Explicitly disable compression "push-peer-info", }, } switch settings.Version { case openvpn.Openvpn25, openvpn.Openvpn26: providerSettings.Ciphers = []string{ openvpn.AES256gcm, openvpn.AES256cbc, openvpn.AES192gcm, openvpn.AES192cbc, openvpn.AES128gcm, openvpn.AES128cbc, openvpn.Chacha20Poly1305, } default: panic(fmt.Sprintf("openvpn version %q is not implemented", settings.Version)) } providerSettings.SetEnv = map[string]string{"UV_IPV6": "no"} if ipv6Supported { providerSettings.SetEnv["UV_IPV6"] = "yes" } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/airvpn/provider.go ================================================ package airvpn import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/airvpn/updater" "github.com/qdm12/gluetun/internal/provider/common" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client), } } func (p *Provider) Name() string { return providers.Airvpn } ================================================ FILE: internal/provider/airvpn/updater/api.go ================================================ package updater import ( "context" "encoding/json" "fmt" "net/http" "net/netip" "github.com/qdm12/gluetun/internal/provider/common" ) type apiData struct { Servers []apiServer `json:"servers"` } type apiServer struct { PublicName string `json:"public_name"` CountryName string `json:"country_name"` CountryCode string `json:"country_code"` Location string `json:"location"` Continent string `json:"continent"` IPv4In1 netip.Addr `json:"ip_v4_in1"` IPv4In2 netip.Addr `json:"ip_v4_in2"` IPv4In3 netip.Addr `json:"ip_v4_in3"` IPv4In4 netip.Addr `json:"ip_v4_in4"` IPv6In1 netip.Addr `json:"ip_v6_in1"` IPv6In2 netip.Addr `json:"ip_v6_in2"` IPv6In3 netip.Addr `json:"ip_v6_in3"` IPv6In4 netip.Addr `json:"ip_v6_in4"` Health string `json:"health"` } func fetchAPI(ctx context.Context, client *http.Client) ( data apiData, err error, ) { const url = "https://airvpn.org/api/status/" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return data, fmt.Errorf("creating HTTP request: %w", err) } response, err := client.Do(request) if err != nil { return data, fmt.Errorf("doing HTTP request: %w", err) } if response.StatusCode != http.StatusOK { _ = response.Body.Close() return data, fmt.Errorf("%w: %d %s", common.ErrHTTPStatusCodeNotOK, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&data); err != nil { _ = response.Body.Close() return data, fmt.Errorf("decoding response body: %w", err) } if err := response.Body.Close(); err != nil { return data, fmt.Errorf("closing response body: %w", err) } return data, nil } ================================================ FILE: internal/provider/airvpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "net/netip" "sort" "strings" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { data, err := fetchAPI(ctx, u.client) if err != nil { return nil, fmt.Errorf("fetching API: %w", err) } // every API server model has: // - Wireguard server using IPv4In1 // - Wiregard server using IPv6In1 // - OpenVPN TCP+UDP+SSH+SSL server with tls-auth using IPv4In1 and IPv6In1 // - OpenVPN TCP+UDP+SSH+SSL server with tls-auth using IPv4In2 and IPv6In2 // - OpenVPN TCP+UDP+SSH+SSL server with tls-crypt using IPv4In3 and IPv6In3 // - OpenVPN TCP+UDP+SSH+SSL server with tls-crypt using IPv6In4 and IPv6In4 const numberOfServersPerAPIServer = 1 + // Wireguard server using IPv4In1 1 + // Wiregard server using IPv6In1 4 + // OpenVPN TCP server with tls-auth using IPv4In3, IPv6In3, IPv4In4, IPv6In4 4 // OpenVPN UDP server with tls-auth using IPv4In3, IPv6In3, IPv4In4, IPv6In4 projectedNumberOfServers := numberOfServersPerAPIServer * len(data.Servers) if projectedNumberOfServers < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, projectedNumberOfServers, minServers) } servers = make([]models.Server, 0, projectedNumberOfServers) for _, apiServer := range data.Servers { if apiServer.Health != "ok" { continue } city := strings.ReplaceAll(apiServer.Location, ", ", " ") city = strings.ReplaceAll(city, ",", "") baseServer := models.Server{ ServerName: apiServer.PublicName, Country: apiServer.CountryName, City: city, Region: apiServer.Continent, } baseWireguardServer := baseServer baseWireguardServer.VPN = vpn.Wireguard baseWireguardServer.WgPubKey = "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=" ipv4WireguadServer := baseWireguardServer ipv4WireguadServer.IPs = []netip.Addr{apiServer.IPv4In1} ipv4WireguadServer.Hostname = apiServer.CountryCode + ".vpn.airdns.org" servers = append(servers, ipv4WireguadServer) ipv6WireguadServer := baseWireguardServer ipv6WireguadServer.IPs = []netip.Addr{apiServer.IPv6In1} ipv6WireguadServer.Hostname = apiServer.CountryCode + ".ipv6.vpn.airdns.org" servers = append(servers, ipv6WireguadServer) baseOpenVPNServer := baseServer baseOpenVPNServer.VPN = vpn.OpenVPN baseOpenVPNServer.UDP = true baseOpenVPNServer.TCP = true // Ignore IPs 1 and 2 since tls-crypt is superior to tls-auth really. ipv4In3OpenVPNServer := baseOpenVPNServer ipv4In3OpenVPNServer.IPs = []netip.Addr{apiServer.IPv4In3} ipv4In3OpenVPNServer.Hostname = apiServer.CountryCode + "3.vpn.airdns.org" servers = append(servers, ipv4In3OpenVPNServer) ipv6In3OpenVPNServer := baseOpenVPNServer ipv6In3OpenVPNServer.IPs = []netip.Addr{apiServer.IPv6In3} ipv6In3OpenVPNServer.Hostname = apiServer.CountryCode + "3.ipv6.vpn.airdns.org" servers = append(servers, ipv6In3OpenVPNServer) ipv4In4OpenVPNServer := baseOpenVPNServer ipv4In4OpenVPNServer.IPs = []netip.Addr{apiServer.IPv4In4} ipv4In4OpenVPNServer.Hostname = apiServer.CountryCode + "4.vpn.airdns.org" servers = append(servers, ipv4In4OpenVPNServer) ipv6In4OpenVPNServer := baseOpenVPNServer ipv6In4OpenVPNServer.IPs = []netip.Addr{apiServer.IPv6In4} ipv6In4OpenVPNServer.Hostname = apiServer.CountryCode + "4.ipv6.vpn.airdns.org" servers = append(servers, ipv6In4OpenVPNServer) } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/airvpn/updater/updater.go ================================================ package updater import ( "net/http" ) type Updater struct { client *http.Client } func New(client *http.Client) *Updater { return &Updater{ client: client, } } ================================================ FILE: internal/provider/common/mocks.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/provider/common (interfaces: ParallelResolver,Storage,Unzipper,Warner) // Package common is a generated GoMock package. package common import ( context "context" netip "net/netip" reflect "reflect" gomock "github.com/golang/mock/gomock" settings "github.com/qdm12/gluetun/internal/configuration/settings" models "github.com/qdm12/gluetun/internal/models" resolver "github.com/qdm12/gluetun/internal/updater/resolver" ) // MockParallelResolver is a mock of ParallelResolver interface. type MockParallelResolver struct { ctrl *gomock.Controller recorder *MockParallelResolverMockRecorder } // MockParallelResolverMockRecorder is the mock recorder for MockParallelResolver. type MockParallelResolverMockRecorder struct { mock *MockParallelResolver } // NewMockParallelResolver creates a new mock instance. func NewMockParallelResolver(ctrl *gomock.Controller) *MockParallelResolver { mock := &MockParallelResolver{ctrl: ctrl} mock.recorder = &MockParallelResolverMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockParallelResolver) EXPECT() *MockParallelResolverMockRecorder { return m.recorder } // Resolve mocks base method. func (m *MockParallelResolver) Resolve(arg0 context.Context, arg1 resolver.ParallelSettings) (map[string][]netip.Addr, []string, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Resolve", arg0, arg1) ret0, _ := ret[0].(map[string][]netip.Addr) ret1, _ := ret[1].([]string) ret2, _ := ret[2].(error) return ret0, ret1, ret2 } // Resolve indicates an expected call of Resolve. func (mr *MockParallelResolverMockRecorder) Resolve(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Resolve", reflect.TypeOf((*MockParallelResolver)(nil).Resolve), arg0, arg1) } // MockStorage is a mock of Storage interface. type MockStorage struct { ctrl *gomock.Controller recorder *MockStorageMockRecorder } // MockStorageMockRecorder is the mock recorder for MockStorage. type MockStorageMockRecorder struct { mock *MockStorage } // NewMockStorage creates a new mock instance. func NewMockStorage(ctrl *gomock.Controller) *MockStorage { mock := &MockStorage{ctrl: ctrl} mock.recorder = &MockStorageMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockStorage) EXPECT() *MockStorageMockRecorder { return m.recorder } // FilterServers mocks base method. func (m *MockStorage) FilterServers(arg0 string, arg1 settings.ServerSelection) ([]models.Server, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "FilterServers", arg0, arg1) ret0, _ := ret[0].([]models.Server) ret1, _ := ret[1].(error) return ret0, ret1 } // FilterServers indicates an expected call of FilterServers. func (mr *MockStorageMockRecorder) FilterServers(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FilterServers", reflect.TypeOf((*MockStorage)(nil).FilterServers), arg0, arg1) } // MockUnzipper is a mock of Unzipper interface. type MockUnzipper struct { ctrl *gomock.Controller recorder *MockUnzipperMockRecorder } // MockUnzipperMockRecorder is the mock recorder for MockUnzipper. type MockUnzipperMockRecorder struct { mock *MockUnzipper } // NewMockUnzipper creates a new mock instance. func NewMockUnzipper(ctrl *gomock.Controller) *MockUnzipper { mock := &MockUnzipper{ctrl: ctrl} mock.recorder = &MockUnzipperMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockUnzipper) EXPECT() *MockUnzipperMockRecorder { return m.recorder } // FetchAndExtract mocks base method. func (m *MockUnzipper) FetchAndExtract(arg0 context.Context, arg1 string) (map[string][]byte, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "FetchAndExtract", arg0, arg1) ret0, _ := ret[0].(map[string][]byte) ret1, _ := ret[1].(error) return ret0, ret1 } // FetchAndExtract indicates an expected call of FetchAndExtract. func (mr *MockUnzipperMockRecorder) FetchAndExtract(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchAndExtract", reflect.TypeOf((*MockUnzipper)(nil).FetchAndExtract), arg0, arg1) } // MockWarner is a mock of Warner interface. type MockWarner struct { ctrl *gomock.Controller recorder *MockWarnerMockRecorder } // MockWarnerMockRecorder is the mock recorder for MockWarner. type MockWarnerMockRecorder struct { mock *MockWarner } // NewMockWarner creates a new mock instance. func NewMockWarner(ctrl *gomock.Controller) *MockWarner { mock := &MockWarner{ctrl: ctrl} mock.recorder = &MockWarnerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockWarner) EXPECT() *MockWarnerMockRecorder { return m.recorder } // Warn mocks base method. func (m *MockWarner) Warn(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Warn", arg0) } // Warn indicates an expected call of Warn. func (mr *MockWarnerMockRecorder) Warn(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warn", reflect.TypeOf((*MockWarner)(nil).Warn), arg0) } ================================================ FILE: internal/provider/common/mocks_generate_test.go ================================================ package common // Exceptionally, these mocks are exported since they are used by all // provider subpackages tests, and it reduces test code duplication a lot. // Note mocks.go might need to be removed before re-generating it. //go:generate mockgen -destination=mocks.go -package $GOPACKAGE . ParallelResolver,Storage,Unzipper,Warner ================================================ FILE: internal/provider/common/portforward.go ================================================ package common import "errors" var ErrPortForwardNotSupported = errors.New("port forwarding not supported") ================================================ FILE: internal/provider/common/storage.go ================================================ package common import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) type Storage interface { FilterServers(provider string, selection settings.ServerSelection) ( servers []models.Server, err error) } ================================================ FILE: internal/provider/common/updater.go ================================================ package common import ( "context" "errors" "net/netip" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/updater/resolver" ) var ( ErrNotEnoughServers = errors.New("not enough servers found") ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") ErrIPFetcherUnsupported = errors.New("IP fetcher not supported") ErrCredentialsMissing = errors.New("credentials missing") ) type Fetcher interface { FetchServers(ctx context.Context, minServers int) (servers []models.Server, err error) } type ParallelResolver interface { Resolve(ctx context.Context, settings resolver.ParallelSettings) ( hostToIPs map[string][]netip.Addr, warnings []string, err error) } type Unzipper interface { FetchAndExtract(ctx context.Context, url string) ( contents map[string][]byte, err error) } type Warner interface { Warn(s string) } type IPFetcher interface { String() string CanFetchAnyIP() bool FetchInfo(ctx context.Context, ip netip.Addr) (result models.PublicIP, err error) } ================================================ FILE: internal/provider/custom/connection.go ================================================ package custom import ( "errors" "fmt" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) var ErrVPNTypeNotSupported = errors.New("VPN type not supported for custom provider") // GetConnection gets the connection from the OpenVPN configuration file. func (p *Provider) GetConnection(selection settings.ServerSelection, _ bool) ( connection models.Connection, err error, ) { switch selection.VPN { case vpn.OpenVPN: return getOpenVPNConnection(p.extractor, selection) case vpn.Wireguard: return getWireguardConnection(selection), nil default: return connection, fmt.Errorf("%w: %s", ErrVPNTypeNotSupported, selection.VPN) } } func getOpenVPNConnection(extractor Extractor, selection settings.ServerSelection) ( connection models.Connection, err error, ) { _, connection, err = extractor.Data(*selection.OpenVPN.ConfFile) if err != nil { return connection, fmt.Errorf("extracting connection: %w", err) } customPort := *selection.OpenVPN.CustomPort if customPort > 0 { connection.Port = customPort } // assume all custom provider servers support port forwarding connection.PortForward = true if len(selection.Names) > 0 { // Set the server name for PIA port forwarding code used // together with the custom provider. connection.ServerName = selection.Names[0] } return connection, nil } func getWireguardConnection(selection settings.ServerSelection) ( connection models.Connection, ) { connection = models.Connection{ Type: vpn.Wireguard, IP: selection.Wireguard.EndpointIP, Port: *selection.Wireguard.EndpointPort, Protocol: constants.UDP, PubKey: selection.Wireguard.PublicKey, PortForward: true, // assume all custom provider servers support port forwarding } if len(selection.Names) > 0 { // Set the server name for PIA port forwarding code used // together with the custom provider. connection.ServerName = selection.Names[0] } return connection } ================================================ FILE: internal/provider/custom/interfaces.go ================================================ package custom import "github.com/qdm12/gluetun/internal/models" type Extractor interface { Data(filepath string) (lines []string, connection models.Connection, err error) } ================================================ FILE: internal/provider/custom/openvpnconf.go ================================================ package custom import ( "errors" "fmt" "strconv" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) var ErrExtractData = errors.New("failed extracting information from custom configuration file") func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { lines, _, err := p.extractor.Data(*settings.ConfFile) if err != nil { // Configuration file is already validated in settings validation in // internal/configuration/settings/openvpn.go in `validateOpenVPNConfigFilepath`. // Therefore this error is the result of a programming error. panic(fmt.Sprintf("failed extracting information from custom configuration file: %s", err)) } lines = modifyConfig(lines, connection, settings, ipv6Supported) return lines } func modifyConfig(lines []string, connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (modified []string) { // Remove some lines for _, line := range lines { switch { case // Remove empty lines line == "", // Remove future to be duplicates line == "mute-replay-warnings", line == "auth-nocache", line == "pull-filter ignore \"auth-token\"", line == "auth-retry nointeract", line == "suppress-timestamps", line == "persist-tun", line == "persist-key", // Remove values always modified strings.HasPrefix(line, "verb "), strings.HasPrefix(line, "auth-user-pass "), strings.HasPrefix(line, "user "), strings.HasPrefix(line, "proto "), strings.HasPrefix(line, "remote "), strings.HasPrefix(line, "dev "), // Remove values eventually modified len(settings.Ciphers) > 0 && hasPrefixOneOf(line, "cipher ", "ncp-ciphers ", "data-ciphers ", "data-ciphers-fallback "), *settings.Auth != "" && strings.HasPrefix(line, "auth "), *settings.MSSFix > 0 && strings.HasPrefix(line, "mssfix "), !ipv6Supported && hasPrefixOneOf(line, "tun-ipv6", `pull-filter ignore "route-ipv6"`, `pull-filter ignore "ifconfig-ipv6"`): default: modified = append(modified, line) } } // Add values modified = append(modified, "proto "+connection.Protocol) modified = append(modified, fmt.Sprintf("remote %s %d", connection.IP, connection.Port)) modified = append(modified, "dev "+settings.Interface) modified = append(modified, "mute-replay-warnings") modified = append(modified, "auth-nocache") modified = append(modified, "pull-filter ignore \"auth-token\"") // prevent auth failed loop modified = append(modified, "auth-retry nointeract") modified = append(modified, "suppress-timestamps") if *settings.User != "" { modified = append(modified, "auth-user-pass "+openvpn.AuthConf) } modified = append(modified, "verb "+strconv.Itoa(*settings.Verbosity)) if len(settings.Ciphers) > 0 { modified = append(modified, utils.CipherLines(settings.Ciphers)...) } if *settings.Auth != "" { modified = append(modified, "auth "+*settings.Auth) } if *settings.MSSFix > 0 { modified = append(modified, "mssfix "+strconv.Itoa(int(*settings.MSSFix))) } if !ipv6Supported { modified = append(modified, `pull-filter ignore "route-ipv6"`) modified = append(modified, `pull-filter ignore "ifconfig-ipv6"`) } if settings.ProcessUser != "root" { modified = append(modified, "user "+settings.ProcessUser) modified = append(modified, "persist-tun") modified = append(modified, "persist-key") } modified = append(modified, "") // trailing line return modified } func hasPrefixOneOf(s string, prefixes ...string) bool { for _, prefix := range prefixes { if strings.HasPrefix(s, prefix) { return true } } return false } ================================================ FILE: internal/provider/custom/openvpnconf_test.go ================================================ package custom import ( "net/netip" "testing" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" ) func intPtr(n int) *int { return &n } func uint16Ptr(n uint16) *uint16 { return &n } func stringPtr(s string) *string { return &s } func Test_modifyConfig(t *testing.T) { t.Parallel() testCases := map[string]struct { lines []string settings settings.OpenVPN connection models.Connection ipv6Supported bool modified []string }{ "mixed": { lines: []string{ "up bla", "proto tcp", "remote 5.5.5.5", "cipher bla", "", "tun-ipv6", "keep me here", "auth bla", }, settings: settings.OpenVPN{ User: stringPtr("user"), Ciphers: []string{"cipher"}, Auth: stringPtr("sha512"), MSSFix: uint16Ptr(1000), ProcessUser: "procuser", Interface: "tun3", Verbosity: intPtr(0), }.WithDefaults(providers.Custom), connection: models.Connection{ IP: netip.AddrFrom4([4]byte{1, 2, 3, 4}), Port: 1194, Protocol: constants.UDP, }, ipv6Supported: false, modified: []string{ "up bla", "keep me here", "proto udp", "remote 1.2.3.4 1194", "dev tun3", "mute-replay-warnings", "auth-nocache", "pull-filter ignore \"auth-token\"", "auth-retry nointeract", "suppress-timestamps", "auth-user-pass /etc/openvpn/auth.conf", "verb 0", "data-ciphers-fallback cipher", "data-ciphers cipher", "auth sha512", "mssfix 1000", "pull-filter ignore \"route-ipv6\"", "pull-filter ignore \"ifconfig-ipv6\"", "user procuser", "persist-tun", "persist-key", "", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() modified := modifyConfig(testCase.lines, testCase.connection, testCase.settings, testCase.ipv6Supported) assert.Equal(t, testCase.modified, modified) }) } } ================================================ FILE: internal/provider/custom/provider.go ================================================ package custom import ( "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/utils" ) type Provider struct { extractor Extractor common.Fetcher } func New(extractor Extractor) *Provider { return &Provider{ extractor: extractor, Fetcher: utils.NewNoFetcher(providers.Custom), } } func (p *Provider) Name() string { return providers.Custom } ================================================ FILE: internal/provider/cyberghost/connection.go ================================================ package cyberghost import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 443, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/cyberghost/openvpnconf.go ================================================ package cyberghost import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, openvpn.AES256cbc, openvpn.AES128gcm, }, Auth: openvpn.SHA256, MssFix: 1320, Ping: 10, CAs: []string{"MIIGWjCCBEKgAwIBAgIJAJxUG61mxDS7MA0GCSqGSIb3DQEBDQUAMHsxCzAJBgNVBAYTAlJPMRIwEAYDVQQHEwlCdWNoYXJlc3QxGDAWBgNVBAoTD0N5YmVyR2hvc3QgUy5BLjEbMBkGA1UEAxMSQ3liZXJHaG9zdCBSb290IENBMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGN5YmVyZ2hvc3Qucm8wHhcNMTcwNjE5MDgxNzI1WhcNMzcwNjE0MDgxNzI1WjB7MQswCQYDVQQGEwJSTzESMBAGA1UEBxMJQnVjaGFyZXN0MRgwFgYDVQQKEw9DeWJlckdob3N0IFMuQS4xGzAZBgNVBAMTEkN5YmVyR2hvc3QgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSaW5mb0BjeWJlcmdob3N0LnJvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA7O8+mji2FlQhJXn/G4VLrKPjGtxgQBAdjo0dZEQzKX08q14dLkslmOLgShStWKrOiLXGAvB1rPvvk613jtA0KjQLpgyLy9lIWohQKYjj5jrJYXMZMkbSHBYI9L8L7iezBEFYrjYKdDo51nq99wRFhKdbyKKjDh3e2L2SVEZLT1ogkK5gWzjvH+mjjtjUUicK+YjGwWOz6I+KKaG4Ve/D/cE6nCLbhHIMMnargZEu7sqA6BFeS4kEP/ZdCZoTSX2n43XV1q63nJt/v0KDetbZDciFVW9h9SVPG4qT44p0550N+Mom7zTX7S/ID5T9dplgU8sRGtIMrG0cIMD9zmpFgUnMusCrR7jJFr0sMAveTbgZg95LmstV6R6WKZkSFdUrE0DHl4dHoZvTFX+1LhwhHgjgDLaosX0vhG/C/7LpoVWimd6RRQT3M9o4Fa1TuhfvBzQ20QHrmRV/yKvGNK0xckZ6EZ/QY7Z55ORU15Tgab4ebnblYPWoEmn0mIYP3LFFeoR5OS1EX7+j4kPv+bwPGsmpHjxmZyq2Y7sJBpbOCJgbkn52WZdPBIRDpPdIHQ8pAJC4T0iMK9xvAwWNl/V6EYYNpR97osyEDXn+BTdAHlhJ5fck9KlwI9mb1Kg1bhbvbmaIAiOLenSULYf3j6rI1ygo3R2cCyybtuAq8M7z0OECAwEAAaOB4DCB3TAdBgNVHQ4EFgQU6tdK1g/He5qzjeAoM5eHt4in9iUwga0GA1UdIwSBpTCBooAU6tdK1g/He5qzjeAoM5eHt4in9iWhf6R9MHsxCzAJBgNVBAYTAlJPMRIwEAYDVQQHEwlCdWNoYXJlc3QxGDAWBgNVBAoTD0N5YmVyR2hvc3QgUy5BLjEbMBkGA1UEAxMSQ3liZXJHaG9zdCBSb290IENBMSEwHwYJKoZIhvcNAQkBFhJpbmZvQGN5YmVyZ2hvc3Qucm+CCQCcVButZsQ0uzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBDQUAA4ICAQDNyQ92kj4qiNjnHk99qvnFw9qGfwB9ofaPL74zh0G5hEe3Wgb2o4fqUGnvUNgOu53gJksz3DcPQ8t40wfmm9I1Z8tiM9qrqvkuQ+nKcLgdooXtEsTybPIYDZ2cWR/5E0TKRvC7RFzKgQ4D77Vbi4TdaHiDV7ZNfU1iLCoBGcYm80hcUHEs5KIVLwUmcSOTmbZBySJxcSD0yUpS7nlZGwLY6VQrU+JFwDSisbXT4DXf3iSzp7FzW0/u/SFvWsPHrjE0hkPoZPalYvouaJEHKAhip0ZwSmitlxbBnmm8+K/3c9mLA5/uXrirfpuhhs8V3lyV2mczVtSiTl6gpi88gc//JY80JeHdupjO25T3XEzY9cpxecmkWaUEjLMx4wVoXQuUiPonfILM6OLwi+zUS8gQErdFeGvcQXbncPa4SdJuHkF8lgiX2i8S8fPGdXvU37E9bdAXwP5nZriYq1s0D59Qfvz+vLXVkmyZp6ztxjKjKolemPMak0Y5c1Q4RjNF6tmQoFuy/ACSkWy14Tzu2dFp7UiVbGg1FOvKhfs48zC2/IUQv1arqmPT/9LVq3B2DVT9UKXRUXX/f/jSSsVjkz4uUe2jUyL+XHX1nSmROTPHSAJ+oKf0BLnfqUxFkEUTwLnayssP2nwGgq35b7wEbTFIXdrjHGFUVQIDeERz8UThew=="}, //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/cyberghost/provider.go ================================================ package cyberghost import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/cyberghost/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(parallelResolver, updaterWarner), } } func (p *Provider) Name() string { return providers.Cyberghost } ================================================ FILE: internal/provider/cyberghost/updater/constants.go ================================================ package updater import "github.com/qdm12/gluetun/internal/constants" func getGroupIDToProtocol() map[string]string { return map[string]string{ "87-1": constants.UDP, // Premium UDP "87-8": constants.UDP, // NoSpy UDP "87-19": constants.UDP, // Gaming UDP "97-1": constants.TCP, // Premium TCP "97-8": constants.TCP, // NoSpy TCP "97-19": constants.TCP, // Gaming TCP } } func getSubdomainToRegion() map[string]string { return map[string]string{ "af": "Afghanistan", "ax": "Aland Islands", "al": "Albania", "dz": "Algeria", "as": "American Samoa", "ad": "Andorra", "ao": "Angola", "ai": "Anguilla", "aq": "Antarctica", "ag": "Antigua and Barbuda", "ar": "Argentina", "am": "Armenia", "aw": "Aruba", "au": "Australia", "at": "Austria", "az": "Azerbaijan", "bs": "Bahamas", "bh": "Bahrain", "bd": "Bangladesh", "bb": "Barbados", "by": "Belarus", "be": "Belgium", "bz": "Belize", "bj": "Benin", "bm": "Bermuda", "bt": "Bhutan", "bo": "Bolivia", "bq": "Bonaire", "ba": "Bosnia and Herzegovina", "bw": "Botswana", "bv": "Bouvet Island", "br": "Brazil", "io": "British Indian Ocean Territory", "vg": "British Virgin Islands", "bn": "Brunei Darussalam", "bg": "Bulgaria", "bf": "Burkina Faso", "bi": "Burundi", "kh": "Cambodia", "cm": "Cameroon", "ca": "Canada", "cv": "Cape Verde", "ky": "Cayman Islands", "cf": "Central African Republic", "td": "Chad", "cl": "Chile", "cn": "China", "cx": "Christmas Island", "cc": "Cocos Islands", "co": "Colombia", "km": "Comoros", "cg": "Congo", "ck": "Cook Islands", "cr": "Costa Rica", "ci": "Cote d'Ivoire", "hr": "Croatia", "cu": "Cuba", "cw": "Curacao", "cy": "Cyprus", "cz": "Czech Republic", "cd": "Democratic Republic of the Congo", "dk": "Denmark", "dj": "Djibouti", "dm": "Dominica", "do": "Dominican Republic", "ec": "Ecuador", "eg": "Egypt", "sv": "El Salvador", "gq": "Equatorial Guinea", "er": "Eritrea", "ee": "Estonia", "et": "Ethiopia", "fk": "Falkland Islands", "fo": "Faroe Islands", "fj": "Fiji", "fi": "Finland", "fr": "France", "gf": "French Guiana", "pf": "French Polynesia", "tf": "French Southern Territories", "ga": "Gabon", "gm": "Gambia", "ge": "Georgia", "de": "Germany", "gh": "Ghana", "gi": "Gibraltar", "gr": "Greece", "gl": "Greenland", "gd": "Grenada", "gp": "Guadeloupe", "gu": "Guam", "gt": "Guatemala", "gg": "Guernsey", "gw": "Guinea-Bissau", "gn": "Guinea", "gy": "Guyana", "ht": "Haiti", "hm": "Heard Island and McDonald Islands", "hn": "Honduras", "hk": "Hong Kong", "hu": "Hungary", "is": "Iceland", "in": "India", "id": "Indonesia", "ir": "Iran", "iq": "Iraq", "ie": "Ireland", "im": "Isle of Man", "il": "Israel", "it": "Italy", "jm": "Jamaica", "jp": "Japan", "je": "Jersey", "jo": "Jordan", "kz": "Kazakhstan", "ke": "Kenya", "ki": "Kiribati", "kr": "Korea", "kw": "Kuwait", "kg": "Kyrgyzstan", "la": "Lao People's Democratic Republic", "lv": "Latvia", "lb": "Lebanon", "ls": "Lesotho", "lr": "Liberia", "ly": "Libya", "li": "Liechtenstein", "lt": "Lithuania", "lu": "Luxembourg", "mo": "Macao", "mk": "Macedonia", "mg": "Madagascar", "mw": "Malawi", "my": "Malaysia", "mv": "Maldives", "ml": "Mali", "mt": "Malta", "mh": "Marshall Islands", "mq": "Martinique", "mr": "Mauritania", "mu": "Mauritius", "yt": "Mayotte", "mx": "Mexico", "fm": "Micronesia", "md": "Moldova", "mc": "Monaco", "mn": "Mongolia", "me": "Montenegro", "ms": "Montserrat", "ma": "Morocco", "mz": "Mozambique", "mm": "Myanmar", "na": "Namibia", "nr": "Nauru", "np": "Nepal", "nl": "Netherlands", "nc": "New Caledonia", "nz": "New Zealand", "ni": "Nicaragua", "ne": "Niger", "ng": "Nigeria", "nu": "Niue", "nf": "Norfolk Island", "mp": "Northern Mariana Islands", "no": "Norway", "om": "Oman", "pk": "Pakistan", "pw": "Palau", "ps": "Palestine, State of", "pa": "Panama", "pg": "Papua New Guinea", "py": "Paraguay", "pe": "Peru", "ph": "Philippines", "pn": "Pitcairn", "pl": "Poland", "pt": "Portugal", "pr": "Puerto Rico", "qa": "Qatar", "re": "Reunion", "ro": "Romania", "ru": "Russian Federation", "rw": "Rwanda", "bl": "Saint Barthelemy", "sh": "Saint Helena", "kn": "Saint Kitts and Nevis", "lc": "Saint Lucia", "mf": "Saint Martin", "pm": "Saint Pierre and Miquelon", "vc": "Saint Vincent and the Grenadines", "ws": "Samoa", "sm": "San Marino", "st": "Sao Tome and Principe", "sa": "Saudi Arabia", "sn": "Senegal", "rs": "Serbia", "sc": "Seychelles", "sl": "Sierra Leone", "sg": "Singapore", "sx": "Sint Maarten", "sk": "Slovakia", "si": "Slovenia", "sb": "Solomon Islands", "so": "Somalia", "za": "South Africa", "gs": "South Georgia and the South Sandwich Islands", "ss": "South Sudan", "es": "Spain", "lk": "Sri Lanka", "sd": "Sudan", "sr": "Suriname", "sj": "Svalbard and Jan Mayen", "sz": "Swaziland", "se": "Sweden", "ch": "Switzerland", "sy": "Syrian Arab Republic", "tw": "Taiwan", "tj": "Tajikistan", "tz": "Tanzania", "th": "Thailand", "tl": "Timor-Leste", "tg": "Togo", "tk": "Tokelau", "to": "Tonga", "tt": "Trinidad and Tobago", "tn": "Tunisia", "tr": "Turkey", "tm": "Turkmenistan", "tc": "Turks and Caicos Islands", "tv": "Tuvalu", "ug": "Uganda", "ua": "Ukraine", "ae": "United Arab Emirates", "gb": "United Kingdom", "um": "United States Minor Outlying Islands", "us": "United States", "uy": "Uruguay", "vi": "US Virgin Islands", "uz": "Uzbekistan", "vu": "Vanuatu", "va": "Vatican City State", "ve": "Venezuela", "vn": "Vietnam", "wf": "Wallis and Futuna", "eh": "Western Sahara", "ye": "Yemen", "zm": "Zambia", "zw": "Zimbabwe", } } ================================================ FILE: internal/provider/cyberghost/updater/countries.go ================================================ package updater func mergeCountryCodes(base, extend map[string]string) (merged map[string]string) { merged = make(map[string]string, len(base)) for countryCode, region := range base { merged[countryCode] = region } for countryCode := range base { delete(extend, countryCode) } for countryCode, region := range extend { merged[countryCode] = region } return merged } ================================================ FILE: internal/provider/cyberghost/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type hostToServer map[string]models.Server func getPossibleServers() (possibleServers hostToServer) { groupIDToProtocol := getGroupIDToProtocol() cyberghostCountryCodes := getSubdomainToRegion() allCountryCodes := constants.CountryCodes() possibleCountryCodes := mergeCountryCodes(cyberghostCountryCodes, allCountryCodes) n := len(groupIDToProtocol) * len(possibleCountryCodes) possibleServers = make(hostToServer, n) // key is the host for groupID, protocol := range groupIDToProtocol { for countryCode, country := range possibleCountryCodes { const domain = "cg-dialup.net" possibleHost := groupID + "-" + countryCode + "." + domain possibleServer := models.Server{ VPN: vpn.OpenVPN, Hostname: possibleHost, Country: country, TCP: protocol == constants.TCP, UDP: protocol == constants.UDP, } possibleServers[possibleHost] = possibleServer } } return possibleServers } func (hts hostToServer) hostsSlice() (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) toSlice() (servers []models.Server) { servers = make([]models.Server, 0, len(hts)) for _, server := range hts { servers = append(servers, server) } return servers } ================================================ FILE: internal/provider/cyberghost/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 4 maxFails = 10 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/cyberghost/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "strings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { possibleServers := getPossibleServers() possibleHosts := possibleServers.hostsSlice() resolveSettings := parallelResolverSettings(possibleHosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { if strings.HasSuffix(warning, "no such host") { continue // ignore no such host warnings } u.warner.Warn(warning) } 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) } possibleServers.adaptWithIPs(hostToIPs) servers = possibleServers.toSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/cyberghost/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { parallelResolver common.ParallelResolver warner common.Warner } func New(parallelResolver common.ParallelResolver, warner common.Warner) *Updater { return &Updater{ parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/example/connection.go ================================================ package example import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { // TODO: Set the default ports for each VPN protocol+network protocol // combination. If one combination is not supported, set it to `0`. defaults := utils.NewConnectionDefaults(443, 1194, 51820) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/example/openvpnconf.go ================================================ package example import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { // TODO: Set the necessary fields in `providerSettings` to // generate the right OpenVPN configuration file. //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, }, MssFix: 1320, Ping: 5, RemoteCertTLS: true, CAs: []string{"MIIDZzCCAk+gAwIBAgIUVwHEFE6geihigDSNkBppm2Zamx0wDQYJKoZIhvcNAQELBQAwQzELMAkGA1UEBhMCQ0ExDzANBgNVBAgMBlF1ZWJlYzERMA8GA1UEBwwITW9udHJlYWwxEDAOBgNVBAoMB0dsdWV0dW4wHhcNMjIwNzAxMTY1MzE5WhcNMjcwNjMwMTY1MzE5WjBDMQswCQYDVQQGEwJDQTEPMA0GA1UECAwGUXVlYmVjMREwDwYDVQQHDAhNb250cmVhbDEQMA4GA1UECgwHR2x1ZXR1bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALmJRhTUr+87NFkHL2PWjIz7efHqQgrWuDQt8oOBHvl0Hm72N+ckO+5Q0zG4XtqlpBjFjGUSjfNUWSrRztbXlMmzDcjHKjYHUPepJpoF100fK2q3XPiFRl6sEXzYeOdFgpaTdmGHS6DL9aWeCoYA/k6NV8YqHXujr14gOYOAWG6cRimpTJf8DtEDcxtp1w6fOEoN0b5PvV7dcpLiva8LYyZKPvFYBzlc5BZxOLvq6bvhQm54R6zoHFpaKOf7FeqhxI6KOQu4IPwU12YBlOP5CbkMAQ1cWWVQ4pnh0Hwh71Sjm848jS/OcammNzsp4xWaKt/pzcix3fpJt/MDP/9fxA8CAwEAAaNTMFEwHQYDVR0OBBYEFCIQ9l28Yy1/3qJvFarXjhKdG9tVMB8GA1UdIwQYMBaAFCIQ9l28Yy1/3qJvFarXjhKdG9tVMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKLPmLTppXYTTOOxHhTMyHI0oTl7ID2PQfJsref+jDshB3hib98BC17b9ESpLnwx7ugg17NRl7RYutxjuVw/CK/gwAnTMg3D3mdAnKkMRr3UxnD89KprLIpf7WQCmyJaxalsD5jjgl3kuGM7jf2FJNxQz5RrXBGlQHa465ouov+Rp5v/K5Umyt6wsCZXEbOF0SdUhEGU3nxVbFsoPimNYSHHwc29USnQmyW1O/drFDoTcOK4GdHFEVkrHQgqwU8ay1fYGYfIUDhsV/5AAWgQC41r9FWr+VQgyJC94qmDg0c46RE123dL/YifVUl2DKuJ0aOY+OkSgwknKZ+FQd+8d6k="}, //nolint:lll TLSAuth: "bc470c93ff9f5602a8abb27dee84a52814d10f20490ad23c47d5d82120c1bf859e93d0696b455d4a1b8d55d40c2685c41ca1d0aef29a3efd27274c4ef09020a3978fe45784b335da6df2d12db97bbb838416515f2a96f04715fd28949c6fe296a925cfada3f8b8928ed7fc963c1563272f5cf46e5e1d9c845d7703ca881497b7e6564a9d1dea9358adffd435295479f47d5298fabf5359613ff5992cb57ff081a04dfb81a26513a6b44a9b5490ad265f8a02384832a59cc3e075ad545461060b7bcab49bac815163cb80983dd51d5b1fd76170ffd904d8291071e96efc3fb777856c717b148d08a510f5687b8a8285dcffe737b98916dd15ef6235dee4266d3b", //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/example/provider.go ================================================ package example import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/example/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } // TODO: remove unneeded arguments once the updater is implemented. func New(storage common.Storage, randSource rand.Source, updaterWarner common.Warner, client *http.Client, unzipper common.Unzipper, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(updaterWarner, unzipper, client, parallelResolver), } } func (p *Provider) Name() string { // TODO: update the constant to be the right provider name. return providers.Example } ================================================ FILE: internal/provider/example/updater/api.go ================================================ package updater import ( "context" "encoding/json" "errors" "fmt" "net/http" ) var errHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") type apiData struct { Servers []apiServer `json:"servers"` } type apiServer struct { OpenVPNHostname string `json:"openvpn_hostname"` WireguardHostname string `json:"wireguard_hostname"` Country string `json:"country"` Region string `json:"region"` City string `json:"city"` WgPubKey string `json:"wg_public_key"` } func fetchAPI(ctx context.Context, client *http.Client) ( data apiData, err error, ) { // TODO: adapt this URL and the structures above to match the real // API models you have. const url = "https://example.com/servers" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return data, err } response, err := client.Do(request) if err != nil { return data, err } if response.StatusCode != http.StatusOK { _ = response.Body.Close() return data, fmt.Errorf("%w: %d %s", errHTTPStatusCodeNotOK, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&data); err != nil { _ = response.Body.Close() return data, fmt.Errorf("decoding response body: %w", err) } if err := response.Body.Close(); err != nil { return data, fmt.Errorf("closing response body: %w", err) } return data, nil } ================================================ FILE: internal/provider/example/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) // TODO: remove this file if the parallel resolver is not used // by the updater. func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { // TODO: adapt these constant values below to make the resolution // as fast and as reliable as possible. const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/example/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { // FetchServers obtains information for each VPN server // for the VPN service provider. // // You should aim at obtaining as much information as possible // for each server, such as their location information. // Required fields for each server are: // - the `VPN` protocol string field // - the `Hostname` string field // - the `IPs` IP slice field // - have one network protocol set, either `TCP` or `UDP` // - If `VPN` is `wireguard`, the `WgPubKey` field to be set // // The information obtention can be done in different ways // or by combining ways, depending on how the provider exposes // this information. Some common ones are listed below: // // - you can use u.client to fetch structured (usually JSON) // data of the servers from an HTTP API endpoint of the provider. // Example in: `internal/provider/mullvad/updater` // - you can use u.unzipper to download, unzip and parse a zip // file of OpenVPN configuration files. // Example in: `internal/provider/fastestvpn/updater` // - you can use u.parallelResolver to resolve all hostnames // found in parallel to obtain their corresponding IP addresses. // Example in: `internal/provider/fastestvpn/updater` // // The following is an example code which fetches server // information from an HTTP API endpoint of the provider, // and then resolves in parallel all hostnames to get their // IP addresses. You should pay attention to the following: // - we check multiple times we have enough servers // before continuing processing. // - hosts are deduplicated to reduce parallel resolution // load. // - servers are sorted at the end. // // Once you are done, please check all the TODO comments // in this package and address them. data, err := fetchAPI(ctx, u.client) if err != nil { return nil, fmt.Errorf("fetching API: %w", err) } uniqueHosts := make(map[string]struct{}, len(data.Servers)) for _, serverData := range data.Servers { if serverData.OpenVPNHostname != "" { uniqueHosts[serverData.OpenVPNHostname] = struct{}{} } if serverData.WireguardHostname != "" { uniqueHosts[serverData.WireguardHostname] = struct{}{} } } if len(uniqueHosts) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(uniqueHosts), minServers) } hosts := make([]string, 0, len(uniqueHosts)) for host := range uniqueHosts { hosts = append(hosts, host) } resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } if err != nil { return nil, fmt.Errorf("resolving hosts: %w", err) } if len(hostToIPs) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } maxServers := 2 * len(data.Servers) //nolint:mnd servers = make([]models.Server, 0, maxServers) for _, serverData := range data.Servers { baseServer := models.Server{ Country: serverData.Country, Region: serverData.Region, City: serverData.City, WgPubKey: serverData.WgPubKey, } if serverData.OpenVPNHostname != "" { openvpnServer := baseServer openvpnServer.VPN = vpn.OpenVPN openvpnServer.UDP = true openvpnServer.TCP = true openvpnServer.Hostname = serverData.OpenVPNHostname openvpnServer.IPs = hostToIPs[serverData.OpenVPNHostname] servers = append(servers, openvpnServer) } if serverData.WireguardHostname != "" { wireguardServer := baseServer wireguardServer.VPN = vpn.Wireguard wireguardServer.Hostname = serverData.WireguardHostname wireguardServer.IPs = hostToIPs[serverData.WireguardHostname] servers = append(servers, wireguardServer) } } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/example/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { // TODO: remove fields not used by the updater client *http.Client unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(warner common.Warner, unzipper common.Unzipper, client *http.Client, parallelResolver common.ParallelResolver, ) *Updater { // TODO: remove arguments not used by the updater return &Updater{ client: client, unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/expressvpn/connection.go ================================================ package expressvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(0, 1195, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/expressvpn/connection_test.go ================================================ package expressvpn import ( "errors" "math/rand" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/stretchr/testify/assert" ) func Test_Provider_GetConnection(t *testing.T) { t.Parallel() const provider = providers.Expressvpn errTest := errors.New("test error") testCases := map[string]struct { filteredServers []models.Server storageErr error selection settings.ServerSelection ipv6Supported bool connection models.Connection errWrapped error errMessage string panicMessage string }{ "error": { storageErr: errTest, errWrapped: errTest, errMessage: "filtering servers: test error", }, "default OpenVPN TCP port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}}, }, selection: settings.ServerSelection{ OpenVPN: settings.OpenVPNSelection{ Protocol: constants.TCP, }, }.WithDefaults(provider), panicMessage: "no default OpenVPN TCP port is defined!", }, "default OpenVPN UDP port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}}, }, selection: settings.ServerSelection{ OpenVPN: settings.OpenVPNSelection{ Protocol: constants.UDP, }, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 1195, Protocol: constants.UDP, }, }, "default Wireguard port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}}, }, selection: settings.ServerSelection{ VPN: vpn.Wireguard, }.WithDefaults(provider), panicMessage: "no default Wireguard port is defined!", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) storage := common.NewMockStorage(ctrl) storage.EXPECT().FilterServers(provider, testCase.selection). Return(testCase.filteredServers, testCase.storageErr) randSource := rand.NewSource(0) unzipper := (common.Unzipper)(nil) warner := (common.Warner)(nil) parallelResolver := (common.ParallelResolver)(nil) provider := New(storage, randSource, unzipper, warner, parallelResolver) if testCase.panicMessage != "" { assert.PanicsWithValue(t, testCase.panicMessage, func() { _, _ = provider.GetConnection(testCase.selection, testCase.ipv6Supported) }) return } connection, err := provider.GetConnection(testCase.selection, testCase.ipv6Supported) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.connection, connection) }) } } ================================================ FILE: internal/provider/expressvpn/openvpnconf.go ================================================ package expressvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, openvpn.AES256cbc, openvpn.AES128gcm, }, Auth: openvpn.SHA512, CAs: []string{ "MIIGqjCCBJKgAwIBAgIUfTu1OKHHguAcfIyUn3CIZl2EMDcwDQYJKoZIhvcNAQENBQAwgYUxCzAJBgNVBAYTAlZHMQwwCgYDVQQIDANCVkkxEzARBgNVBAoMCkV4cHJlc3NWUE4xEzARBgNVBAsMCkV4cHJlc3NWUE4xFzAVBgNVBAMMDkV4cHJlc3NWUE4gQ0EzMSUwIwYJKoZIhvcNAQkBFhZzdXBwb3J0QGV4cHJlc3N2cG4uY29tMCAXDTI0MTEwNjA0MzE1M1oYDzIxMjQxMDEzMDQzMTUzWjCBhTELMAkGA1UEBhMCVkcxDDAKBgNVBAgMA0JWSTETMBEGA1UECgwKRXhwcmVzc1ZQTjETMBEGA1UECwwKRXhwcmVzc1ZQTjEXMBUGA1UEAwwORXhwcmVzc1ZQTiBDQTMxJTAjBgkqhkiG9w0BCQEWFnN1cHBvcnRAZXhwcmVzc3Zwbi5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCWIv5F4B+LjenICyenASeml80jllmV71080/XPSA9NaygXLr5ui9NPyjKrn7vL74HnmCEgPEU0yysWCY29pnF7yid182pl8CMM+naAcIDFJd6jR4YfWmJZ4Djj9w3WK/pIWw/gXl3UPyqiN7TziainkH4RFM/S0/08IOjYvqD7HhcxZFj5cfWo/wW7lHNmlnDkQx/FuYEqLCfBKoLer2kVPHu0b/QdLZ4cp/dLAuFjbQdaxXsywMxLldRs8ToMaFuoWdrJkohlmBlXqt1IGKUUht4Ju2Nqdgi8CsMd63XAWit+Gr+d+0AI4nkft5PpNjfulbGlyZLqXSd4D96s3nQqVzjZczTAYNxT6yVZ8K0IDbRbEFGvBZ5n/5jNQaqTTm7yNcrmqbfL8EFeDWAZmY33SSgTP4fsA0HC3G3bcuxBk0pcBqCvFYxDPzsfVXlb1Uw3lZyY1Km4AsDQqZQdl5ZRFIEklZdsNELVNveyusPlLAQunwRIEFnYzZTCwhMc9sOY8DsaC1Zcn1dlPenetxMacHC4vOtqgekMubH9pFrqutA2c3Ck1fRxDUXw6AbRrZRX/BrHegfE1GkKKXwUuazSi+3FbBniu4a7bV2RFLYo8Gmo01DzMK5/0rGilpW8mU1q6YwHYSKlxutwN2BWJtXc4dzqE5A5TnfoZgp0gZHOhwIDAQABo4IBDDCCAQgwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUM9vH/Agamn13MFeU9ctFB5culQIwgcUGA1UdIwSBvTCBuoAUM9vH/Agamn13MFeU9ctFB5culQKhgYukgYgwgYUxCzAJBgNVBAYTAlZHMQwwCgYDVQQIDANCVkkxEzARBgNVBAoMCkV4cHJlc3NWUE4xEzARBgNVBAsMCkV4cHJlc3NWUE4xFzAVBgNVBAMMDkV4cHJlc3NWUE4gQ0EzMSUwIwYJKoZIhvcNAQkBFhZzdXBwb3J0QGV4cHJlc3N2cG4uY29tghR9O7U4oceC4Bx8jJSfcIhmXYQwNzAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBABZtroQt7d8yy8CN60ErYPbLcwf93iZxDyvqSOqV6si7A4sF0KGDnS6zznsn9aJ+ZNYRYAI0WtabIkq1mtmdw1fMnC34ywl/28AcumdBM8gv48bE58pwySOeYZNPC+4yTCHIzc322ojP2YhLRKUM0IH9+N3IxmoCFIdEKbGiXEsW4zZahWRBgxr2Ew3D6N8RKsdMrSPw7lvW9eSs3s88lYXF+FtGp5Wid9bzmCa3tgySA7gmNAkLNbm2O8NdM8gBIlCDOI3u8FC7SDS7QyoMn8oeRxlkBkby5OKsZ5j10hSDHEdGrHqNn1bAGfpuRfZVg9kPvnTomjCo2TcD1Ig6iOt6IAKAaOZNgYYT/5ttA8q4Uum8lTYdtQRTWDWHBKYcMjvhWwvhjumYnlN6eaGhsHZEsFBpgHwV454zTMRX6oRbdaJwBGYhODoI3hxB14zqiK/BJi9mq2OQOrfh2MBBrV1w63YkJ0rxXs1PEhx1iI7zjLtGMgBzG2Y7sAa/z3Uo6uAaA7jj+eig3bmZ5Iatw1pfqEQT/M1A/H5aUYq4KOPBB8AkRzpHty003CJrYcr+LsdotRTiqYxB9QAqs7u5WZ82XiYOImN3SgrTcJQPHXWtbUmsx6pxCkHelMMgWCfPSkWGBQCYm/vuOx6Ysea22jH0zuy8GCTYASy7w6ks9JBe", //nolint:lll "MIIF+DCCA+CgAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBhDELMAkGA1UEBhMCVkcxDDAKBgNVBAgMA0JWSTETMBEGA1UECgwKRXhwcmVzc1ZQTjETMBEGA1UECwwKRXhwcmVzc1ZQTjEWMBQGA1UEAwwNRXhwcmVzc1ZQTiBDQTElMCMGCSqGSIb3DQEJARYWc3VwcG9ydEBleHByZXNzdnBuLmNvbTAeFw0xNTEwMjEwMDAwMDBaFw0yNjA0MDEyMTEyMDBaMIGEMQswCQYDVQQGEwJWRzEMMAoGA1UECAwDQlZJMRMwEQYDVQQKDApFeHByZXNzVlBOMRMwEQYDVQQLDApFeHByZXNzVlBOMRYwFAYDVQQDDA1FeHByZXNzVlBOIENBMSUwIwYJKoZIhvcNAQkBFhZzdXBwb3J0QGV4cHJlc3N2cG4uY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxzXvHZ25OsESKRMQFINHJNqE9kVRLWJS50oVB2jxobudPhCsWvJSApvar8CB2RrqkVMhXu2HT3FBtDL91INg070qAyjjRpzEbDPWqQ1+G0tk0sjiJt2mXPJK2IlNFnhe6rTs09Pkpcp8qRhfZay/dIlmagohQAr4JvYL1Ajg9A3sLb8JkY03H6GhOF8EKYTqhrEppCcg4sQKQhNSytRoQAm8Ta+tnTYIedwWpqjUXP9YXFOvljPaixfYug24eAkpTjeuWTcELSyfnuiBeK+z9+5OYunhqFt2QZMq33kLFZGMN2gHRCzngxxphurypsPRo7jiFgQI1yLt8uZsEZ+otGEK91jjKfOC+g9TBy2RUtxk1neWcQ6syXDuc3rBNrGA8iM0ZoEqQ1BC8xWr3NYlSjqN+1mgpTAX3/Dxze4GzHd7AmYaYJV8xnKBVNphlMlg1giCAu5QXjMxPbfCgZiEFq/uq0SOKQJeT3AI/uVPSvwCMWByjyMbDpKKAK8Hy3UT5m4bCNu8J7bxj+vdnq0A2HPwtF0FwBl/TIM3zNsyFrZZ0j6jLRT50mFsgDBKcD4L/J5rjdCsKPu5rodhxe38rCx2GknP1Zkov4yoVCcR48+CQwg3oBkq0/EflvWUvcYApzs9SomUM/g+8Q/V0WOfJmFWuxN9YntZlnzHRSRjrvMCAwEAAaNzMHEwHQYDVR0OBBYEFIzmQGj8xS+0LLklwqHD45VVOZRJMB8GA1UdIwQYMBaAFIzmQGj8xS+0LLklwqHD45VVOZRJMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIBFjANBgkqhkiG9w0BAQ0FAAOCAgEAbHfuMKtojm1NgX7qSU2Rm2B5L8G0FuFP0L40dj8O5WHt45j2z8coMK90vrUnQEZNQmRzot7v3XjVzVlxBWYSsCEApTsSDNi/4BNFP8H/BUUtJuy2GFTO4wDVJnqNkZOHBmyVD75s1Y+W8a+zB4jkMeDEhOHZdwQ0l1fJDDgXal5f1UT5F5WH6/RwHmWTwX4GxuCiIVtx70CjkXqhM8yZtTp1UtHLRNYcNSIes0vrAPHPgoA5z9B8UvsOjuP+mfcjzi0LGGrY+2pJu0BKO2dRnarIZZABETIisI3FokoTszx5jpRPyxyUTuRDKWHrvi0PPtOmC8nFahfugWFUi6uBsqCaSeuex+ahnTPCq0b1l0Ozpg0YeE8CW1TL9Y92b01up2c+PP6wZOIm3JyTH+L5smDFbh80V42dKyGNdPXMg5IcJhj3YfAy4k8h/qbWY57KFcIzKx40bFsoI7PeydbGtT/dIoFLSZRLW5bleXNgG9mXZp270UeEC6CpATCS6uVl8LVT1I02uulHUpFaRmTEOrmMxsXGt6UAwYTY55K/B8uuID341xKbeC0kzhuN2gsL5UJaocBHyWK/AqwbeBttdhOCLwoaj7+nSViPxICObKrg3qavGNCvtwy/fEegK9X/wlp2e2CFlIhFbadeXOBr9Fn8ypYPP17mTqe98OJYM04=", //nolint:lll }, Cert: "MIIDTjCCAregAwIBAgIDKzZvMA0GCSqGSIb3DQEBCwUAMIGFMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFTATBgNVBAcTDFNhbkZyYW5jaXNjbzEVMBMGA1UEChMMRm9ydC1GdW5zdG9uMRgwFgYDVQQDEw9Gb3J0LUZ1bnN0b24gQ0ExITAfBgkqhkiG9w0BCQEWEm1lQG15aG9zdC5teWRvbWFpbjAgFw0xNjExMDMwMzA2MThaGA8yMDY2MTEwMzAzMDYxOFowgYoxCzAJBgNVBAYTAlZHMQwwCgYDVQQIDANCVkkxEzARBgNVBAoMCkV4cHJlc3NWUE4xEzARBgNVBAsMCkV4cHJlc3NWUE4xHDAaBgNVBAMME2V4cHJlc3N2cG5fY3VzdG9tZXIxJTAjBgkqhkiG9w0BCQEWFnN1cHBvcnRAZXhwcmVzc3Zwbi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrOYt/KOi2uMDGev3pXg8j1SO4J/4EVWDF7vJcKr2jrZlqD/zuAFx2W1YWvwumPO6PKH4PU9621aNdiumaUkv/RplCfznnnxqobhJuTE2oA+rS1bOq+9OhHwF9jgNXNVk+XX4d0toST5uGE6Z3OdmPBur8o5AlCf78PDSAwpFOw5HrgLqOEU4hTweC1/czX2VsvsHv22HRI6JMZgP8gGQii/p9iukqfaJvGdPciL5p1QRBUQIi8P8pNvEp1pVIpxYj7/LOUqb2DxFvgmp2v1IQ0Yu88SWsFk84+xAYHzfkLyS31Sqj5uLRBnJqx3fIlOihQ50GI72fwPMwo+OippvVAgMBAAGjPzA9MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgSwMB0GA1UdDgQWBBSkBM1TCX9kBgFsv2RmOzudMXa9njANBgkqhkiG9w0BAQsFAAOBgQA+2e4b+33zFmA+1ZQ46kWkfiB+fEeDyMwMLeYYyDS2d8mZhNZKdOw7dy4Ifz9Vqzp4aKuQ6j61c6k1UaQQL0tskqWVzslSFvs9NZyUAJLLdGUc5TT2MiLwiXQwd4UvH6bGeePdhvB4+ZbW7VMD7TE8hZhjhAL4F6yAP1EQvg3LDA==", //nolint:lll RSAKey: "MIIEpAIBAAKCAQEAqzmLfyjotrjAxnr96V4PI9UjuCf+BFVgxe7yXCq9o62Zag/87gBcdltWFr8Lpjzujyh+D1PettWjXYrpmlJL/0aZQn85558aqG4SbkxNqAPq0tWzqvvToR8BfY4DVzVZPl1+HdLaEk+bhhOmdznZjwbq/KOQJQn+/Dw0gMKRTsOR64C6jhFOIU8Hgtf3M19lbL7B79th0SOiTGYD/IBkIov6fYrpKn2ibxnT3Ii+adUEQVECIvD/KTbxKdaVSKcWI+/yzlKm9g8Rb4Jqdr9SENGLvPElrBZPOPsQGB835C8kt9Uqo+bi0QZyasd3yJTooUOdBiO9n8DzMKPjoqab1QIDAQABAoIBAHgsekC0SKi+AOcNOZqJ3pxqophE0V7fQX2KWGXhxZnUZMFxGTc936deMYzjZ1y0lUa6x8cgOUcfqHol3hDmw9oWBckLHGv5Wi9umdb6DOLoZO62+FQATSdfaJ9jheq2Ub2YxsRN0apaXzB6KDKz0oM0+sZ4Udn9Kw6DfuIELRIWwEx4w0v3gKW7YLC4Jkc4AwLkPK03xEA/qImfkCmaMPLhrgVQt+IFfP8bXzL7CCC04rNU/IS8pyjex+iUolnQZlbXntF7Bm4V2mz0827ZVqrgAb/hEQRlsTW3rRkVh+rrdoUE7BCZRTFmRCbLoShjN6XuSf4sAus8ch4UEN12gN0CgYEA4o/tSvij1iPaXLmt4KOEuxqmSGB8MLKhFde8lBbNdrDgxiIH9bH7khKx15XRTX0qLDbs8b2/UJygZG0Aa1kIBqZTXTgeMAuxPRTesALJPdqQ/ROnbJcdFkI7gllrAG8VB0fH4wTRsRd0vWEB6YlCdE107u6LEsLAHxOj9Q5819cCgYEAwXjx9RkQ2qITBx5Ewib8YsltA0n3cmRomPicLlsnKV5DfvyCLpFIsZ1h3f9dUpfxRLwzp8wcoLiq9cCoOGdu1udw/yBTqmhaXWhUK/g77f9Ze2ZB1OEhuyKLYJ1vW/h/Z/a1aPCMxZqsDTPCePsuO8Cez5gqs8LjM3W7EyzRxDMCgYEAvhHrDFt975fSiLoJgo0MPIAGAnBXn+8sLwv3m/FpW+rWF8LTFK/Fku12H5wDpNOdvswxijkauIE+GiJMGMLvdcyx4WHECaC1h73reJRNykOEIZ0Md5BrCZJ1JEzp9Mo8RQhWTEFtvfkkqgApP4g0pSeaMx0StaGG1kt+4IbP+68CgYBrZdQKlquAck/Vt7u7eyDHRcE5/ilaWtqlb/xizz7h++3D5C/v4b5UumTFcyg+3RGVclPKZcfOgDSGzzeSd/hTW46iUTOgeOUQzQVMkzPRXdoyYgVRQtgSpY5xR3O1vjAbahwx8LZ0SvQPMBhYSDbV/Isr+fBacWjl/AipEEwxeQKBgQDdrAEnVlOFoCLw4sUjsPoxkLjhTAgI7CYk5NNxX67Rnj0tp+Y49+sGUhl5sCGfMKkLShiON5P2oxZa+B0aPtQjsdnsFPa1uaZkK4c++SS6AetzYRpVDLmLp7/1CulE0z3O0sBekpwiuaqLJ9ZccC81g4+2j8j6c50rIAct3hxIxw==", //nolint:lll TLSAuth: "48d9999bd71095b10649c7cb471c1051b1afdece597cea06909b99303a18c67401597b12c04a787e98cdb619ee960d90a0165529dc650f3a5c6fbe77c91c137dcf55d863fcbe314df5f0b45dbe974d9bde33ef5b4803c3985531c6c23ca6906d6cd028efc8585d1b9e71003566bd7891b9cc9212bcba510109922eed87f5c8e66d8e59cbd82575261f02777372b2cd4ca5214c4a6513ff26dd568f574fd40d6cd450fc788160ff68434ce2bf6afb00e710a3198538f14c4d45d84ab42637872e778a6b35a124e700920879f1d003ba93dccdb953cdf32bea03f365760b0ed8002098d4ce20d045b45a83a8432cc737677aed27125592a7148d25c87fdbe0a3f6", //nolint:lll MssFix: 1200, FastIO: true, Fragment: 1300, SndBuf: 524288, RcvBuf: 524288, KeyDirection: "1", VerifyX509Type: "name-prefix", // Always verify against `Server` x509 name prefix, security hole I guess? VerifyX509Name: "Server", } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/expressvpn/provider.go ================================================ package expressvpn import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/expressvpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Expressvpn } ================================================ FILE: internal/provider/expressvpn/updater/hardcoded.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/models" ) func hardcodedServers() (servers []models.Server) { return []models.Server{ {Country: "Albania", Hostname: "albania-ca-version-2.expressnetw.com"}, {Country: "Algeria", Hostname: "algeria-ca-version-2.expressnetw.com"}, {Country: "Andorra", Hostname: "andorra-ca-version-2.expressnetw.com"}, {Country: "Argentina", Hostname: "argentina-ca-version-2.expressnetw.com"}, {Country: "Armenia", Hostname: "armenia-ca-version-2.expressnetw.com"}, {Country: "Australia", City: "Adelaide", Hostname: "australia-adelaide--ca-version-2.expressnetw.com"}, {Country: "Australia", City: "Brisbane", Hostname: "australia-brisbane-ca-version-2.expressnetw.com"}, {Country: "Australia", City: "Melbourne", Hostname: "australia-melbourne-ca-version-2.expressnetw.com"}, {Country: "Australia", City: "Perth", Hostname: "australia-perth-ca-version-2.expressnetw.com"}, {Country: "Australia", City: "Sydney", Hostname: "australia-sydney-2-ca-version-2.expressnetw.com"}, {Country: "Australia", City: "Sydney", Hostname: "australia-sydney-ca-version-2.expressnetw.com"}, {Country: "Australia", City: "Woolloomooloo", Hostname: "australia-woolloomooloo-2-ca-version-2.expressnetw.com"}, {Country: "Austria", Hostname: "austria-ca-version-2.expressnetw.com"}, {Country: "Azerbaijan", Hostname: "azerbaijan-ca-version-2.expressnetw.com"}, {Country: "Bahamas", Hostname: "bahamas-ca-version-2.expressnetw.com"}, {Country: "Bangladesh", Hostname: "bangladesh-ca-version-2.expressnetw.com"}, {Country: "Belarus", Hostname: "belarus-ca-version-2.expressnetw.com"}, {Country: "Belgium", Hostname: "belgium-ca-version-2.expressnetw.com"}, {Country: "Bermuda", Hostname: "bermuda-ca-version-2.expressnetw.com"}, {Country: "Bhutan", Hostname: "bhutan-ca-version-2.expressnetw.com"}, {Country: "Bolivia", Hostname: "bolivia-ca-version-2.expressnetw.com"}, {Country: "Bosnia and Herzegovina", Hostname: "bosniaandherzegovina-ca-version-2.expressnetw.com"}, {Country: "Brazil", Hostname: "brazil-2-ca-version-2.expressnetw.com"}, {Country: "Brazil", Hostname: "brazil-ca-version-2.expressnetw.com"}, {Country: "Brunei", Hostname: "brunei-ca-version-2.expressnetw.com"}, {Country: "Bulgaria", Hostname: "bulgaria-ca-version-2.expressnetw.com"}, {Country: "Cambodia", Hostname: "cambodia-ca-version-2.expressnetw.com"}, {Country: "Canada", City: "Montreal", Hostname: "canada-montreal-ca-version-2.expressnetw.com"}, {Country: "Canada", City: "Toronto", Hostname: "canada-toronto-2-ca-version-2.expressnetw.com"}, {Country: "Canada", City: "Toronto", Hostname: "canada-toronto-ca-version-2.expressnetw.com"}, {Country: "Cayman Islands", Hostname: "caymanislands-ca-version-2.expressnetw.com"}, {Country: "Chile", Hostname: "chile-ca-version-2.expressnetw.com"}, {Country: "Colombia", Hostname: "colombia-ca-version-2.expressnetw.com"}, {Country: "Costa Rica", Hostname: "costarica-ca-version-2.expressnetw.com"}, {Country: "Croatia", Hostname: "croatia-ca-version-2.expressnetw.com"}, {Country: "Cuba", Hostname: "cuba-ca-version-2.expressnetw.com"}, {Country: "Cyprus", Hostname: "cyprus-ca-version-2.expressnetw.com"}, {Country: "Czech Republic", Hostname: "czechrepublic-ca-version-2.expressnetw.com"}, {Country: "Denmark", Hostname: "denmark-ca-version-2.expressnetw.com"}, {Country: "Dominican Republic", Hostname: "dominicanrepublic-ca-version-2.expressnetw.com"}, {Country: "Ecuador", Hostname: "ecuador-ca-version-2.expressnetw.com"}, {Country: "Egypt", Hostname: "egypt-ca-version-2.expressnetw.com"}, {Country: "Estonia", Hostname: "estonia-ca-version-2.expressnetw.com"}, {Country: "Finland", Hostname: "finland-ca-version-2.expressnetw.com"}, {Country: "France", City: "Alsace", Hostname: "france-alsace-ca-version-2.expressnetw.com"}, {Country: "France", City: "Marseille", Hostname: "france-marseille-ca-version-2.expressnetw.com"}, {Country: "France", City: "Paris", Hostname: "france-paris-1-ca-version-2.expressnetw.com"}, {Country: "France", City: "Paris", Hostname: "france-paris-2-ca-version-2.expressnetw.com"}, {Country: "France", City: "Strasbourg", Hostname: "france-strasbourg-ca-version-2.expressnetw.com"}, {Country: "Georgia", Hostname: "georgia-ca-version-2.expressnetw.com"}, {Country: "Germany", City: "Frankfurt", Hostname: "germany-darmstadt-ca-version-2.expressnetw.com"}, {Country: "Germany", City: "Frankfurt", Hostname: "germany-frankfurt-1-ca-version-2.expressnetw.com"}, {Country: "Germany", City: "Nuremberg", Hostname: "germany-nuremberg-ca-version-2.expressnetw.com"}, {Country: "Ghana", Hostname: "ghana-ca-version-2.expressnetw.com"}, {Country: "Greece", Hostname: "greece-ca-version-2.expressnetw.com"}, {Country: "Guam", Hostname: "guam-ca-version-2.expressnetw.com"}, {Country: "Guatemala", Hostname: "guatemala-ca-version-2.expressnetw.com"}, {Country: "Honduras", Hostname: "honduras-ca-version-2.expressnetw.com"}, {Country: "Hong Kong", Hostname: "hongkong-1-ca-version-2.expressnetw.com"}, {Country: "Hong Kong", Hostname: "hongkong-2-ca-version-2.expressnetw.com"}, {Country: "Hungary", Hostname: "hungary-ca-version-2.expressnetw.com"}, {Country: "Iceland", Hostname: "iceland-ca-version-2.expressnetw.com"}, {Country: "India (via Singapore)", Hostname: "india-sg-ca-version-2.expressnetw.com"}, {Country: "India (via UK)", Hostname: "india-uk-ca-version-2.expressnetw.com"}, {Country: "Indonesia", Hostname: "indonesia-ca-version-2.expressnetw.com"}, {Country: "Ireland", Hostname: "ireland-ca-version-2.expressnetw.com"}, {Country: "Isle of Man", Hostname: "isleofman-ca-version-2.expressnetw.com"}, {Country: "Israel", Hostname: "israel-ca-version-2.expressnetw.com"}, {Country: "Italy", City: "Cosenza", Hostname: "italy-cosenza-ca-version-2.expressnetw.com"}, {Country: "Italy", City: "Milan", Hostname: "italy-milan-ca-version-2.expressnetw.com"}, {Country: "Italy", City: "Naples", Hostname: "italy-naples-ca-version-2.expressnetw.com"}, {Country: "Jamaica", Hostname: "jamaica-ca-version-2.expressnetw.com"}, {Country: "Japan", City: "Osaka", Hostname: "japan-osaka-ca-version-2.expressnetw.com"}, {Country: "Japan", City: "Shibuya", Hostname: "japan-shibuya-ca-version-2.expressnetw.com"}, {Country: "Japan", City: "Tokyo", Hostname: "japan-tokyo-ca-version-2.expressnetw.com"}, {Country: "Japan", City: "Yokohama", Hostname: "japan-yokohama-ca-version-2.expressnetw.com"}, {Country: "Jersey", Hostname: "jersey-ca-version-2.expressnetw.com"}, {Country: "Kazakhstan", Hostname: "kazakhstan-ca-version-2.expressnetw.com"}, {Country: "Kenya", Hostname: "kenya-ca-version-2.expressnetw.com"}, {Country: "Laos", Hostname: "laos-ca-version-2.expressnetw.com"}, {Country: "Latvia", Hostname: "latvia-ca-version-2.expressnetw.com"}, {Country: "Lebanon", Hostname: "lebanon-ca-version-2.expressnetw.com"}, {Country: "Liechtenstein", Hostname: "liechtenstein-ca-version-2.expressnetw.com"}, {Country: "Lithuania", Hostname: "lithuania-ca-version-2.expressnetw.com"}, {Country: "Luxembourg", Hostname: "luxembourg-ca-version-2.expressnetw.com"}, {Country: "Macau", Hostname: "macau-ca-version-2.expressnetw.com"}, {Country: "Malaysia", Hostname: "malaysia-ca-version-2.expressnetw.com"}, {Country: "Malta", Hostname: "malta-ca-version-2.expressnetw.com"}, {Country: "Mexico", Hostname: "mexico-ca-version-2.expressnetw.com"}, {Country: "Moldova", Hostname: "moldova-ca-version-2.expressnetw.com"}, {Country: "Monaco", Hostname: "monaco-ca-version-2.expressnetw.com"}, {Country: "Mongolia", Hostname: "mongolia-ca-version-2.expressnetw.com"}, {Country: "Montenegro", Hostname: "montenegro-ca-version-2.expressnetw.com"}, {Country: "Morocco", Hostname: "morocco-ca-version-2.expressnetw.com"}, {Country: "Myanmar", Hostname: "myanmar-ca-version-2.expressnetw.com"}, {Country: "Nepal", Hostname: "nepal-ca-version-2.expressnetw.com"}, {Country: "Netherlands", City: "Amsterdam", Hostname: "netherlands-amsterdam-ca-version-2.expressnetw.com"}, {Country: "Netherlands", City: "Rotterdam", Hostname: "netherlands-rotterdam-ca-version-2.expressnetw.com"}, {Country: "Netherlands", City: "The Hague", Hostname: "netherlands-thehague-ca-version-2.expressnetw.com"}, {Country: "New Zealand", Hostname: "newzealand-ca-version-2.expressnetw.com"}, {Country: "North Macedonia", Hostname: "macedonia-ca-version-2.expressnetw.com"}, {Country: "Norway", Hostname: "norway-ca-version-2.expressnetw.com"}, {Country: "Panama", Hostname: "panama-ca-version-2.expressnetw.com"}, {Country: "Peru", Hostname: "peru-ca-version-2.expressnetw.com"}, {Country: "Philippines (via Singapore)", Hostname: "ph-via-sing-ca-version-2.expressnetw.com"}, {Country: "Poland", Hostname: "poland-ca-version-2.expressnetw.com"}, {Country: "Portugal", Hostname: "portugal-ca-version-2.expressnetw.com"}, {Country: "Puerto Rico", Hostname: "puertorico-ca-version-2.expressnetw.com"}, {Country: "Romania", Hostname: "romania-ca-version-2.expressnetw.com"}, {Country: "Serbia", Hostname: "serbia-ca-version-2.expressnetw.com"}, {Country: "Singapore", City: "CBD", Hostname: "singapore-cbd-ca-version-2.expressnetw.com"}, {Country: "Singapore", City: "Jurong", Hostname: "singapore-jurong-ca-version-2.expressnetw.com"}, {Country: "Singapore", City: "Marina Bay", Hostname: "singapore-marinabay-ca-version-2.expressnetw.com"}, {Country: "Slovakia", Hostname: "slovakia-ca-version-2.expressnetw.com"}, {Country: "Slovenia", Hostname: "slovenia-ca-version-2.expressnetw.com"}, {Country: "South Africa", Hostname: "southafrica-ca-version-2.expressnetw.com"}, {Country: "South Korea", Hostname: "southkorea2-ca-version-2.expressnetw.com"}, {Country: "Spain", City: "Barcelona", Hostname: "spain-barcelona-ca-version-2.expressnetw.com"}, {Country: "Spain", City: "Barcelona", Hostname: "spain-barcelona2-ca-version-2.expressnetw.com"}, {Country: "Spain", City: "Madrid", Hostname: "spain-ca-version-2.expressnetw.com"}, {Country: "Sri Lanka", Hostname: "srilanka-ca-version-2.expressnetw.com"}, {Country: "Sweden", Hostname: "sweden-ca-version-2.expressnetw.com"}, {Country: "Sweden", Hostname: "sweden2-ca-version-2.expressnetw.com"}, {Country: "Switzerland", Hostname: "switzerland-2-ca-version-2.expressnetw.com"}, {Country: "Switzerland", Hostname: "switzerland-ca-version-2.expressnetw.com"}, {Country: "Taiwan", Hostname: "taiwan-3-ca-version-2.expressnetw.com"}, {Country: "Thailand", Hostname: "thailand-ca-version-2.expressnetw.com"}, {Country: "Trinidad and Tobago", Hostname: "trinidadandtobago-ca-version-2.expressnetw.com"}, {Country: "Turkey", Hostname: "turkey-ca-version-2.expressnetw.com"}, {Country: "UK", City: "Docklands", Hostname: "uk-1-docklands-ca-version-2.expressnetw.com"}, {Country: "UK", City: "East London", Hostname: "uk-east-london-ca-version-2.expressnetw.com"}, {Country: "UK", City: "London", Hostname: "uk-london-ca-version-2.expressnetw.com"}, {Country: "UK", City: "Midlands", Hostname: "uk-midlands-ca-version-2.expressnetw.com"}, {Country: "UK", City: "Tottenham", Hostname: "uk-tottenham-ca-version-2.expressnetw.com"}, {Country: "UK", City: "Wembley", Hostname: "uk-wembley-ca-version-2.expressnetw.com"}, {Country: "Ukraine", Hostname: "ukraine-ca-version-2.expressnetw.com"}, {Country: "Uruguay", Hostname: "uruguay-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Albuquerque", Hostname: "usa-albuquerque-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Atlanta", Hostname: "usa-atlanta-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Boston", Hostname: "us-boston-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Chicago", Hostname: "usa-chicago-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Dallas", Hostname: "usa-dallas-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Denver", Hostname: "usa-denver-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Houston", Hostname: "usa-houston-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Jackson", Hostname: "us-jackson-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Lincoln Park", Hostname: "usa-lincolnpark-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Little Rock", Hostname: "us-littlerock-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Los Angeles", Hostname: "usa-losangeles-2-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Los Angeles", Hostname: "usa-losangeles-3-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Los Angeles", Hostname: "usa-losangeles-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Los Angeles", Hostname: "usa-losangeles5-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Miami", Hostname: "usa-miami-2-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Miami", Hostname: "usa-miami-ca-version-2.expressnetw.com"}, {Country: "USA", City: "New Jersey", Hostname: "usa-newjersey-1-ca-version-2.expressnetw.com"}, {Country: "USA", City: "New Jersey", Hostname: "usa-newjersey-3-ca-version-2.expressnetw.com"}, {Country: "USA", City: "New Jersey", Hostname: "usa-newjersey2-ca-version-2.expressnetw.com"}, {Country: "USA", City: "New Orleans", Hostname: "us-neworleans-ca-version-2.expressnetw.com"}, {Country: "USA", City: "New York", Hostname: "usa-newyork-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Oklahoma City", Hostname: "us-oklahoma-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Phoenix", Hostname: "usa-phoenix-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Salt Lake City", Hostname: "usa-saltlakecity-ca-version-2.expressnetw.com"}, {Country: "USA", City: "San Francisco", Hostname: "usa-sanfrancisco-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Santa Monica", Hostname: "usa-santa-monica-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Seattle", Hostname: "usa-seattle-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Tampa", Hostname: "usa-tampa-1-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Washington DC", Hostname: "usa-washingtondc-ca-version-2.expressnetw.com"}, {Country: "USA", City: "Wichita", Hostname: "us-wichita-ca-version-2.expressnetw.com"}, {Country: "Uzbekistan", Hostname: "uzbekistan-ca-version-2.expressnetw.com"}, {Country: "Venezuela", Hostname: "venezuela-ca-version-2.expressnetw.com"}, {Country: "Vietnam", Hostname: "vietnam-ca-version-2.expressnetw.com"}, } } ================================================ FILE: internal/provider/expressvpn/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.4 maxNoNew = 1 maxFails = 4 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: time.Second, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/expressvpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { servers = hardcodedServers() hosts := make([]string, len(servers)) for i := range servers { hosts[i] = servers[i].Hostname } resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } if err != nil { return nil, err } i := 0 for _, server := range servers { hostname := server.Hostname server.IPs = hostToIPs[hostname] if len(server.IPs) == 0 { continue } server.VPN = vpn.OpenVPN server.UDP = true // no TCP support servers[i] = server i++ } servers = servers[:i] if len(servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/expressvpn/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/fastestvpn/connection.go ================================================ package fastestvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(4443, 4443, 51820) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/fastestvpn/openvpnconf.go ================================================ package fastestvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, }, Auth: openvpn.SHA256, MssFix: 1450, TLSCipher: "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA", //nolint:lll AuthToken: true, KeyDirection: "1", RenegDisabled: true, CAs: []string{"MIIFQjCCAyqgAwIBAgIIUfxepT+rr8owDQYJKoZIhvcNAQEMBQAwPzELMAkGA1UEBhMCS1kxEzARBgNVBAoTCkZhc3Rlc3RWUE4xGzAZBgNVBAMTEkZhc3Rlc3RWUE4gUm9vdCBDQTAeFw0xNzA5MTYwMDAxNDZaFw0yNzA5MTQwMDAxNDZaMD8xCzAJBgNVBAYTAktZMRMwEQYDVQQKEwpGYXN0ZXN0VlBOMRswGQYDVQQDExJGYXN0ZXN0VlBOIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC1Xj+WfPTozFynFqc+c3CVrggIllaXEl5bY5VgFynXkqCTM6lSrfC4pNjGXUbqWe6RnGJbM4/6kUn+lQDjFSQV1rzP2eDS8+r5+X2WXh4AoeNRUWhvSG+HiHD/B2EFK+Nd5BRSdUjpKWAtsCmT2bBt7nT0jN1OdeNrLJeyF8siAqv/oQzKznF9aIe/N01b2M8ZOFTzoXi2fZAckgGWui8NB/lzkVIJqSkAPRL8qiJLuRCPVOX1PFD8vV//R8/QumtfbcYBMo6vCk2HmWdrh5OQHPxb3KJtbtG+Z1j8x6HGEAe17djYepBiRMyCEQvYgfD6tvFylc4IquhqE9yaP60PJod5TxpWnRQ6HIGSeBm+S+rYSMalTZ8+pUqOOA+IQCYpfpx6EKIJL/VsW2C7cXdvudxDhXPI5lR/QidCb9Ohq3WkfxXaYwzrngdg2avmNqId9R4KESuM9GoHW0dszfyBCh5wYfeaffMElfDam3B92NUwyhZwtIiv623WVXY9PPz+EDjSJsIAu2Vi1vdJyA4nD4k9Lwmx/1zTc/UaYVLsiBqL2WdfvFTeoWoV+dNxQXSEPhB8gwi8x4O4lZW0cwVy/6fa8KMY8gZbcbSTr7U5bRERfW8l+jY+mYKQ/M/ccgpxaHiw1/+4LWfbJQ7VhJJrTyN0C36FQzY1URkSXg+53wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmVEL4x6xdCqiqu2OBLs27EA8xGYwDQYJKoZIhvcNAQEMBQADggIBABCpITvO1+R4T9v2+onHiFxU5JjtCZ0zkXqRCMp/Z0UIYbeo1p07pZCPAUjBfGPCkAaR++OiG9sysALdJf8Y6HQKcyuAcWUqQnaIhoZ2JcAP7EKq7uCqsMhcYZD/j3O/3RPtSW5UOx6ItDU+Ua0t9Edho9whNw0VQXmo1JjYoP3FzPjuKoDWTSO1q5eYlZfwcTcs55O2shNkFafPg/6cCm5j6v9nyHrM3sk4LjkrBPUXVx2m/aoz219t8O9Ha9/CdMKXsPO/8gTUzpgnzSgPnGnBmi5xr1nspVN8X4E2f3D+DKqBim3YgslD68NcuFQvJ0/BxZzWVbrr+QXoyzaiCgXuogpIDc2bB6oRXqFnHNz36d4QJmJdWdSaijiS/peQ6EOPgOZ1GuObLWlDCBZLNeQ+N6QaiJxVO4XUj/s22i1IRtwdz84TRHrbWiIpEymsqmb/Ep5r4xV5d6+791axclfOTH7tQrY/SbPtTJI4OEgNekI8YfadQifpelF82MsFFEZuaQn0lj+fvLGtE/zKh3OdLTxRc5TAgBB+0T81+JQosygNr2aFFG0hxar1eyw/gLeG8H+7Ie50pyPvXO4OgB6Key8rSExpilQXlvAT1qX0qS3/K1i/9QkSE9ftIPT6vtwLV2sVQzfyanI4IZgWC6ryhvNLsRn0NFnQclor0+aq"}, //nolint:lll TLSAuth: "697fe793b32cb5091d30f2326d5d124a9412e93d0a44ef7361395d76528fcbfc82c3859dccea70a93cfa8fae409709bff75f844cf5ff0c237f426d0c20969233db0e706edb6bdf195ec3dc11b3f76bc807a77e74662d9a800c8cd1144ebb67b7f0d3f1281d1baf522bfe03b7c3f963b1364fc0769400e413b61ca7b43ab19fac9e0f77e41efd4bda7fd77b1de2d7d7855cbbe3e620cecceac72c21a825b243e651f44d90e290e09c3ad650de8fca99c858bc7caad584bc69b11e5c9fd9381c69c505ec487a65912c672d83ed0113b5a74ddfbd3ab33b3683cec593557520a72c4d6cce46111f56f3396cc3ce7183edce553c68ea0796cf6c4375fad00aaa2a42", //nolint:lll UDPLines: []string{ "tun-mtu 1500", "tun-mtu-extra 32", "ping 15", }, ExtraLines: []string{ "comp-lzo", }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/fastestvpn/provider.go ================================================ package fastestvpn import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/fastestvpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Fastestvpn } ================================================ FILE: internal/provider/fastestvpn/updater/api.go ================================================ package updater import ( "bytes" "context" "errors" "fmt" "io" "net/http" "net/url" "strings" "github.com/qdm12/gluetun/internal/provider/common" ) type apiServer struct { country string city string hostname string } var ErrDataMalformed = errors.New("data is malformed") const apiURL = "https://support.fastestvpn.com/wp-admin/admin-ajax.php" // The API URL and requests are shamelessly taken from network operations // done on the page https://support.fastestvpn.com/vpn-servers/ func fetchAPIServers(ctx context.Context, client *http.Client, protocol string) ( servers []apiServer, err error, ) { form := url.Values{ "action": []string{"vpn_servers"}, "protocol": []string{protocol}, } body := strings.NewReader(form.Encode()) request, err := http.NewRequestWithContext(ctx, http.MethodPost, apiURL, body) if err != nil { return nil, fmt.Errorf("creating request: %w", err) } request.Header.Set("Content-Type", "application/x-www-form-urlencoded") // request.Header.Set("User-Agent", "curl/8.9.0") // request.Header.Set("Accept", "*/*") response, err := client.Do(request) if err != nil { return nil, fmt.Errorf("sending request: %w", err) } if response.StatusCode != http.StatusOK { _ = response.Body.Close() return nil, fmt.Errorf("%w: %d", common.ErrHTTPStatusCodeNotOK, response.StatusCode) } data, err := io.ReadAll(response.Body) if err != nil { _ = response.Body.Close() return nil, fmt.Errorf("reading response body: %w", err) } err = response.Body.Close() if err != nil { return nil, fmt.Errorf("closing response body: %w", err) } const usualMaxNumber = 100 servers = make([]apiServer, 0, usualMaxNumber) for { trBlock := getNextTRBlock(data) if trBlock == nil { break } data = data[len(trBlock):] var server apiServer const numberOfTDBlocks = 3 for i := range numberOfTDBlocks { tdBlock := getNextTDBlock(trBlock) if tdBlock == nil { return nil, fmt.Errorf("%w: expected 3 blocks in block %q", ErrDataMalformed, string(trBlock)) } trBlock = trBlock[len(tdBlock):] const startToken, endToken = "", "" tdBlockData := string(tdBlock[len(startToken) : len(tdBlock)-len(endToken)]) const countryIndex, cityIndex, hostnameIndex = 0, 1, 2 switch i { case countryIndex: server.country = tdBlockData case cityIndex: server.city = tdBlockData case hostnameIndex: server.hostname = tdBlockData } } servers = append(servers, server) } return servers, nil } func getNextTRBlock(data []byte) (trBlock []byte) { const startToken, endToken = "", "" return getNextBlock(data, startToken, endToken) } func getNextTDBlock(data []byte) (tdBlock []byte) { const startToken, endToken = "", "" return getNextBlock(data, startToken, endToken) } func getNextBlock(data []byte, startToken, endToken string) (nextBlock []byte) { i := bytes.Index(data, []byte(startToken)) if i == -1 { return nil } nextBlock = data[i:] i = bytes.Index(nextBlock[len(startToken):], []byte(endToken)) if i == -1 { return nil } nextBlock = nextBlock[:i+len(startToken)+len(endToken)] return nextBlock } ================================================ FILE: internal/provider/fastestvpn/updater/api_test.go ================================================ package updater import ( "context" "errors" "io" "net/http" "strings" "testing" "github.com/qdm12/gluetun/internal/provider/common" "github.com/stretchr/testify/assert" ) type roundTripFunc func(r *http.Request) (*http.Response, error) func (f roundTripFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) } func Test_fechAPIServers(t *testing.T) { t.Parallel() errTest := errors.New("test error") testCases := map[string]struct { ctx context.Context protocol string requestBody string responseStatus int responseBody io.ReadCloser transportErr error servers []apiServer errWrapped error errMessage string }{ "transport_error": { ctx: context.Background(), protocol: "tcp", requestBody: "action=vpn_servers&protocol=tcp", responseStatus: http.StatusOK, transportErr: errTest, errWrapped: errTest, errMessage: `sending request: Post ` + `"https://support.fastestvpn.com/wp-admin/admin-ajax.php": ` + `test error`, }, "not_found_status_code": { ctx: context.Background(), protocol: "tcp", requestBody: "action=vpn_servers&protocol=tcp", responseStatus: http.StatusNotFound, errWrapped: common.ErrHTTPStatusCodeNotOK, errMessage: "HTTP status code not OK: 404", }, "empty_data": { ctx: context.Background(), protocol: "tcp", requestBody: "action=vpn_servers&protocol=tcp", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader("")), servers: []apiServer{}, }, "single_server": { ctx: context.Background(), protocol: "tcp", requestBody: "action=vpn_servers&protocol=tcp", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader( "irrelevantAustraliaSydney" + "au-stream.jumptoserver.comirrelevant")), servers: []apiServer{ {country: "Australia", city: "Sydney", hostname: "au-stream.jumptoserver.com"}, }, }, "two_servers": { ctx: context.Background(), protocol: "tcp", requestBody: "action=vpn_servers&protocol=tcp", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader( "AustraliaSydneyau-stream.jumptoserver.com" + "AustraliaSydneyau-01.jumptoserver.com")), servers: []apiServer{ {country: "Australia", city: "Sydney", hostname: "au-stream.jumptoserver.com"}, {country: "Australia", city: "Sydney", hostname: "au-01.jumptoserver.com"}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() client := &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, apiURL, r.URL.String()) requestBody, err := io.ReadAll(r.Body) assert.NoError(t, err) assert.Equal(t, testCase.requestBody, string(requestBody)) if testCase.transportErr != nil { return nil, testCase.transportErr } return &http.Response{ StatusCode: testCase.responseStatus, Body: testCase.responseBody, }, nil }), } entries, err := fetchAPIServers(testCase.ctx, client, testCase.protocol) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.servers, entries) }) } } func Test_getNextBlock(t *testing.T) { t.Parallel() testCases := map[string]struct { data string startToken string endToken string nextBlock []byte }{ "empty_data": { startToken: "", endToken: "", }, "start_token_not_found": { data: "test", startToken: "", endToken: "", }, "end_token_not_found": { data: "test", startToken: "", endToken: "", }, "block_found": { data: "xytesttest2zx", startToken: "", endToken: "", nextBlock: []byte("test"), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() nextBlock := getNextBlock([]byte(testCase.data), testCase.startToken, testCase.endToken) assert.Equal(t, testCase.nextBlock, nextBlock) }) } } ================================================ FILE: internal/provider/fastestvpn/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type hostToServerData map[string]serverData type serverData struct { openvpn bool wireguard bool country string city string openvpnUDP bool openvpnTCP bool ips []netip.Addr } func (hts hostToServerData) add(host, vpnType, country, city string, tcp, udp bool) { serverData, ok := hts[host] switch vpnType { case vpn.OpenVPN: serverData.openvpn = true serverData.openvpnTCP = serverData.openvpnTCP || tcp serverData.openvpnUDP = serverData.openvpnUDP || udp case vpn.Wireguard: serverData.wireguard = true default: panic("protocol not supported") } if !ok { serverData.country = country serverData.city = city } else if city != "" { // some servers are listed without the city although // they are also listed with the city described, so update // the city field. serverData.city = city } hts[host] = serverData } func (hts hostToServerData) toHostsSlice() (hosts []string) { hosts = make([]string, 0, len(hts)) for host := range hts { hosts = append(hosts, host) } return hosts } func (hts hostToServerData) adaptWithIPs(hostToIPs map[string][]netip.Addr) { for host, serverData := range hts { ips := hostToIPs[host] if len(ips) == 0 { delete(hts, host) continue } serverData.ips = ips hts[host] = serverData } } func (hts hostToServerData) toServersSlice() (servers []models.Server) { servers = make([]models.Server, 0, 2*len(hts)) //nolint:mnd for hostname, serverData := range hts { baseServer := models.Server{ Hostname: hostname, Country: serverData.country, City: serverData.city, IPs: serverData.ips, } if serverData.openvpn { openvpnServer := baseServer openvpnServer.VPN = vpn.OpenVPN openvpnServer.TCP = serverData.openvpnTCP openvpnServer.UDP = serverData.openvpnUDP servers = append(servers, openvpnServer) } if serverData.wireguard { wireguardServer := baseServer wireguardServer.VPN = vpn.Wireguard const wireguardPublicKey = "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=" wireguardServer.WgPubKey = wireguardPublicKey servers = append(servers, wireguardServer) } } return servers } ================================================ FILE: internal/provider/fastestvpn/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxNoNew = 1 maxFails = 4 maxDuration = 3 * time.Second ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/fastestvpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { protocols := []string{"ikev2", "tcp", "udp"} hts := make(hostToServerData) for _, protocol := range protocols { apiServers, err := fetchAPIServers(ctx, u.client, protocol) if err != nil { return nil, fmt.Errorf("fetching %s servers from API: %w", protocol, err) } for _, apiServer := range apiServers { // all hostnames from the protocols TCP, UDP and IKEV2 support Wireguard // per https://github.com/qdm12/gluetun-wiki/issues/76#issuecomment-2125420536 const wgTCP, wgUDP = false, false // ignored hts.add(apiServer.hostname, vpn.Wireguard, apiServer.country, apiServer.city, wgTCP, wgUDP) tcp := protocol == "tcp" udp := protocol == "udp" if !tcp && !udp { // not an OpenVPN protocol, for example ikev2 continue } hts.add(apiServer.hostname, vpn.OpenVPN, apiServer.country, apiServer.city, tcp, udp) } } hosts := hts.toHostsSlice() resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } if err != nil { return nil, err } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() if len(servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/fastestvpn/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client parallelResolver common.ParallelResolver warner common.Warner } func New(client *http.Client, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ client: client, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/giganews/connection.go ================================================ package giganews import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(0, 443, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/giganews/openvpnconf.go ================================================ package giganews import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, }, Auth: openvpn.SHA256, MssFix: 1320, Ping: 10, CAs: []string{"MIIGDjCCA/agAwIBAgIJAL2ON5xbane/MA0GCSqGSIb3DQEBDQUAMIGTMQswCQYDVQQGEwJDSDEQMA4GA1UECAwHTHVjZXJuZTEPMA0GA1UEBwwGTWVnZ2VuMRkwFwYDVQQKDBBHb2xkZW4gRnJvZyBHbWJIMSEwHwYDVQQDDBhHb2xkZW4gRnJvZyBHbWJIIFJvb3QgQ0ExIzAhBgkqhkiG9w0BCQEWFGFkbWluQGdvbGRlbmZyb2cuY29tMB4XDTE5MTAxNzIwMTQxMFoXDTM5MTAxMjIwMTQxMFowgZMxCzAJBgNVBAYTAkNIMRAwDgYDVQQIDAdMdWNlcm5lMQ8wDQYDVQQHDAZNZWdnZW4xGTAXBgNVBAoMEEdvbGRlbiBGcm9nIEdtYkgxITAfBgNVBAMMGEdvbGRlbiBGcm9nIEdtYkggUm9vdCBDQTEjMCEGCSqGSIb3DQEJARYUYWRtaW5AZ29sZGVuZnJvZy5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCtuddaZrpWZ+nUuJpG+ohTquO3XZtq6d4U0E2oiPeIiwm+WWLY49G+GNJb5aVrlrBojaykCAc2sU6NeUlpg3zuqrDqLcz7PAE4OdNiOdrLBF1o9ZHrcITDZN304eAY5nbyHx5V6x/QoDVCi4g+5OVTA+tZjpcl4wRIpgknWznO73IKCJ6YckpLn1BsFrVCb2ehHYZLg7Js58FzMySIxBmtkuPeHQXL61DFHh3cTFcMxqJjzh7EGsWRyXfbAaBGYnT+TZwzpLXXt8oBGpNXG8YBDrPdK0A+lzMnJ4nS0rgHDSRF0brx+QYk/6CgM510uFzB7zytw9UTD3/5TvKlCUmTGGgI84DbJ3DEvjxbgiQnJXCUZKKYSHwrK79Y4Qn+lXu4Bu0ZTCJBje0GUVMTPAvBCeDvzSe0iRcVSNMJVM68d4kD1PpSY/zWfCz5hiOjHWuXinaoZ0JJqRF8kGbJsbDlDYDtVvh/Cd4aWN6Q/2XLpszBsG5i8sdkS37nzkdlRwNEIZwsKfcXwdTOlDinR1LUG68LmzJAwfNE47xbrZUsdGGfG+HSPsrqFFiLGe7Y4e2+a7vGdSY9qR9PAzyx0ijCCrYzZDIsb2dwjLctUx6a3LNV8cpfhKX+s6tfMldGufPI7byHT1Ybf0NtMS1d1RjD6IbqedXQdCKtaw68kTX//wIDAQABo2MwYTAdBgNVHQ4EFgQU2EbQvBd1r/EADr2jCPMXsH7zEXEwHwYDVR0jBBgwFoAU2EbQvBd1r/EADr2jCPMXsH7zEXEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAAViCPieIronV+9asjZyo5oSZSNWUkWRYdezjezsf49+fwT12iRgnkSEQeoj5caqcOfNm/eRpN4G7jhhCcxy9RGF+GurIlZ4v0mChZbx1jcxqr9/3/Z2TqvHALyWngBYDv6pv1iWcd9a4+QL9kj1Tlp8vUDIcHMtDQkEHnkhC+MnjyrdsdNE5wjlLljjFR2Qy5a6/kWwZ1JQVYof1J1EzY6mU7YLMHOdjfmeci5i0vg8+9kGMsc/7Wm69L1BeqpDB3ZEAgmOtda2jwOevJ4sABmRoSThFp4DeMcxb62HW1zZCCpgzWv/33+pZdPvnZHSz7RGoxH4Ln7eBf3oo2PMlu7wCsid3HUdgkRf2Og1RJIrFfEjb7jga1JbKX2Qo/FH3txzdUimKiDRv3ccFmEOqjndUG6hP+7/EsI43oCPYOvZR+u5GdOkhYrDGZlvjXeJ1CpQxTR/EX+Vt7F8YG+i2LkO7lhPLb+LzgPAxVPCcEMHruuUlE1BYxxzRMOW4X4kjHvJjZGISxa9lgTY3e0mnoQNQVBHKfzI2vGLwvcrFcCIrVxeEbj2dryfByyhZlrNPFbXyf7P4OSfk+fVh6Is1IF1wksfLY/6gWvcmXB8JwmKFDa9s5NfzXnzP3VMrNUWXN3G8Eee6qzKKTDsJ70OrgAx9j9a+dMLfe1vP5t6GQj5"}, //nolint:lll TLSCipher: "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA", //nolint:lll ExtraLines: []string{ "comp-lzo", }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/giganews/provider.go ================================================ package giganews import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/giganews/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Giganews } ================================================ FILE: internal/provider/giganews/updater/filename.go ================================================ package updater import ( "errors" "fmt" "strings" ) var errNotOvpnExt = errors.New("filename does not have the openvpn file extension") func parseFilename(fileName string) ( region string, err error, ) { const suffix = ".ovpn" if !strings.HasSuffix(fileName, suffix) { return "", fmt.Errorf("%w: %s", errNotOvpnExt, fileName) } region = strings.TrimSuffix(fileName, suffix) region = strings.ReplaceAll(region, " - ", " ") return region, nil } ================================================ FILE: internal/provider/giganews/updater/hosttoserver.go ================================================ 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, region string, tcp, udp bool) { server, ok := hts[host] if !ok { server.VPN = vpn.OpenVPN server.Hostname = host server.Region = region } if tcp { server.TCP = true } if udp { 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 } ================================================ FILE: internal/provider/giganews/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 5 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/giganews/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "strings" "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, ) { const url = "https://support.vyprvpn.com/hc/article_attachments/360052617332/Vypr_OpenVPN_20200320.zip" contents, err := u.unzipper.FetchAndExtract(ctx, url) 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) } 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 } host = strings.ReplaceAll(host, "vyprvpn.com", "vpn.giganews.com") tcp, udp, err := openvpn.ExtractProto(content) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error() + " in " + fileName) continue } region, err := parseFilename(fileName) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error()) continue } hts.add(host, region, tcp, udp) } 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) } 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) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/giganews/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/hidemyass/connection.go ================================================ package hidemyass import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(8080, 553, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/hidemyass/openvpnconf.go ================================================ package hidemyass import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, }, RemoteCertTLS: true, CAs: []string{"MIIGVjCCBD6gAwIBAgIJAOmTY3hf1Bb6MA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVSzEPMA0GA1UECAwGTG9uZG9uMQ8wDQYDVQQHDAZMb25kb24xEzARBgNVBAoMClByaXZheCBMdGQxFDASBgNVBAsMC0hNQSBQcm8gVlBOMRYwFAYDVQQDDA1oaWRlbXlhc3MuY29tMR4wHAYJKoZIhvcNAQkBFg9pbmZvQHByaXZheC5jb20wHhcNMTYwOTE0MDk0MTUyWhcNMjYwOTEyMDk0MTUyWjCBkjELMAkGA1UEBhMCVUsxDzANBgNVBAgMBkxvbmRvbjEPMA0GA1UEBwwGTG9uZG9uMRMwEQYDVQQKDApQcml2YXggTHRkMRQwEgYDVQQLDAtITUEgUHJvIFZQTjEWMBQGA1UEAwwNaGlkZW15YXNzLmNvbTEeMBwGCSqGSIb3DQEJARYPaW5mb0Bwcml2YXguY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxWS4+bOnwzGsEZ2vyqfTg7OEJkdqlA+DmQB3UmeDxX8K+87FTe/htIudr4hQ19q2gaHU4PjN1QsJtkH+VxU6V5p5eeWVVCGpHOhkcI4XK0yodRGn6rhAPJYXI7pJHAronfmqfZz/XM+neTGHQ9VF9zW6Q1001mjT0YklFfpx+CPFiGYsQjqZ+ia9RvaXz5Eu1cQ0EWy4do1l7obmvmTrlqN26z4unmh3HfEKRuwtNeHsSyhdzFW20eT2GhvXniHItqWBDi93U55R84y2GNrQubm207UB6kqbJXPXYnlZifvQCxa1hz3sr+vUbRi4wIpj/Da2MK7BLHAuUbClKqFs9OSAffWo/PuhkhFyF5JhOYXjOMI1PhiTjeSfBmNdC5dFOGT3rStvYxYlB8rwuuyp9DuvInQRuCC62/Lew9pITULaPUPTU7TeKuk4Hqqn2LtnFTU7CSMRAVgZMxTWuC7PT+9sy+jM3nSqo+QaiVtMxbaWXmZD9UlLEMmM9IkMdHV08DXQonjIi4RnqHWLYRY6pDjJ2E4jleXlS2laIBKlmKIuyxZ/B5IyV2dLKrNAs7j9EC7J82giBBCHbZiHQjZ2CqIi+afHKjniFHhuJSVUe7DY+S/B/ePac7Xha8a5K2LmJ+jpPjvBjJd+2Tp2Eyt8wVn/6iSqKePDny5AZhbY+YkCAwEAAaOBrDCBqTAdBgNVHQ4EFgQU4MZR0iTa8SoTWOJeoOmtynuk8/cwHwYDVR0jBBgwFoAU4MZR0iTa8SoTWOJeoOmtynuk8/cwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAaYwEQYJYIZIAYb4QgEBBAQDAgEWMBoGA1UdEQQTMBGBD2luZm9AcHJpdmF4LmNvbTAaBgNVHRIEEzARgQ9pbmZvQHByaXZheC5jb20wDQYJKoZIhvcNAQELBQADggIBAG+QvRLNs41wHXeM7wq6tqSZl6UFStGc6gIzzVUkysVHwvAqqxj/8UncqEwFTxV3KiD/+wLMHZFkLwQgSAHwaTmBKGrK4I6DoUtK+52RwfyU3XA0s5dj6rKbZKPNdD0jusOTYgbXOCUa6JI2gmpyjk7lq3D66dATs11uP7S2uwjuO3ER5Cztm12RcsrAxjndH2igTgZVu4QQwnNZ39Raq6v5IayKxF0tP1wPxz/JafhIjdNxq6ReP4jsI5y0rJBuXuw+gWC8ePTP4rxWp908kI7vwmmVq9/iisGZelN6G5uEB2d3EiJBB0A3t9LCFT9fKznlp/38To4x1lQhfNbln8zC4qav/8fBfKu5MkuVcdV4ZmHq0bT7sfzsgHs00JaYOCadBslNu1xVtgooy+ARiGfnzVL9bArLhlVn476JfU22H57M0IaUF5iUTJOWKMSYHNMBWL/m+rgD4In1nEb8DITBW7c1JtC8Iql0UPq1PlxhqMyvXfW94njqcF4wQi6PsnJI9X7oHDy+pevRrCR+3R5xWB8C9jr8J80TmsRJRv8chDUOHH4HYjhF7ldJRDmvY+DK6e4jgBOIaqS5i2/PybVYWjBb7VuKDFkLQSqA5g/jELd6hpULyUgzpAgr7q3iJghthPkS4oxw9NtNvnbQweKIF37HIHiuJRsTRO4jhlX4"}, //nolint:lll Cert: "MIIGMjCCBBqgAwIBAgICAQIwDQYJKoZIhvcNAQELBQAwgZIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjETMBEGA1UECgwKUHJpdmF4IEx0ZDEUMBIGA1UECwwLSE1BIFBybyBWUE4xFjAUBgNVBAMMDWhpZGVteWFzcy5jb20xHjAcBgkqhkiG9w0BCQEWD2luZm9AcHJpdmF4LmNvbTAeFw0xNjEwMTgxNDE4MThaFw0yNjEwMTUxNDE4MThaMIGNMQswCQYDVQQGEwJVSzEPMA0GA1UECAwGTG9uZG9uMQ8wDQYDVQQHDAZMb25kb24xEzARBgNVBAoMClByaXZheCBMdGQxFDASBgNVBAsMC0hNQSBQcm8gVlBOMREwDwYDVQQDDAhobWF1c2VyMjEeMBwGCSqGSIb3DQEJARYPaW5mb0Bwcml2YXguY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5XY3ERJYWs/YIeBoybivNlu+M32rJs+CAZsh7BnnetTxytI4ngsMRoqXETuis8udp2hsqEHsglLR9tlk9C8yCuKhxbkpdrXFWdISmUq5sa7/wqg/zJF1AZm5Jy0oHNyTHfG6XW61I/h9IN5dmcR9YLir8DVDBNllbtt0z+DnvOhYJOqC30ENahWkTmNKl1cT7EBrR5slddiBJleAb08z77pwsD310e6jWTBySsBcPy+xu/Jj2QgVil/3mstZZDI+noFzs3SkTFBkha/lNTP7NODBQ6m39iaJxz6ZR1xE3v7XU0H5WnpZIcQ2+kmu5Krk2y1GYMKL+9oaotXFPz9v+QIDAQABo4IBkzCCAY8wCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCB4AwCwYDVR0PBAQDAgeAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU2LKFPHjFUzLfsHIMWi0VukhBgTEwgccGA1UdIwSBvzCBvIAU4MZR0iTa8SoTWOJeoOmtynuk8/ehgZikgZUwgZIxCzAJBgNVBAYTAlVLMQ8wDQYDVQQIDAZMb25kb24xDzANBgNVBAcMBkxvbmRvbjETMBEGA1UECgwKUHJpdmF4IEx0ZDEUMBIGA1UECwwLSE1BIFBybyBWUE4xFjAUBgNVBAMMDWhpZGVteWFzcy5jb20xHjAcBgkqhkiG9w0BCQEWD2luZm9AcHJpdmF4LmNvbYIJAOmTY3hf1Bb6MBoGA1UdEQQTMBGBD2luZm9AcHJpdmF4LmNvbTAaBgNVHRIEEzARgQ9pbmZvQHByaXZheC5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggIBAKeGVnbL3yu2fh1T0ATbgyHx9rnFGRW1o/xfF5ssfRInlopsGDejrk9goyJErVxuzSzLp8AhxSOrVZJp6Tlpssj3B4FbGB0BIH+LcrID9pb+r2LqrTeYfMwYo6zRLNQ5NmMyxQCf6XrdxihUTiZBV31LKlWNkhOLMlHr2eXwAEXjqYMXjYwN+WE8I7SlUm5WCwj7PTiF7BpdDP5Ut4y5Dj8A2m1zXt36rr5hxvbgo2JAeFwVEG4ch67PI+uM0G2GilxnjuK2wKgjBKFMAUfLs7tigzSgx8PEfYCc+bgWpPyfG5hYM9n94zd2VTDN4sam12Bxvhw8zn20L6eT+Skfa8BN7eesrV5opABt/IImZ4Q1HShKKc5EiBN8CKGDydojkNrXuFfsyv7S9VHch0e5cS+Annhr4ARaH0O5fPOD5PBVajdbV6/Rf7NzB5b/raJcUK5BD6KWWRCsmaNYzaabJjUpCmigrOMmkdAxeKCY/oEFpU3+7VeKfNyxBTIiGFt5RjNqTQXmMVjiRN97VN7fqAaFTQB2OF7E3hrtqU9jXkeN8Tvu/FF0LNyt87orewecC0Ujz7Hto9fchPH0roP+DVzoAEP8axD9RV5pM/kgubu3hMD6lLsbx4GOD11GQplvuygURxAYsyjbgFydbk1ZIpeE2OeGXXrfuQWFbNtjLJTu", //nolint:lll RSAKey: "MIIEpAIBAAKCAQEA5XY3ERJYWs/YIeBoybivNlu+M32rJs+CAZsh7BnnetTxytI4ngsMRoqXETuis8udp2hsqEHsglLR9tlk9C8yCuKhxbkpdrXFWdISmUq5sa7/wqg/zJF1AZm5Jy0oHNyTHfG6XW61I/h9IN5dmcR9YLir8DVDBNllbtt0z+DnvOhYJOqC30ENahWkTmNKl1cT7EBrR5slddiBJleAb08z77pwsD310e6jWTBySsBcPy+xu/Jj2QgVil/3mstZZDI+noFzs3SkTFBkha/lNTP7NODBQ6m39iaJxz6ZR1xE3v7XU0H5WnpZIcQ2+kmu5Krk2y1GYMKL+9oaotXFPz9v+QIDAQABAoIBAQCcMcssOMOiFWc3MC3EWo4SP4MKQ9n0Uj5Z34LI151FdJyehlj54+VYQ1Cv71tCbjED2sZUBoP69mtsT/EzcsjqtfiOwgrifrs2+BOm+0HKHKiGlcbP9peiHkT10PxEITWXpYtJvGlbcfOjIxqt6B28cBjCK09ShrVQL9ylAKBearRRUacszppntMNTMtN/uG48ZR9Wm+xAczImdG6CrG5sLI/++JwM5PDChLvn5JgMGyOfQZdjNe1oSOVLmqFeG5uu/FS4oMon9+HtfjHJr4ZgA1yQ2wQh3GvEjlP8zwHxEpRJYbxpj6ZbjHZJ2HLX/Gcd9/cXiN8+fQ2zPIYQyG9dAoGBAPUUmt2nJNvl7gj0GbZZ3XR9o+hvj7bJ74W2NhMrw6kjrrzHTAUQd1sBQS8szAQCLqf2ou1aw9AMMBdsLAHydXxvbH7IBAla7rKr23iethtSfjhTNSgQLJHVZlNHfp3hzNtCQZ7j0qVjrteNotrdVF7kKPHDXAK00ICy6SPNjvrXAoGBAO+vdnO15jLeZbbi3lQNS4r8oCadyqyX7ouKE6MtKNhiPsNPGqHKiGcKs/+QylVgYvSmm7TgpsCAiEYeLSPT+Yq3y7HtwVpULlpfAhEJXmvn/6hGpOizx1WNGWhw7nHPWPDzf+jqCGzHdhK0aEZR3MZZQ+U+uKfGiJ8vrvgB7eGvAoGAWxxp5nU48rcsIw/8bxpBhgkfYk33M5EnBqKSv9XJS5wEXhIJZOiWNrLktNEGl4boKXE7aNoRacreJhcE1UR6AOS7hPZ+6atwiePyF4mJUeb9HZtxa493wk9/Vv6BR9il++1Jz/QKX4oLef8hyBP4Rb60qgxirG7kBLR+j9zfhskCgYEAzA5y5xIeuIIU0H4XUDG9dcebxSSjbwsuYIgeLdb9pjMGQhsvjjyyoh8/nT20tLkJpkXN3FFCRjNnUWLRhWYrVkkh1wqWiYOPrwqh5MU4KN/sDWSPcznTY+drkTpMFoKzsvdrl2zf3VR3FneXKv742bkXj601Ykko+XWMHcLutisCgYBSq8IrsjzfaTQiTGI9a7WWsvzK92bq7Abnfq7swAXWcJd/bnjTQKLrrvt2bmwNvlWKAb3c69BFMn0X4t4PuN0iJQ39D6aQAEaM7HwWAmjf5TbodbmgbGxdsUB4xcCIQQ1mvTkigXWrCg0YAD2GZSoaslXAAVv6nR5qWEIa0Hx9GA==", //nolint:lll MssFix: 1320, Ping: 5, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/hidemyass/provider.go ================================================ package hidemyass import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/hidemyass/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.HideMyAss } ================================================ FILE: internal/provider/hidemyass/updater/hosts.go ================================================ package updater func getUniqueHosts(tcpHostToURL, udpHostToURL map[string]string) ( hosts []string, ) { uniqueHosts := make(map[string]struct{}, len(tcpHostToURL)) for host := range tcpHostToURL { uniqueHosts[host] = struct{}{} } for host := range udpHostToURL { uniqueHosts[host] = struct{}{} } hosts = make([]string, 0, len(uniqueHosts)) for host := range uniqueHosts { hosts = append(hosts, host) } return hosts } ================================================ FILE: internal/provider/hidemyass/updater/hosttourl.go ================================================ package updater import ( "context" "net/http" "strings" "github.com/qdm12/gluetun/internal/updater/openvpn" ) func getAllHostToURL(ctx context.Context, client *http.Client) ( tcpHostToURL, udpHostToURL map[string]string, err error, ) { tcpHostToURL, err = getHostToURL(ctx, client, "TCP") if err != nil { return nil, nil, err } udpHostToURL, err = getHostToURL(ctx, client, "UDP") if err != nil { return nil, nil, err } return tcpHostToURL, udpHostToURL, nil } func getHostToURL(ctx context.Context, client *http.Client, protocol string) ( hostToURL map[string]string, err error, ) { const baseURL = "https://vpn.hidemyass.com/vpn-config" indexURL := baseURL + "/" + strings.ToUpper(protocol) + "/" urls, err := fetchIndex(ctx, client, indexURL) if err != nil { return nil, err } const failEarly = true hostToURL, errors := openvpn.FetchMultiFiles(ctx, client, urls, failEarly) if len(errors) > 0 { return nil, errors[0] } return hostToURL, nil } ================================================ FILE: internal/provider/hidemyass/updater/index.go ================================================ package updater import ( "context" "io" "net/http" "regexp" "strings" ) var indexOpenvpnLinksRegex = regexp.MustCompile(`.+\.ovpn`) func fetchIndex(ctx context.Context, client *http.Client, indexURL string) ( openvpnURLs []string, err error, ) { request, err := http.NewRequestWithContext(ctx, http.MethodGet, indexURL, nil) if err != nil { return nil, err } response, err := client.Do(request) if err != nil { return nil, err } defer response.Body.Close() htmlCode, err := io.ReadAll(response.Body) if err != nil { return nil, err } if !strings.HasSuffix(indexURL, "/") { indexURL += "/" } lines := strings.Split(string(htmlCode), "\n") for _, line := range lines { found := indexOpenvpnLinksRegex.FindString(line) if len(found) == 0 { continue } const prefix = `.ovpn">` const suffix = `` startIndex := strings.Index(found, prefix) + len(prefix) endIndex := strings.Index(found, suffix) filename := found[startIndex:endIndex] openvpnURL := indexURL + filename if !strings.HasSuffix(openvpnURL, ".ovpn") { continue } openvpnURLs = append(openvpnURLs, openvpnURL) } return openvpnURLs, nil } ================================================ FILE: internal/provider/hidemyass/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 15 * time.Second betweenDuration = 2 * time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/hidemyass/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { tcpHostToURL, udpHostToURL, err := getAllHostToURL(ctx, u.client) if err != nil { return nil, err } hosts := getUniqueHosts(tcpHostToURL, udpHostToURL) if len(hosts) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(hosts), minServers) } resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } 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) } servers = make([]models.Server, 0, len(hostToIPs)) for host, IPs := range hostToIPs { tcpURL, tcp := tcpHostToURL[host] udpURL, udp := udpHostToURL[host] // These two are only used to extract the country, region and city. var url, protocol string if tcp { url = tcpURL protocol = "TCP" } else if udp { url = udpURL protocol = "UDP" } country, region, city := parseOpenvpnURL(url, protocol) server := models.Server{ VPN: vpn.OpenVPN, Country: country, Region: region, City: city, Hostname: host, IPs: IPs, TCP: tcp, UDP: udp, } servers = append(servers, server) } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/hidemyass/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client parallelResolver common.ParallelResolver warner common.Warner } func New(client *http.Client, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ client: client, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/hidemyass/updater/url.go ================================================ package updater import ( "strings" "unicode" ) func parseOpenvpnURL(url, protocol string) (country, region, city string) { lastSlashIndex := strings.LastIndex(url, "/") url = url[lastSlashIndex+1:] suffix := "." + strings.ToUpper(protocol) + ".ovpn" url = strings.TrimSuffix(url, suffix) parts := strings.Split(url, ".") switch len(parts) { case 1: country = parts[0] return country, "", "" case 2: //nolint:mnd country = parts[0] city = parts[1] default: country = parts[0] region = parts[1] city = parts[2] } country = camelCaseToWords(country) region = camelCaseToWords(region) city = camelCaseToWords(city) country = mutateSpecialCountryCases(country) return country, region, city } func camelCaseToWords(camelCase string) (words string) { wasLowerCase := false for _, r := range camelCase { if wasLowerCase && unicode.IsUpper(r) { words += " " } wasLowerCase = unicode.IsLower(r) words += string(r) } return words } func mutateSpecialCountryCases(country string) string { switch country { case "Coted`Ivoire": return "Cote d'Ivoire" default: return country } } ================================================ FILE: internal/provider/ipvanish/connection.go ================================================ package ipvanish import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(0, 443, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/ipvanish/openvpnconf.go ================================================ package ipvanish import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, openvpn.AES256cbc, }, Auth: openvpn.SHA256, VerifyX509Type: "name", TLSCipher: "TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA", CAs: []string{"MIIErzCCA5egAwIBAgIJAMYKzSS8uPKDMA0GCSqGSIb3DQEBDQUAMIGVMQswCQYDVQQGEwJVUzELMAkGA1UECBMCRkwxFDASBgNVBAcTC1dpbnRlciBQYXJrMREwDwYDVQQKEwhJUFZhbmlzaDEVMBMGA1UECxMMSVBWYW5pc2ggVlBOMRQwEgYDVQQDEwtJUFZhbmlzaCBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBpcHZhbmlzaC5jb20wIBcNMjIwNTA5MjAyMDQ1WhgPMjA4MjA0MjQyMDIwNDVaMIGVMQswCQYDVQQGEwJVUzELMAkGA1UECBMCRkwxFDASBgNVBAcTC1dpbnRlciBQYXJrMREwDwYDVQQKEwhJUFZhbmlzaDEVMBMGA1UECxMMSVBWYW5pc2ggVlBOMRQwEgYDVQQDEwtJUFZhbmlzaCBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBpcHZhbmlzaC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC30MFY2v8go65jdOYM/nHu9hlHQMbEttdTxPIDMFuNS0UUxuHGUeJdVCtkeaDOKH3jHsGBczu1amYwphVv6A1qox1YTrzRCbec7CaHL926VcOQQcDAPTmL+JPHhlpR21Xa+woHFGDW90LgASLAPtupXgc6LXfFwb3vVpDnkyPUp4J0DRo2+lq3UtbHaONbGx8jyzYu/kWSiLUc7X69OedoSwlmsGACQteki2o/b0uKTf84Ei+QEjGUquGJU+LETmo2IP55I+KuyZE6+zIiiegm25jgPDkrqlw2UrJiLCjUg4VhTdjF9/AUmT5tJbhZUGGx1/l0bGr+44ea7PmB3DELAgMBAAGjgf0wgfowDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUS/0UJYkd58Fwg9f2nxEcJU4Z7q4wgcoGA1UdIwSBwjCBv4AUS/0UJYkd58Fwg9f2nxEcJU4Z7q6hgZukgZgwgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJGTDEUMBIGA1UEBxMLV2ludGVyIFBhcmsxETAPBgNVBAoTCElQVmFuaXNoMRUwEwYDVQQLEwxJUFZhbmlzaCBWUE4xFDASBgNVBAMTC0lQVmFuaXNoIENBMSMwIQYJKoZIhvcNAQkBFhRzdXBwb3J0QGlwdmFuaXNoLmNvbYIJAMYKzSS8uPKDMA0GCSqGSIb3DQEBDQUAA4IBAQCc9JV7IR8BfBrF/BQTXg0SZMZyyMAxR2jfW9qMHKSeJuZVVjfHiqoynEgBCNbn71wZWv3OF/Thu9BJ4GiYJ2Bc9nIa90D1NGYgiOVYLGXfUUqy5FgfrsWh0Go5oYm9l7W9pWfIifwsaZynkY0rTIHn32FF0H3+wZrGrEUzVL6qi+KD8iR3cBbLT+xUzulMTBp4JYaQnxpV4fZNS0ZsNrWKFWz4Iz1SSBcsnvUhfWs1aKx4yOJQx33Pc+KwpUI+meTlMjoh+AoTriooKU2MbOqLQl32y3pR0MP3fX4HDVFRylxdckEc+VryGNHQLUJiIBKBCORih/YiRhtEhpoBxmkw"}, //nolint:lll MssFix: 1320, ExtraLines: []string{ "comp-lzo", // Explicitly disable compression }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/ipvanish/provider.go ================================================ package ipvanish import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/ipvanish/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Ipvanish } ================================================ FILE: internal/provider/ipvanish/updater/filename.go ================================================ package updater import ( "errors" "fmt" "strings" "github.com/qdm12/gluetun/internal/constants" "golang.org/x/text/cases" ) var errCountryCodeUnknown = errors.New("country code is unknown") func parseFilename(fileName, hostname string, titleCaser cases.Caser) ( country, city string, err error, ) { const prefix = "ipvanish-" s := strings.TrimPrefix(fileName, prefix) const ext = ".ovpn" host := strings.Split(hostname, ".")[0] suffix := "-" + host + ext s = strings.TrimSuffix(s, suffix) parts := strings.Split(s, "-") countryCodes := constants.CountryCodes() countryCode := strings.ToLower(parts[0]) country, ok := countryCodes[countryCode] if !ok { return "", "", fmt.Errorf("%w: %s", errCountryCodeUnknown, countryCode) } country = titleCaser.String(country) if len(parts) > 1 { city = strings.Join(parts[1:], " ") city = titleCaser.String(city) } return country, city, nil } ================================================ FILE: internal/provider/ipvanish/updater/filename_test.go ================================================ package updater import ( "errors" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.org/x/text/cases" "golang.org/x/text/language" ) func Test_parseFilename(t *testing.T) { t.Parallel() testCases := map[string]struct { fileName string hostname string country string city string err error }{ "unknown country code": { fileName: "ipvanish-unknown-host.ovpn", hostname: "host.ipvanish.com", err: errors.New("country code is unknown: unknown"), }, "country code only": { fileName: "ipvanish-ca-host.ovpn", hostname: "host.ipvanish.com", country: "Canada", }, "country code and city": { fileName: "ipvanish-ca-sao-paulo-host.ovpn", hostname: "host.ipvanish.com", country: "Canada", city: "Sao Paulo", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() titleCaser := cases.Title(language.English) country, city, err := parseFilename(testCase.fileName, testCase.hostname, titleCaser) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.country, country) assert.Equal(t, testCase.city, city) }) } } ================================================ FILE: internal/provider/ipvanish/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type hostToServer map[string]models.Server func (hts hostToServer) add(host, country, city string, tcp, udp bool) { server, ok := hts[host] if !ok { server.VPN = vpn.OpenVPN server.Hostname = host server.Country = country server.City = city } if tcp { server.TCP = tcp } if udp { server.UDP = udp } hts[host] = server } func (hts hostToServer) toHostsSlice() (hosts []string) { hosts = make([]string, 0, len(hts)) for host := range hts { hosts = append(hosts, host) } sort.Slice(hosts, func(i, j int) bool { return hosts[i] < hosts[j] }) 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 } ================================================ FILE: internal/provider/ipvanish/updater/hosttoserver_test.go ================================================ package updater import ( "net/netip" "testing" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" ) func Test_hostToServer_add(t *testing.T) { t.Parallel() testCases := map[string]struct { initialHTS hostToServer host string country string city string tcp bool udp bool expectedHTS hostToServer }{ "empty host to server": { initialHTS: hostToServer{}, host: "host", country: "country", city: "city", tcp: true, udp: true, expectedHTS: hostToServer{ "host": { VPN: vpn.OpenVPN, Hostname: "host", Country: "country", City: "city", TCP: true, UDP: true, }, }, }, "add server": { initialHTS: hostToServer{ "existing host": {}, }, host: "host", country: "country", city: "city", tcp: true, udp: true, expectedHTS: hostToServer{ "existing host": {}, "host": models.Server{ VPN: vpn.OpenVPN, Hostname: "host", Country: "country", City: "city", TCP: true, UDP: true, }, }, }, "extend existing server": { initialHTS: hostToServer{ "host": models.Server{ VPN: vpn.OpenVPN, Hostname: "host", Country: "country", City: "city", TCP: true, }, }, host: "host", country: "country", city: "city", tcp: false, udp: true, expectedHTS: hostToServer{ "host": models.Server{ VPN: vpn.OpenVPN, Hostname: "host", Country: "country", City: "city", TCP: true, UDP: true, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() testCase.initialHTS.add(testCase.host, testCase.country, testCase.city, testCase.tcp, testCase.udp) assert.Equal(t, testCase.expectedHTS, testCase.initialHTS) }) } } func Test_hostToServer_toHostsSlice(t *testing.T) { t.Parallel() testCases := map[string]struct { hts hostToServer hosts []string }{ "empty host to server": { hts: hostToServer{}, hosts: []string{}, }, "single host": { hts: hostToServer{ "A": {}, }, hosts: []string{"A"}, }, "multiple hosts": { hts: hostToServer{ "A": {}, "B": {}, }, hosts: []string{"A", "B"}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() hosts := testCase.hts.toHostsSlice() assert.ElementsMatch(t, testCase.hosts, hosts) }) } } func Test_hostToServer_adaptWithIPs(t *testing.T) { t.Parallel() testCases := map[string]struct { initialHTS hostToServer hostToIPs map[string][]netip.Addr expectedHTS hostToServer }{ "create server": { initialHTS: hostToServer{}, hostToIPs: map[string][]netip.Addr{ "A": {netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, expectedHTS: hostToServer{ "A": models.Server{ IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, }, }, "add IPs to existing server": { initialHTS: hostToServer{ "A": models.Server{ Country: "country", }, }, hostToIPs: map[string][]netip.Addr{ "A": {netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, expectedHTS: hostToServer{ "A": models.Server{ Country: "country", IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, }, }, }, "remove server without IP": { initialHTS: hostToServer{ "A": models.Server{ Country: "country", }, }, hostToIPs: map[string][]netip.Addr{}, expectedHTS: hostToServer{}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() testCase.initialHTS.adaptWithIPs(testCase.hostToIPs) assert.Equal(t, testCase.expectedHTS, testCase.initialHTS) }) } } func Test_hostToServer_toServersSlice(t *testing.T) { t.Parallel() testCases := map[string]struct { hts hostToServer servers []models.Server }{ "empty host to server": { hts: hostToServer{}, servers: []models.Server{}, }, "multiple servers": { hts: hostToServer{ "A": {Country: "A"}, "B": {Country: "B"}, }, servers: []models.Server{ {Country: "A"}, {Country: "B"}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() servers := testCase.hts.toServersSlice() assert.ElementsMatch(t, testCase.servers, servers) }) } } ================================================ FILE: internal/provider/ipvanish/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/ipvanish/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "strings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/updater/openvpn" "golang.org/x/text/cases" "golang.org/x/text/language" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { const url = "https://configs.ipvanish.com/openvpn/v2.6.0-0/configs.zip" contents, err := u.unzipper.FetchAndExtract(ctx, url) 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) } hts := make(hostToServer) titleCaser := cases.Title(language.English) for fileName, content := range contents { if !strings.HasSuffix(fileName, ".ovpn") { continue // not an OpenVPN file } tcp, udp, err := openvpn.ExtractProto(content) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error() + " in " + fileName) continue } hostname, 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 } country, city, err := parseFilename(fileName, hostname, titleCaser) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error() + " in " + fileName) continue } hts.add(hostname, country, city, tcp, udp) } 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) } 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) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/ipvanish/updater/servers_test.go ================================================ package updater import ( "context" "errors" "net/netip" "testing" "time" "github.com/golang/mock/gomock" "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/resolver" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_Updater_GetServers(t *testing.T) { t.Parallel() testCases := map[string]struct { // Inputs minServers int // Mocks warnerBuilder func(ctrl *gomock.Controller) common.Warner // Unzip unzipContents map[string][]byte unzipErr error // Resolution expectResolve bool resolverSettings resolver.ParallelSettings hostToIPs map[string][]netip.Addr resolveWarnings []string resolveErr error // Output servers []models.Server err error }{ "unzipper error": { warnerBuilder: func(_ *gomock.Controller) common.Warner { return nil }, unzipErr: errors.New("dummy"), err: errors.New("dummy"), }, "not enough unzip contents": { minServers: 1, warnerBuilder: func(_ *gomock.Controller) common.Warner { return nil }, unzipContents: map[string][]byte{}, err: errors.New("not enough servers found: 0 and expected at least 1"), }, "no openvpn file": { minServers: 1, warnerBuilder: func(_ *gomock.Controller) common.Warner { return nil }, unzipContents: map[string][]byte{"somefile.txt": {}}, err: errors.New("not enough servers found: 0 and expected at least 1"), }, "invalid proto": { minServers: 1, warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("unknown protocol: invalid in badproto.ovpn") return warner }, unzipContents: map[string][]byte{"badproto.ovpn": []byte(`proto invalid`)}, err: errors.New("not enough servers found: 0 and expected at least 1"), }, "no host": { minServers: 1, warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("remote host not found in nohost.ovpn") return warner }, unzipContents: map[string][]byte{"nohost.ovpn": []byte(``)}, err: errors.New("not enough servers found: 0 and expected at least 1"), }, "multiple hosts": { minServers: 1, warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("only using the first host \"hosta\" and discarding 1 other hosts") return warner }, unzipContents: map[string][]byte{ "ipvanish-CA-City-A-hosta.ovpn": []byte("remote hosta\nremote hostb"), }, expectResolve: true, resolverSettings: resolver.ParallelSettings{ Hosts: []string{"hosta"}, MaxFailRatio: 0.1, Repeat: resolver.RepeatSettings{ MaxDuration: 20 * time.Second, BetweenDuration: time.Second, MaxNoNew: 2, MaxFails: 2, SortIPs: true, }, }, err: errors.New("not enough servers found: 0 and expected at least 1"), }, "resolve error": { warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("resolve warning") return warner }, unzipContents: map[string][]byte{ "ipvanish-CA-City-A-hosta.ovpn": []byte("remote hosta"), }, expectResolve: true, resolverSettings: resolver.ParallelSettings{ Hosts: []string{"hosta"}, MaxFailRatio: 0.1, Repeat: resolver.RepeatSettings{ MaxDuration: 20 * time.Second, BetweenDuration: time.Second, MaxNoNew: 2, MaxFails: 2, SortIPs: true, }, }, resolveWarnings: []string{"resolve warning"}, resolveErr: errors.New("dummy"), err: errors.New("dummy"), }, "filename parsing error": { minServers: 1, warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("country code is unknown: unknown in ipvanish-unknown-City-A-hosta.ovpn") return warner }, unzipContents: map[string][]byte{ "ipvanish-unknown-City-A-hosta.ovpn": []byte("remote hosta"), }, err: errors.New("not enough servers found: 0 and expected at least 1"), }, "success": { minServers: 1, warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("resolve warning") return warner }, unzipContents: map[string][]byte{ "ipvanish-CA-City-A-hosta.ovpn": []byte("remote hosta"), "ipvanish-LU-City-B-hostb.ovpn": []byte("remote hostb"), }, expectResolve: true, resolverSettings: resolver.ParallelSettings{ Hosts: []string{"hosta", "hostb"}, MaxFailRatio: 0.1, Repeat: resolver.RepeatSettings{ MaxDuration: 20 * time.Second, BetweenDuration: time.Second, MaxNoNew: 2, MaxFails: 2, SortIPs: true, }, }, hostToIPs: map[string][]netip.Addr{ "hosta": {netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{2, 2, 2, 2})}, "hostb": {netip.AddrFrom4([4]byte{3, 3, 3, 3}), netip.AddrFrom4([4]byte{4, 4, 4, 4})}, }, resolveWarnings: []string{"resolve warning"}, servers: []models.Server{ { VPN: vpn.OpenVPN, Country: "Canada", City: "City A", Hostname: "hosta", UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{2, 2, 2, 2})}, }, { VPN: vpn.OpenVPN, Country: "Luxembourg", City: "City B", Hostname: "hostb", UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{3, 3, 3, 3}), netip.AddrFrom4([4]byte{4, 4, 4, 4})}, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) ctx := context.Background() unzipper := common.NewMockUnzipper(ctrl) const zipURL = "https://configs.ipvanish.com/openvpn/v2.6.0-0/configs.zip" unzipper.EXPECT().FetchAndExtract(ctx, zipURL). Return(testCase.unzipContents, testCase.unzipErr) parallelResolver := common.NewMockParallelResolver(ctrl) if testCase.expectResolve { parallelResolver.EXPECT().Resolve(ctx, testCase.resolverSettings). Return(testCase.hostToIPs, testCase.resolveWarnings, testCase.resolveErr) } updater := &Updater{ unzipper: unzipper, warner: testCase.warnerBuilder(ctrl), parallelResolver: parallelResolver, } servers, err := updater.FetchServers(ctx, testCase.minServers) assert.Equal(t, testCase.servers, servers) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/provider/ipvanish/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper warner common.Warner parallelResolver common.ParallelResolver } func New(unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ unzipper: unzipper, warner: warner, parallelResolver: parallelResolver, } } ================================================ FILE: internal/provider/ivpn/connection.go ================================================ package ivpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 1194, 58237) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/ivpn/connection_test.go ================================================ package ivpn import ( "errors" "math/rand" "net/http" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/stretchr/testify/assert" ) func Test_Provider_GetConnection(t *testing.T) { t.Parallel() const provider = providers.Ivpn errTest := errors.New("test error") testCases := map[string]struct { filteredServers []models.Server storageErr error selection settings.ServerSelection ipv6Supported bool connection models.Connection errWrapped error errMessage string }{ "error": { storageErr: errTest, errWrapped: errTest, errMessage: "filtering servers: test error", }, "default OpenVPN TCP port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}}, }, selection: settings.ServerSelection{ OpenVPN: settings.OpenVPNSelection{ Protocol: constants.TCP, }, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 443, Protocol: constants.TCP, }, }, "default OpenVPN UDP port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}}, }, selection: settings.ServerSelection{ OpenVPN: settings.OpenVPNSelection{ Protocol: constants.UDP, }, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 1194, Protocol: constants.UDP, }, }, "default Wireguard port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, WgPubKey: "x"}, }, selection: settings.ServerSelection{ VPN: vpn.Wireguard, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.Wireguard, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 58237, Protocol: constants.UDP, PubKey: "x", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) storage := common.NewMockStorage(ctrl) storage.EXPECT().FilterServers(provider, testCase.selection). Return(testCase.filteredServers, testCase.storageErr) randSource := rand.NewSource(0) client := (*http.Client)(nil) warner := (common.Warner)(nil) parallelResolver := (common.ParallelResolver)(nil) provider := New(storage, randSource, client, warner, parallelResolver) connection, err := provider.GetConnection(testCase.selection, testCase.ipv6Supported) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.connection, connection) }) } } ================================================ FILE: internal/provider/ivpn/openvpnconf.go ================================================ package ivpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, }, MssFix: 1320, Ping: 5, RemoteCertTLS: true, VerifyX509Type: "name-prefix", TLSCipher: "TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA", CAs: []string{"MIIGoDCCBIigAwIBAgIJAJjvUclXmxtnMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYDVQQGEwJDSDEPMA0GA1UECAwGWnVyaWNoMQ8wDQYDVQQHDAZadXJpY2gxETAPBgNVBAoMCElWUE4ubmV0MQ0wCwYDVQQLDARJVlBOMRgwFgYDVQQDDA9JVlBOIFJvb3QgQ0EgdjIxHzAdBgkqhkiG9w0BCQEWEHN1cHBvcnRAaXZwbi5uZXQwHhcNMjAwMjI2MTA1MjI5WhcNNDAwMjIxMTA1MjI5WjCBjDELMAkGA1UEBhMCQ0gxDzANBgNVBAgMBlp1cmljaDEPMA0GA1UEBwwGWnVyaWNoMREwDwYDVQQKDAhJVlBOLm5ldDENMAsGA1UECwwESVZQTjEYMBYGA1UEAwwPSVZQTiBSb290IENBIHYyMR8wHQYJKoZIhvcNAQkBFhBzdXBwb3J0QGl2cG4ubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxHVeaQN3nYCLnGoEg6cY44AExbQ3W6XGKYwC9vI+HJbb1o0tAv56ryvc6eS6BdG5q9M8fHaHEE/jw9rtznioiXPwIEmqMqFPA9k1oRIQTGX73m+zHGtRpt9P4tGYhkvbqnN0OGI0H+j9R6cwKi7KpWIoTVibtyI7uuwgzC2nvDzVkLi63uvnCKRXcGy3VWC06uWFbqI9+QDrHHgdJA1F0wRfg0Iac7TE75yXItBMvNLbdZpge9SmplYWFQ2rVPG+n75KepJ+KW7PYfTP4Mh3R8A7h3/WRm03o3spf2aYw71t44voZ6agvslvwqGyczDytsLUny0U2zR7/mfEAyVbL8jqcWr2Df0m3TA0WxwdWvA51/RflVk9G96LncUkoxuBT56QSMtdjbMSqRgLfz1iPsglQEaCzUSqHfQExvONhXtNgy+Pr2+wGrEuSlLMee7aUEMTFEX/vHPZanCrUVYf5Vs8vDOirZjQSHJfgZfwj3nL5VLtIq6ekDhSAdrqCTILP3V2HbgdZGWPVQxl4YmQPKo0IJpse5Kb6TF2o0i90KhORcKg7qZA40sEbYLEwqTM7VBs1FahTXsOPAoMa7xZWV1TnigF5pdVS1l51dy5S8L4ErHFEnAp242BDuTClSLVnWDdofW0EZ0OkK7V9zKyVl75dlBgxMIS0y5MsK7IWicCAwEAAaOCAQEwgf4wHQYDVR0OBBYEFHUDcMOMo35yg2A/v0uYfkDE11CXMIHBBgNVHSMEgbkwgbaAFHUDcMOMo35yg2A/v0uYfkDE11CXoYGSpIGPMIGMMQswCQYDVQQGEwJDSDEPMA0GA1UECAwGWnVyaWNoMQ8wDQYDVQQHDAZadXJpY2gxETAPBgNVBAoMCElWUE4ubmV0MQ0wCwYDVQQLDARJVlBOMRgwFgYDVQQDDA9JVlBOIFJvb3QgQ0EgdjIxHzAdBgkqhkiG9w0BCQEWEHN1cHBvcnRAaXZwbi5uZXSCCQCY71HJV5sbZzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAABAjRMJy+mXFLezAZ8iUgxOjNtSqkCv1aU78K1XkYUzbwNNrSIVGKfP9cqOEiComXY6nniws7QEV2IWilcdPKm0x57recrr9TExGGOTVGB/WdmsFfn0g/HgmxNvXypzG3qulBk4qQTymICdsl9vIPb1l9FSjKw1KgUVuCPaYq7xiXbZ/kZdZX49xeKtoDBrXKKhXVYoWus/S+k2IS8iCxvcp599y7LQJg5DOGlbaxFhsW4R+kfGOaegyhPvpaznguv02i7NLd99XqJhpv2jTUF5F3T23Z4KkL/wTo4zxz09DKOlELrE4ai++ilCt/mXWECXNOSNXzgszpe6WAs0h9R++sH+AzJyhBfIGgPUTxHHHvxBVLj3k6VCgF7mRP2Y+rTWa6d8AGI2+RaeyV9DVVH9UeSoU0Hv2JHiZL6dRERnyg8dyzKeTCke8poLIjXF+gyvI+22/xsL8jcNHi9Kji3Vpc3i0Mxzx3gu2N+PL71CwJilgqBgxj0firr3k8sFcWVSGos6RJ3IvFvThxYx0p255WrWM01fR9TktPYEfjDT9qpIJ8OrGlNOhWhYj+a45qibXDpaDdb/uBEmf2sSXNifjSeUyqu6cKfZvMqB7pS3l/AhuAOTT80E4sXLEoDxkFD4C78swZ8wyWRKwsWGIGABGAHwXEAoDiZ/jjFrEZT0="}, //nolint:lll TLSAuth: "ac470c93ff9f5602a8aab37dee84a52814d10f20490ad23c47d5d82120c1bf859e93d0696b455d4a1b8d55d40c2685c41ca1d0aef29a3efd27274c4ef09020a3978fe45784b335da6df2d12db97bbb838416515f2a96f04715fd28949c6fe296a925cfada3f8b8928ed7fc963c1563272f5cf46e5e1d9c845d7703ca881497b7e6564a9d1dea9358adffd435295479f47d5298fabf5359613ff5992cb57ff081a04dfb81a26513a6b44a9b5490ad265f8a02384832a59cc3e075ad545461060b7bcab49bac815163cb80983dd51d5b1fd76170ffd904d8291071e96efc3fb777856c717b148d08a510f5687b8a8285dcffe737b98916dd15ef6235dee4266d3b", //nolint:lll ExtraLines: []string{ "key-direction 1", }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/ivpn/provider.go ================================================ package ivpn import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/ivpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Ivpn } ================================================ FILE: internal/provider/ivpn/updater/api.go ================================================ package updater import ( "context" "encoding/json" "errors" "fmt" "net/http" ) var errHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") type apiData struct { Servers []apiServer `json:"servers"` } type apiServer struct { Hostnames apiHostnames `json:"hostnames"` IsActive bool `json:"is_active"` Country string `json:"country"` City string `json:"city"` ISP string `json:"isp"` WgPubKey string `json:"wg_public_key"` } type apiHostnames struct { OpenVPN string `json:"openvpn"` Wireguard string `json:"wireguard"` } func fetchAPI(ctx context.Context, client *http.Client) ( data apiData, err error, ) { const url = "https://api.ivpn.net/v4/servers/stats" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return data, err } response, err := client.Do(request) if err != nil { return data, err } if response.StatusCode != http.StatusOK { _ = response.Body.Close() return data, fmt.Errorf("%w: %d %s", errHTTPStatusCodeNotOK, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&data); err != nil { _ = response.Body.Close() return data, fmt.Errorf("decoding response body: %w", err) } if err := response.Body.Close(); err != nil { return data, fmt.Errorf("closing response body: %w", err) } return data, nil } ================================================ FILE: internal/provider/ivpn/updater/api_test.go ================================================ package updater import ( "context" "errors" "io" "net/http" "strings" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_fetchAPI(t *testing.T) { t.Parallel() testCases := map[string]struct { responseStatus int responseBody io.ReadCloser data apiData err error }{ "http response status not ok": { responseStatus: http.StatusNoContent, err: errors.New("HTTP status code not OK: 204 No Content"), }, "nil body": { responseStatus: http.StatusOK, err: errors.New("decoding response body: EOF"), }, "no server": { responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`{}`)), }, "success": { responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`{"servers":[ {"country":"Country1","city":"City A","isp":"xyz","is_active":true,"hostnames":{"openvpn":"hosta"}}, {"country":"Country2","city":"City B","isp":"abc","is_active":false,"hostnames":{"openvpn":"hostb"}} ]}`)), data: apiData{ Servers: []apiServer{ { Country: "Country1", City: "City A", IsActive: true, ISP: "xyz", Hostnames: apiHostnames{ OpenVPN: "hosta", }, }, { Country: "Country2", City: "City B", ISP: "abc", Hostnames: apiHostnames{ OpenVPN: "hostb", }, }, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctx := context.Background() client := &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, http.MethodGet, r.Method) assert.Equal(t, r.URL.String(), "https://api.ivpn.net/v4/servers/stats") return &http.Response{ StatusCode: testCase.responseStatus, Status: http.StatusText(testCase.responseStatus), Body: testCase.responseBody, }, nil }), } data, err := fetchAPI(ctx, client) assert.Equal(t, testCase.data, data) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/provider/ivpn/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/ivpn/updater/roundtrip_test.go ================================================ package updater import "net/http" type roundTripFunc func(r *http.Request) (*http.Response, error) func (f roundTripFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) } ================================================ FILE: internal/provider/ivpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "strings" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { data, err := fetchAPI(ctx, u.client) if err != nil { return nil, fmt.Errorf("fetching API: %w", err) } hosts := make(map[string]struct{}, len(data.Servers)) for _, serverData := range data.Servers { openVPNHost := serverData.Hostnames.OpenVPN if openVPNHost != "" { hosts[openVPNHost] = struct{}{} } wireguardHost := serverData.Hostnames.Wireguard if wireguardHost != "" { hosts[wireguardHost] = struct{}{} } } if len(hosts) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(hosts), minServers) } hostsSlice := make(sort.StringSlice, 0, len(hosts)) for host := range hosts { hostsSlice = append(hostsSlice, host) } hostsSlice.Sort() // for predictable unit tests resolveSettings := parallelResolverSettings(hostsSlice) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } 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) } servers = make([]models.Server, 0, len(hostToIPs)) for _, serverData := range data.Servers { city, region := parseCity(serverData.City) server := models.Server{ Country: serverData.Country, City: city, Region: region, ISP: serverData.ISP, } openVPNHostname := serverData.Hostnames.OpenVPN wireguardHostname := serverData.Hostnames.Wireguard if openVPNHostname == "" && wireguardHostname == "" { warning := fmt.Sprintf("server data %v has no OpenVPN nor Wireguard hostname", serverData) warnings = append(warnings, warning) continue } if openVPNHostname != "" { openVPNServer := server openVPNServer.Hostname = openVPNHostname openVPNServer.VPN = vpn.OpenVPN openVPNServer.UDP = true openVPNServer.TCP = true openVPNServer.IPs = hostToIPs[openVPNHostname] servers = append(servers, openVPNServer) } if wireguardHostname != "" { wireguardServer := server wireguardServer.Hostname = wireguardHostname wireguardServer.VPN = vpn.Wireguard wireguardServer.IPs = hostToIPs[wireguardHostname] wireguardServer.WgPubKey = serverData.WgPubKey servers = append(servers, wireguardServer) } } sort.Sort(models.SortableServers(servers)) return servers, nil } func parseCity(city string) (parsedCity, region string) { commaIndex := strings.Index(city, ", ") if commaIndex == -1 { return city, "" } return city[:commaIndex], city[commaIndex+2:] } ================================================ FILE: internal/provider/ivpn/updater/servers_test.go ================================================ package updater import ( "context" "errors" "io" "net/http" "net/netip" "strings" "testing" "time" "github.com/golang/mock/gomock" "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/resolver" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_Updater_GetServers(t *testing.T) { t.Parallel() testCases := map[string]struct { // Inputs minServers int // Mocks warnerBuilder func(ctrl *gomock.Controller) common.Warner // From API responseBody string responseStatus int // Resolution expectResolve bool resolveSettings resolver.ParallelSettings hostToIPs map[string][]netip.Addr resolveWarnings []string resolveErr error // Output servers []models.Server err error }{ "http response error": { warnerBuilder: func(_ *gomock.Controller) common.Warner { return nil }, responseStatus: http.StatusNoContent, err: errors.New("fetching API: HTTP status code not OK: 204 No Content"), }, "resolve error": { warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("resolve warning") return warner }, responseBody: `{"servers":[ {"hostnames":{"openvpn":"hosta"}} ]}`, responseStatus: http.StatusOK, expectResolve: true, resolveSettings: resolver.ParallelSettings{ Hosts: []string{"hosta"}, MaxFailRatio: 0.1, Repeat: resolver.RepeatSettings{ MaxDuration: 20 * time.Second, BetweenDuration: time.Second, MaxNoNew: 2, MaxFails: 2, SortIPs: true, }, }, resolveWarnings: []string{"resolve warning"}, resolveErr: errors.New("dummy"), err: errors.New("dummy"), }, "not enough servers": { minServers: 2, warnerBuilder: func(_ *gomock.Controller) common.Warner { return nil }, responseBody: `{"servers":[ {"hostnames":{"openvpn":"hosta"}} ]}`, responseStatus: http.StatusOK, err: errors.New("not enough servers found: 1 and expected at least 2"), }, "success": { minServers: 1, warnerBuilder: func(ctrl *gomock.Controller) common.Warner { warner := common.NewMockWarner(ctrl) warner.EXPECT().Warn("resolve warning") return warner }, responseBody: `{"servers":[ {"country":"Country1","city":"City A","hostnames":{"openvpn":"hosta"}}, {"country":"Country2","city":"City B","hostnames":{"openvpn":"hostb"},"wg_public_key":"xyz"}, {"country":"Country3","city":"City C","hostnames":{"wireguard":"hostc"},"wg_public_key":"xyz"} ]}`, responseStatus: http.StatusOK, expectResolve: true, resolveSettings: resolver.ParallelSettings{ Hosts: []string{"hosta", "hostb", "hostc"}, MaxFailRatio: 0.1, Repeat: resolver.RepeatSettings{ MaxDuration: 20 * time.Second, BetweenDuration: time.Second, MaxNoNew: 2, MaxFails: 2, SortIPs: true, }, }, hostToIPs: map[string][]netip.Addr{ "hosta": {netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{2, 2, 2, 2})}, "hostb": {netip.AddrFrom4([4]byte{3, 3, 3, 3}), netip.AddrFrom4([4]byte{4, 4, 4, 4})}, "hostc": {netip.AddrFrom4([4]byte{5, 5, 5, 5}), netip.AddrFrom4([4]byte{6, 6, 6, 6})}, }, resolveWarnings: []string{"resolve warning"}, servers: []models.Server{ { VPN: vpn.OpenVPN, Country: "Country1", City: "City A", Hostname: "hosta", TCP: true, UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{2, 2, 2, 2})}, }, { VPN: vpn.OpenVPN, Country: "Country2", City: "City B", Hostname: "hostb", TCP: true, UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{3, 3, 3, 3}), netip.AddrFrom4([4]byte{4, 4, 4, 4})}, }, { VPN: vpn.Wireguard, Country: "Country3", City: "City C", Hostname: "hostc", WgPubKey: "xyz", IPs: []netip.Addr{netip.AddrFrom4([4]byte{5, 5, 5, 5}), netip.AddrFrom4([4]byte{6, 6, 6, 6})}, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) ctx := context.Background() client := &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, http.MethodGet, r.Method) assert.Equal(t, r.URL.String(), "https://api.ivpn.net/v4/servers/stats") return &http.Response{ StatusCode: testCase.responseStatus, Status: http.StatusText(testCase.responseStatus), Body: io.NopCloser(strings.NewReader(testCase.responseBody)), }, nil }), } parallelResolver := common.NewMockParallelResolver(ctrl) if testCase.expectResolve { parallelResolver.EXPECT().Resolve(ctx, testCase.resolveSettings). Return(testCase.hostToIPs, testCase.resolveWarnings, testCase.resolveErr) } warner := testCase.warnerBuilder(ctrl) updater := &Updater{ client: client, parallelResolver: parallelResolver, warner: warner, } servers, err := updater.FetchServers(ctx, testCase.minServers) assert.Equal(t, testCase.servers, servers) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/provider/ivpn/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client parallelResolver common.ParallelResolver warner common.Warner } func New(client *http.Client, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ client: client, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/mullvad/connection.go ================================================ package mullvad import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(0, 0, 51820) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/mullvad/connection_test.go ================================================ package mullvad import ( "errors" "math/rand" "net/http" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/stretchr/testify/assert" ) func Test_Provider_GetConnection(t *testing.T) { t.Parallel() const provider = providers.Mullvad errTest := errors.New("test error") testCases := map[string]struct { filteredServers []models.Server storageErr error selection settings.ServerSelection ipv6Supported bool connection models.Connection errWrapped error errMessage string }{ "error": { storageErr: errTest, errWrapped: errTest, errMessage: "filtering servers: test error", }, "default Wireguard port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, WgPubKey: "x"}, }, selection: settings.ServerSelection{ VPN: vpn.Wireguard, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.Wireguard, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 51820, Protocol: constants.UDP, PubKey: "x", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) storage := common.NewMockStorage(ctrl) storage.EXPECT().FilterServers(provider, testCase.selection). Return(testCase.filteredServers, testCase.storageErr) randSource := rand.NewSource(0) client := (*http.Client)(nil) provider := New(storage, randSource, client) connection, err := provider.GetConnection(testCase.selection, testCase.ipv6Supported) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.connection, connection) }) } } ================================================ FILE: internal/provider/mullvad/openvpnconf.go ================================================ package mullvad import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) func (p *Provider) OpenVPNConfig(_ models.Connection, _ settings.OpenVPN, _ bool) (lines []string) { panic("OpenVPN is no longer supported by Mullvad as of January 15th, 2026: " + "https://mullvad.net/en/blog/removing-openvpn-15th-january-2026") } ================================================ FILE: internal/provider/mullvad/provider.go ================================================ package mullvad import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/mullvad/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client), } } func (p *Provider) Name() string { return providers.Mullvad } ================================================ FILE: internal/provider/mullvad/updater/api.go ================================================ package updater import ( "context" "encoding/json" "errors" "fmt" "net/http" ) var ( ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") ErrDecodeResponseBody = errors.New("failed decoding response body") ) type serverData struct { Hostname string `json:"hostname"` Country string `json:"country_name"` City string `json:"city_name"` Active bool `json:"active"` Owned bool `json:"owned"` Provider string `json:"provider"` IPv4 string `json:"ipv4_addr_in"` IPv6 string `json:"ipv6_addr_in"` Type string `json:"type"` PubKey string `json:"pubkey"` // Wireguard public key } func fetchAPI(ctx context.Context, client *http.Client) (data []serverData, err error) { const url = "https://api.mullvad.net/www/relays/all/" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, err } response, err := client.Do(request) if err != nil { return nil, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { return nil, fmt.Errorf("%w: %d %s", ErrHTTPStatusCodeNotOK, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&data); err != nil { return nil, fmt.Errorf("%w: %s", ErrDecodeResponseBody, err) } if err := response.Body.Close(); err != nil { return nil, err } return data, nil } ================================================ FILE: internal/provider/mullvad/updater/hosttoserver.go ================================================ package updater import ( "errors" "fmt" "net/netip" "strings" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type hostToServer map[string]models.Server var ( ErrNoIP = errors.New("no IP address for VPN server") ErrIPIsNotV4 = errors.New("IP address is not IPv4") ErrIPIsNotV6 = errors.New("IP address is not IPv6") ErrVPNTypeNotSupported = errors.New("VPN type not supported") ) func (hts hostToServer) add(data serverData) (err error) { if !data.Active { return nil } if data.IPv4 == "" && data.IPv6 == "" { return fmt.Errorf("%w", ErrNoIP) } server, ok := hts[data.Hostname] if ok { // API returns a server per hostname at most return nil } switch data.Type { case "wireguard": server.VPN = vpn.Wireguard case "bridge": // ignore bridge servers return nil default: return fmt.Errorf("%w: %s", ErrVPNTypeNotSupported, data.Type) } if data.IPv4 != "" { ipv4, err := netip.ParseAddr(data.IPv4) if err != nil { return fmt.Errorf("parsing IPv4 address: %w", err) } else if !ipv4.Is4() { return fmt.Errorf("%w: %s", ErrIPIsNotV4, data.IPv4) } server.IPs = append(server.IPs, ipv4) } if data.IPv6 != "" { ipv6, err := netip.ParseAddr(data.IPv6) if err != nil { return fmt.Errorf("parsing IPv6 address: %w", err) } else if !ipv6.Is6() { return fmt.Errorf("%w: %s", ErrIPIsNotV6, data.IPv6) } server.IPs = append(server.IPs, ipv6) } server.Country = data.Country server.City = strings.ReplaceAll(data.City, ",", "") server.Hostname = data.Hostname server.ISP = data.Provider server.Owned = data.Owned server.WgPubKey = data.PubKey hts[data.Hostname] = server return nil } func (hts hostToServer) toServersSlice() (servers []models.Server) { servers = make([]models.Server, 0, len(hts)) for _, server := range hts { server.IPs = uniqueSortedIPs(server.IPs) servers = append(servers, server) } return servers } ================================================ FILE: internal/provider/mullvad/updater/ips.go ================================================ package updater import ( "net/netip" "sort" ) func uniqueSortedIPs(ips []netip.Addr) []netip.Addr { uniqueIPs := make(map[string]struct{}, len(ips)) for _, ip := range ips { key := ip.String() uniqueIPs[key] = struct{}{} } ips = make([]netip.Addr, 0, len(uniqueIPs)) for key := range uniqueIPs { ip, err := netip.ParseAddr(key) if err != nil { panic(err) } if ip.Is4In6() { ip = netip.AddrFrom4(ip.As4()) } ips = append(ips, ip) } sort.Slice(ips, func(i, j int) bool { return ips[i].Compare(ips[j]) < 0 }) return ips } ================================================ FILE: internal/provider/mullvad/updater/ips_test.go ================================================ package updater import ( "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_uniqueSortedIPs(t *testing.T) { t.Parallel() testCases := map[string]struct { inputIPs []netip.Addr outputIPs []netip.Addr }{ "nil": { inputIPs: nil, outputIPs: []netip.Addr{}, }, "empty": { inputIPs: []netip.Addr{}, outputIPs: []netip.Addr{}, }, "single IPv4": { inputIPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, outputIPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, }, "two IPv4s": { inputIPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 2, 1}), netip.AddrFrom4([4]byte{1, 1, 1, 1})}, outputIPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{1, 1, 2, 1})}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() outputIPs := uniqueSortedIPs(testCase.inputIPs) assert.Equal(t, testCase.outputIPs, outputIPs) }) } } ================================================ FILE: internal/provider/mullvad/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { data, err := fetchAPI(ctx, u.client) if err != nil { return nil, err } hts := make(hostToServer) for _, serverData := range data { if err := hts.add(serverData); err != nil { return nil, err } } if len(hts) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(hts), minServers) } servers = hts.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/mullvad/updater/updater.go ================================================ package updater import ( "net/http" ) type Updater struct { client *http.Client } func New(client *http.Client) *Updater { return &Updater{ client: client, } } ================================================ FILE: internal/provider/nordvpn/connection.go ================================================ package nordvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 1194, 51820) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/nordvpn/openvpnconf.go ================================================ package nordvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, openvpn.AES256gcm, }, Auth: openvpn.SHA512, Ping: 15, RemoteCertTLS: true, MssFix: 1450, CAs: []string{"MIIFCjCCAvKgAwIBAgIBATANBgkqhkiG9w0BAQ0FADA5MQswCQYDVQQGEwJQQTEQMA4GA1UEChMHTm9yZFZQTjEYMBYGA1UEAxMPTm9yZFZQTiBSb290IENBMB4XDTE2MDEwMTAwMDAwMFoXDTM1MTIzMTIzNTk1OVowOTELMAkGA1UEBhMCUEExEDAOBgNVBAoTB05vcmRWUE4xGDAWBgNVBAMTD05vcmRWUE4gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMkr/BYhyo0F2upsIMXwC6QvkZps3NN2/eQFkfQIS1gql0aejsKsEnmY0Kaon8uZCTXPsRH1gQNgg5D2gixdd1mJUvV3dE3y9FJrXMoDkXdCGBodvKJyU6lcfEVF6/UxHcbBguZK9UtRHS9eJYm3rpL/5huQMCppX7kUeQ8dpCwd3iKITqwd1ZudDqsWaU0vqzC2H55IyaZ/5/TnCk31Q1UP6BksbbuRcwOVskEDsm6YoWDnn/IIzGOYnFJRzQH5jTz3j1QBvRIuQuBuvUkfhx1FEwhwZigrcxXuMP+QgM54kezgziJUaZcOM2zF3lvrwMvXDMfNeIoJABv9ljw969xQ8czQCU5lMVmA37ltv5Ec9U5hZuwk/9QO1Z+d/r6Jx0mlurS8gnCAKJgwa3kyZw6e4FZ8mYL4vpRRhPdvRTWCMJkeB4yBHyhxUmTRgJHm6YR3D6hcFAc9cQcTEl/I60tMdz33G6m0O42sQt/+AR3YCY/RusWVBJB/qNS94EtNtj8iaebCQW1jHAhvGmFILVR9lzD0EzWKHkvyWEjmUVRgCDd6Ne3eFRNS73gdv/C3l5boYySeu4exkEYVxVRn8DhCxs0MnkMHWFK6MyzXCCn+JnWFDYPfDKHvpff/kLDobtPBf+Lbch5wQy9quY27xaj0XwLyjOltpiSTLWae/Q4vAgMBAAGjHTAbMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBDQUAA4ICAQC9fUL2sZPxIN2mD32VeNySTgZlCEdVmlq471o/bDMP4B8gnQesFRtXY2ZCjs50Jm73B2LViL9qlREmI6vE5IC8IsRBJSV4ce1WYxyXro5rmVg/k6a10rlsbK/eg//GHoJxDdXDOokLUSnxt7gk3QKpX6eCdh67p0PuWm/7WUJQxH2SDxsT9vB/iZriTIEe/ILoOQF0Aqp7AgNCcLcLAmbxXQkXYCCSB35Vp06u+eTWjG0/pyS5V14stGtw+fA0DJp5ZJV4eqJ5LqxMlYvEZ/qKTEdoCeaXv2QEmN6dVqjDoTAok0t5u4YRXzEVCfXAC3ocplNdtCA72wjFJcSbfif4BSC8bDACTXtnPC7nD0VndZLp+RiNLeiENhk0oTC+UVdSc+n2nJOzkCK0vYu0Ads4JGIB7g8IB3z2t9ICmsWrgnhdNdcOe15BincrGA8avQ1cWXsfIKEjbrnEuEk9b5jel6NfHtPKoHc9mDpRdNPISeVawDBM1mJChneHt59Nh8Gah74+TM1jBsw4fhJPvoc7Atcg740JErb904mZfkIEmojCVPhBHVQ9LHBAdM8qFI2kRK0IynOmAZhexlP/aT/kpEsEPyaZQlnBn3An1CRz8h0SPApL8PytggYKeQmRhl499+6jLxcZ2IegLfqq41dzIjwHwTMplg+1pKIOVojpWA=="}, //nolint:lll TLSAuth: "e685bdaf659a25a200e2b9e39e51ff030fc72cf1ce07232bd8b2be5e6c670143f51e937e670eee09d4f2ea5a6e4e69965db852c275351b86fc4ca892d78ae002d6f70d029bd79c4d1c26cf14e9588033cf639f8a74809f29f72b9d58f9b8f5fefc7938eade40e9fed6cb92184abb2cc10eb1a296df243b251df0643d53724cdb5a92a1d6cb817804c4a9319b57d53be580815bcfcb2df55018cc83fc43bc7ff82d51f9b88364776ee9d12fc85cc7ea5b9741c4f598c485316db066d52db4540e212e1518a9bd4828219e24b20d88f598a196c9de96012090e333519ae18d35099427e7b372d348d352dc4c85e18cd4b93f8a56ddb2e64eb67adfc9b337157ff4", //nolint:lll TunMTUExtra: 32, RenegDisabled: true, KeyDirection: "1", UDPLines: []string{ "fast-io", }, ExtraLines: []string{ "comp-lzo no", // Explicitly disable compression }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/nordvpn/provider.go ================================================ package nordvpn import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/nordvpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner), } } func (p *Provider) Name() string { return providers.Nordvpn } ================================================ FILE: internal/provider/nordvpn/updater/api.go ================================================ package updater import ( "context" "encoding/json" "errors" "fmt" "net/http" ) var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") func fetchAPI(ctx context.Context, client *http.Client, limit uint, ) (data serversData, err error) { url := "https://api.nordvpn.com/v2/servers" url += fmt.Sprintf("?limit=%d", limit) // 0 means no limit request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return serversData{}, err } response, err := client.Do(request) if err != nil { return serversData{}, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { return serversData{}, fmt.Errorf("%w: %s", ErrHTTPStatusCodeNotOK, response.Status) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&data); err != nil { return serversData{}, fmt.Errorf("decoding response body: %w", err) } if err := response.Body.Close(); err != nil { return serversData{}, err } return data, nil } ================================================ FILE: internal/provider/nordvpn/updater/models.go ================================================ package updater import ( "encoding/base64" "errors" "fmt" "net/netip" "strings" ) // Check out the JSON data from https://api.nordvpn.com/v2/servers?limit=10 type serversData struct { Servers []serverData `json:"servers"` Groups []groupData `json:"groups"` Services []serviceData `json:"services"` Locations []locationData `json:"locations"` Technologies []technologyData `json:"technologies"` } type serverData struct { // Name is the server name, for example 'Poland #128' Name string `json:"name"` // Stations is, it seems, the entry IP address. // However it is ignored in favor of the 'ips' entry field. Station netip.Addr `json:"station"` // IPv6Station is mostly empty, so we ignore it for now. IPv6Station netip.Addr `json:"station_ipv6"` // Hostname is the server hostname, for example 'pl128.nordvpn.com' Hostname string `json:"hostname"` // Status is the server status, for example 'online' Status string `json:"status"` // Locations is the list of location IDs for the server. // Only the first location is taken into account for now. LocationIDs []uint32 `json:"location_ids"` Technologies []struct { ID uint32 `json:"id"` Status string `json:"status"` Metadata []struct { // Name can notably be 'public_key'. Name string `json:"name"` // Value can notably the Wireguard public key value. Value string `json:"value"` } `json:"metadata"` } `json:"technologies"` GroupIDs []uint32 `json:"group_ids"` ServiceIDs []uint32 `json:"service_ids"` // IPs is the list of IP addresses for the server. IPs []struct { // Type can notably be 'entry'. Type string `json:"type"` IP struct { IP netip.Addr `json:"ip"` } `json:"ip"` } `json:"ips"` } type groupData struct { ID uint32 `json:"id"` Title string `json:"title"` // "Europe", "Standard VPN servers", etc. Type struct { Identifier string `json:"identifier"` // 'regions', 'legacy_group_category', etc. } `json:"type"` } type serviceData struct { ID uint32 `json:"id"` Identifier string `json:"identifier"` // 'vpn', 'proxy', etc. } type locationData struct { ID uint32 `json:"id"` Country struct { Name string `json:"name"` // for example "Poland" City struct { Name string `json:"name"` // for example "Warsaw" } `json:"city"` } `json:"country"` } type technologyData struct { ID uint32 `json:"id"` // Identifier is the technology identifier name and relevant values are: // 'openvpn_udp', 'openvpn_tcp', 'openvpn_dedicated_udp', // 'openvpn_dedicated_tcp' and 'wireguard_udp' Identifier string `json:"identifier"` } func (s serversData) idToData() ( groups map[uint32]groupData, services map[uint32]serviceData, locations map[uint32]locationData, technologies map[uint32]technologyData, ) { groups = make(map[uint32]groupData, len(s.Groups)) for _, group := range s.Groups { if group.Type.Identifier == "regions" { //nolint:goconst group.Title = strings.ReplaceAll(group.Title, ",", "") } groups[group.ID] = group } services = make(map[uint32]serviceData, len(s.Services)) for _, service := range s.Services { services[service.ID] = service } locations = make(map[uint32]locationData, len(s.Locations)) for _, location := range s.Locations { locations[location.ID] = location } technologies = make(map[uint32]technologyData, len(s.Technologies)) for _, technology := range s.Technologies { technologies[technology.ID] = technology } return groups, services, locations, technologies } func (s *serverData) region(groups map[uint32]groupData) (region string) { for _, groupID := range s.GroupIDs { group, ok := groups[groupID] if !ok { continue } if group.Type.Identifier == "regions" { return group.Title } } return "" } func (s *serverData) hasVPNService(services map[uint32]serviceData) (ok bool) { for _, serviceID := range s.ServiceIDs { service, ok := services[serviceID] if !ok { continue } if service.Identifier == "vpn" { return true } } return false } // categories returns the list of categories for the server. func (s *serverData) categories(groups map[uint32]groupData) (categories []string) { categories = make([]string, 0, len(s.GroupIDs)) for _, groupID := range s.GroupIDs { data, ok := groups[groupID] if !ok || data.Type.Identifier == "regions" { continue } categories = append(categories, data.Title) } return categories } // ips returns the list of IP addresses for the server. func (s *serverData) ips() (ips []netip.Addr) { ips = make([]netip.Addr, 0, len(s.IPs)) for _, ipObject := range s.IPs { if ipObject.Type != "entry" { continue } ips = append(ips, ipObject.IP.IP) } return ips } var ( ErrWireguardPublicKeyMalformed = errors.New("wireguard public key is malformed") ErrWireguardPublicKeyNotFound = errors.New("wireguard public key not found") ) // wireguardPublicKey returns the Wireguard public key for the server. func (s *serverData) wireguardPublicKey(technologies map[uint32]technologyData) ( wgPubKey string, err error, ) { for _, technology := range s.Technologies { data, ok := technologies[technology.ID] if !ok || data.Identifier != "wireguard_udp" { continue } for _, metadata := range technology.Metadata { if metadata.Name != "public_key" { continue } wgPubKey = metadata.Value _, err = base64.StdEncoding.DecodeString(wgPubKey) if err != nil { return "", fmt.Errorf("%w: %s cannot be decoded: %s", ErrWireguardPublicKeyMalformed, wgPubKey, err) } return metadata.Value, nil } } return "", fmt.Errorf("%w", ErrWireguardPublicKeyNotFound) } ================================================ FILE: internal/provider/nordvpn/updater/name.go ================================================ package updater import ( "errors" "fmt" "strconv" "strings" ) var ( ErrNoIDInServerName = errors.New("no ID in server name") ErrInvalidIDInServerName = errors.New("invalid ID in server name") ) func parseServerName(serverName string) (number uint16, err error) { i := strings.IndexRune(serverName, '#') if i < 0 { return 0, fmt.Errorf("%w: %s", ErrNoIDInServerName, serverName) } idString := serverName[i+1:] idUint64, err := strconv.ParseUint(idString, 10, 16) if err != nil { return 0, fmt.Errorf("%w: %s", ErrInvalidIDInServerName, serverName) } number = uint16(idUint64) return number, nil } ================================================ FILE: internal/provider/nordvpn/updater/servers.go ================================================ package updater import ( "context" "errors" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) var ErrNotIPv4 = errors.New("IP address is not IPv4") func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { const limit = 0 data, err := fetchAPI(ctx, u.client, limit) if err != nil { return nil, err } servers = make([]models.Server, 0, len(data.Servers)) groups, services, locations, technologies := data.idToData() for _, jsonServer := range data.Servers { newServers, warnings := extractServers(jsonServer, groups, services, locations, technologies) for _, warning := range warnings { u.warner.Warn(warning) } servers = append(servers, newServers...) } if len(servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } sort.Sort(models.SortableServers(servers)) return servers, nil } func extractServers(jsonServer serverData, groups map[uint32]groupData, services map[uint32]serviceData, locations map[uint32]locationData, technologies map[uint32]technologyData) (servers []models.Server, warnings []string, ) { ignoreReason := "" switch { case jsonServer.Status != "online": ignoreReason = "status is " + jsonServer.Status case len(jsonServer.LocationIDs) == 0: ignoreReason = "no location" case len(jsonServer.IPs) == 0: ignoreReason = "no IP address" case !jsonServer.hasVPNService(services): ignoreReason = "no VPN service" } if ignoreReason != "" { warning := fmt.Sprintf("ignoring server %s: %s", jsonServer.Name, ignoreReason) return nil, []string{warning} } location, ok := locations[jsonServer.LocationIDs[0]] if !ok { warning := fmt.Sprintf("location with id %d not found in %v", jsonServer.LocationIDs[0], locations) return nil, []string{warning} } region := jsonServer.region(groups) if region == "" { warning := fmt.Sprintf("no region found for server %s", jsonServer.Name) return nil, []string{warning} } server := models.Server{ Country: location.Country.Name, Region: region, City: location.Country.City.Name, Categories: jsonServer.categories(groups), Hostname: jsonServer.Hostname, IPs: jsonServer.ips(), } number, err := parseServerName(jsonServer.Name) switch { case errors.Is(err, ErrNoIDInServerName): warning := fmt.Sprintf("%s - leaving server number as 0", err) warnings = append(warnings, warning) case err != nil: warning := fmt.Sprintf("failed parsing server name: %s", err) return nil, []string{warning} default: // no error server.Number = number } var wireguardFound, openvpnFound bool wireguardServer := server wireguardServer.VPN = vpn.Wireguard openVPNServer := server // accumulate UDP+TCP technologies openVPNServer.VPN = vpn.OpenVPN for _, technology := range jsonServer.Technologies { if technology.Status != "online" { continue } technologyData, ok := technologies[technology.ID] if !ok { warning := fmt.Sprintf("technology with id %d not found in %v", technology.ID, technologies) warnings = append(warnings, warning) continue } switch technologyData.Identifier { case "openvpn_udp", "openvpn_dedicated_udp": openvpnFound = true openVPNServer.UDP = true case "openvpn_tcp", "openvpn_dedicated_tcp": openvpnFound = true openVPNServer.TCP = true case "wireguard_udp": wireguardFound = true wireguardServer.WgPubKey, err = jsonServer.wireguardPublicKey(technologies) if err != nil { warning := fmt.Sprintf("ignoring Wireguard server %s: %s", jsonServer.Name, err) warnings = append(warnings, warning) wireguardFound = false continue } default: // Ignore other technologies continue } } const maxServers = 2 servers = make([]models.Server, 0, maxServers) if openvpnFound { servers = append(servers, openVPNServer) } if wireguardFound { servers = append(servers, wireguardServer) } return servers, warnings } ================================================ FILE: internal/provider/nordvpn/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client warner common.Warner } func New(client *http.Client, warner common.Warner) *Updater { return &Updater{ client: client, warner: warner, } } ================================================ FILE: internal/provider/perfectprivacy/connection.go ================================================ package perfectprivacy import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 443, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/perfectprivacy/openvpnconf.go ================================================ package perfectprivacy import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, openvpn.AES256gcm, }, Auth: openvpn.SHA512, MssFix: 1450, Ping: 5, CAs: []string{"MIIGgzCCBGugAwIBAgIJAPoRtcSqaa9pMA0GCSqGSIb3DQEBDQUAMIGHMQswCQYDVQQGEwJDSDEMMAoGA1UECBMDWnVnMQwwCgYDVQQHEwNadWcxGDAWBgNVBAoTD1BlcmZlY3QgUHJpdmFjeTEYMBYGA1UEAxMPUGVyZmVjdCBQcml2YWN5MSgwJgYJKoZIhvcNAQkBFhlhZG1pbkBwZXJmZWN0LXByaXZhY3kuY29tMB4XDTE2MDEyNzIxNTIzN1oXDTI2MDEyNDIxNTIzN1owgYcxCzAJBgNVBAYTAkNIMQwwCgYDVQQIEwNadWcxDDAKBgNVBAcTA1p1ZzEYMBYGA1UEChMPUGVyZmVjdCBQcml2YWN5MRgwFgYDVQQDEw9QZXJmZWN0IFByaXZhY3kxKDAmBgkqhkiG9w0BCQEWGWFkbWluQHBlcmZlY3QtcHJpdmFjeS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQClq5za5kZf3qUTqbFeLUDTGBd2SUOVeTG3hFegFR958X9FOCINJtTveSyJ6cgW7PO3si1XSyTjr8TaUULG5HXH3DpmzYoMltQ0fHJYfGy9gxJMfQJ9EwqqNnslAIokMEoWAnMz/TAyGbr/J2Yx/ys7ehaIOnCIhNESZkxj9muUVWLi0LvyBz7QKFafZH7QEulmKoGnOeorIFclrr964oxe2dE32CoN8lYTkpmwnAgXwkeSrgAVE9gjVnKc58xRdnk1JBamHKh6mvr4AYzU1TyB4g57tJlvjmVswy8+zY7l/1h0QDMTYK+ob9FVvKWVe7IWQLb7CG5i8QhHYUOPv20IS93KH7qrb7/EeL0tnidlXyDxpGF3RebgWiPS7cHOj5FTOaCIoZ1o+YfzpUqiENgfal2BBcG+MHTu+yt2t35tooL378D733HM8DYsxG2krhOpIuahkCgq7sRpbbTn+fwxu6+TR6dqXPT7hYIcqoDzrUNrtan+InTziClOWYTeDKi4cndN9KefN4WUMYapg1K9lcKH2Y0ARY5gOy9r8Dbw7QXTZOfVRJqSFbh8t3EZVHXcsF1pPJXRzJAzOIoFVc/waSk2ASYS95sk50ae+0befGzOX1epGZCZh4HRraiNrttfU+mkduGresJdp8wIZpd7o14iEF8f2YBtGQjlWsQoqQIDAQABo4HvMIHsMB0GA1UdDgQWBBSGT7htGCobPI8nNCnwgZ+6bmEO4TCBvAYDVR0jBIG0MIGxgBSGT7htGCobPI8nNCnwgZ+6bmEO4aGBjaSBijCBhzELMAkGA1UEBhMCQ0gxDDAKBgNVBAgTA1p1ZzEMMAoGA1UEBxMDWnVnMRgwFgYDVQQKEw9QZXJmZWN0IFByaXZhY3kxGDAWBgNVBAMTD1BlcmZlY3QgUHJpdmFjeTEoMCYGCSqGSIb3DQEJARYZYWRtaW5AcGVyZmVjdC1wcml2YWN5LmNvbYIJAPoRtcSqaa9pMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQENBQADggIBAEI4PSBXw1jzsDGDI/wKtar1N1NhfJJNWWFTQSXgPZXHYIys7dsXTHCaZgiIuOP7L8DmgwfqmvtcO5wVyacmXAHAliKYFOEkM/s56jrhdUM02KHd12lv9KVwE5jT4OZJYvHd651UKtHuh1nMuIlo4SQZ9R9WitTKumi7Nfr5XjdxGWqgz2c868aTq5CgCT2fpWfbN72n7hWNNO04TAwoXt69qv6ws/ymUGbHSshyBO4HtBMFTUzalZZ/YlJJIggsYP+LrmKPLDrjQVWcTYZKp0eIq3bfDHE/MlgVd6bd27JaPDOvcFQmFpMHcrSL4tu1o070NsQmrT52rvcnpEvbsMtFK4vW7LxY677fUIZcwA/fWfLSKhQbxr0ranxKqztrY3Ey2bWEXOtmquxje44VFZrcSbfM8K+xBc0SUTTLoVzey/7SfzvIJsHH/UBkJZZYiAA/gAOqoF5bYFVFU9eoN1owOBednkGOn17yp0ssSDHWpCKBma29V7DRb4Huz0n270M25zuQn5YbNYRiMRm7wN8Y+9nqsqxryOc48Rv7FPonDzbskFFjKp7KPRcKXEPxzswHChAWeRG8nU4hRLVvuLdwN08AIV3T1P+ycTOIM8+RFJgiouyCNuw8UpIngQ4XIBteVNISnQHvuqACJWXJat3CnMekksqTIcCgAtk5F8rw"}, //nolint:lll Cert: "MIIG1DCCBLygAwIBAgIIO6jSkQc9mHcwDQYJKoZIhvcNAQENBQAwgYcxCzAJBgNVBAYTAkNIMQwwCgYDVQQIEwNadWcxDDAKBgNVBAcTA1p1ZzEYMBYGA1UEChMPUGVyZmVjdCBQcml2YWN5MRgwFgYDVQQDEw9QZXJmZWN0IFByaXZhY3kxKDAmBgkqhkiG9w0BCQEWGWFkbWluQHBlcmZlY3QtcHJpdmFjeS5jb20wHhcNMjQwNzE4MDAwMDAwWhcNMjYwMzE1MDAwMDAwWjCBgDELMAkGA1UEBhMCQ0gxDDAKBgNVBAgTA1p1ZzEYMBYGA1UEChMPUGVyZmVjdCBQcml2YWN5MR8wHQYDVQQDExZQZXJmZWN0IFByaXZhY3kgQ2xpZW50MSgwJgYJKoZIhvcNAQkBFhlhZG1pbkBwZXJmZWN0LXByaXZhY3kuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlCVz3oBuFr0ptvdNrdx0DM9+K3pF11hsFYEyr+OOXSgX3x7CX0hEJ+dcKhYP2n7l27n1emawFFyWQmNIeoIq4CrLzV/LtUlCFvmvH/3bnWYEbedVGqrVBX+zykk/+3nFEGW05iMXB4obl64TwJePL7hLUflJgrsxQqw5qqeahGBg5PceQr09UG35law+uDiMAm+E1G7Vg+kDWcw2wykm744+/9bbF4M9V1+pUW8qvh0wF1QLLqgFsMpke7kEeJh5Pxj5VKJ4qKvrqlCMGsGNGswRPiQHDvMQzyT2Thoaw6UEYusZEFSpK2DB61wQFmFIwzwFmTehJx3xjb0lSaqtzGBOzgBBMTtvjOHFXQmJkWRvlymrKbzyoMCA8F3azOoEG0eIB1DHjZifbTis/4IO+7o8+/2i5aM85QnjCzg5AEdKjYV4KnQBVn3K0CFlkQMKK5kdmpwJ8T6zqTr9MBm2m1ZzCP5aajKjwOVhkdc6nvL5HHvZMRTgNYPce5SdS9UguqBYWYL5GbdGV60W/M7VadqZ3vS/l8V6MQK3KBJe/ceSTFfGs0tkKUypno0L68g4xT5MebAMU8cF4KD/YL8yXtJTv6RyrA6Et7yKLAE1pFN3fFbFc6EaX7VLNDUzAA2+15O/lB3Yy4ukynN0/x3aE9jcR7VQdMnZI2dVnhBPnPMCAwEAAaOCAUcwggFDMAkGA1UdEwQCMAAwIwYJYIZIAYb4QgENBBYWFFZQTiBVc2VyIENlcnRpZmljYXRlMBEGCWCGSAGG+EIBAQQEAwIHgDALBgNVHQ8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFKvP0GzDrP6BoPrGrnrSDD7spasMMIG8BgNVHSMEgbQwgbGAFIZPuG0YKhs8jyc0KfCBn7puYQ7hoYGNpIGKMIGHMQswCQYDVQQGEwJDSDEMMAoGA1UECBMDWnVnMQwwCgYDVQQHEwNadWcxGDAWBgNVBAoTD1BlcmZlY3QgUHJpdmFjeTEYMBYGA1UEAxMPUGVyZmVjdCBQcml2YWN5MSgwJgYJKoZIhvcNAQkBFhlhZG1pbkBwZXJmZWN0LXByaXZhY3kuY29tggkA+hG1xKppr2kwDQYJKoZIhvcNAQENBQADggIBAH4LXdhbUmDH4a5kIVgbt6PIxD6fKGEpigOsKeHlbNaAkX9gobf2NEanR6XUgkqWjjAWjxBOkSl3PBa6C/bbDyncIZCzaO3pO8q4O55KE7CKM2+5eo6m+Ovs58LZ0rBO06uMzwV4VDPo4AfxfWEo5NJg/LBcL0MA3PV15c9bFqU4w8pep0GSVwHXkqBftdxLRwV9G7+oh6s1fB4Ob78FmC943GKKsMyhawXT8k6EDasgDjJyV6aMmKkUgASnC5PehAgKIfoxhQyukINCX1V42H5wzSzRSJKQejK0Xxox901hBg9SJ0tG6xnfMLao1ELt5R2uLay/5N1hJud7GEgghnKlc/vwO2Q974J7jsfHi88A6dclsEkcOo/Dobqllw6rKCEmh0YVleSQZtMmTOeahhf5M+IMvCzRZh3XebgL3AZLKzkNMgTfSIVW9g2H6gELKMg++Kzm1eR1XZ1ieG1OOtaCCRB/oaIhS1P6mC2tc/vzVV8MviGlj4IAmiU87F2QW25pTEbesqwU7O4zd6IvTQIJY+WloHF9lwXHiZ0goW0FQ+X+lpam8qXze6o+NdQgGl26kcNiC3cKzti4ot3fIdCwlWDm03KzkEh9gkG9ObO4C7STdyl8mhOfwBA8th407Xmxf/fP81709vs2BH4nlLDLKoX38cRC1xJWwP7OGGMZ", //nolint:lll Key: "MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCUJXPegG4WvSm2902t3HQMz34rekXXWGwVgTKv445dKBffHsJfSEQn51wqFg/afuXbufV6ZrAUXJZCY0h6girgKsvNX8u1SUIW+a8f/dudZgRt51UaqtUFf7PKST/7ecUQZbTmIxcHihuXrhPAl48vuEtR+UmCuzFCrDmqp5qEYGDk9x5CvT1QbfmVrD64OIwCb4TUbtWD6QNZzDbDKSbvjj7/1tsXgz1XX6lRbyq+HTAXVAsuqAWwymR7uQR4mHk/GPlUonioq+uqUIwawY0azBE+JAcO8xDPJPZOGhrDpQRi6xkQVKkrYMHrXBAWYUjDPAWZN6EnHfGNvSVJqq3MYE7OAEExO2+M4cVdCYmRZG+XKaspvPKgwIDwXdrM6gQbR4gHUMeNmJ9tOKz/gg77ujz7/aLlozzlCeMLODkAR0qNhXgqdAFWfcrQIWWRAwormR2anAnxPrOpOv0wGbabVnMI/lpqMqPA5WGR1zqe8vkce9kxFOA1g9x7lJ1L1SC6oFhZgvkZt0ZXrRb8ztVp2pne9L+XxXoxArcoEl79x5JMV8azS2QpTKmejQvryDjFPkx5sAxTxwXgoP9gvzJe0lO/pHKsDoS3vIosATWkU3d8VsVzoRpftUs0NTMADb7Xk7+UHdjLi6TKc3T/HdoT2NxHtVB0ydkjZ1WeEE+c8wIDAQABAoICAGNz8SFB3qXtP3/Q7Zj2EgI3mV/eqdwzQ/v7y+dAQGZRcBUdNSd6ACc5rimivenUnsKvSBhvr2076rOOqy1zDQ2ILWEmGj8NewypeeNkLHax8e9GCV/ppzAV1sDKA+XyjVTAsnx8ug0ZrgRZnHECTeGfOxFA5RSaTiuQKvZhpd2QRfvv2aS8HdlMuuy7wS8y5usLqoRiE3yGhPVXnrvNeJIBUFG4D0TtmdR6J9S/aFZQieRfS1J7Abb5aBOW1WWQFnVBcsBagd3Z7E9d23Bq1ytSK5En5oUmr/YfvioYZDdLJHKzmRPZgefZANXb7ADaNlq6hJejPNBhzbN1cv7NUfaIgRjJCWOBL16SLQx/q7B614RGHpBmIF6GGdu/U6UBdd838qTSk8FtTh+4EMaMixzEqWA2MHznEGUssOM0XhRrQFXP+z8uSQd+aAqUJxbc5Sk3gC5FVetDc+cI/L7KrVjQh9RkFRaDVW1/+oPJvz0NWJHKQFRbNPFcpcJRGSODsZsA7VDTQV/pF9EPMkfCWvzLbq9rGzkUSd05cOlVurysebRP4oLjMhw1gARhopgbjc7aPrkp7XlgTItJqT7A0VLhP/q6cXuU2CeYJa7OVL/GvPddg+eM3e0VIgummCknrzH+lbBScU/Bek3m7XWK4ONUfR9qhJFXwHtmyvWxL1NhAoIBAQDFdUqliT3r58is1iqIuR+Lwbk8z8aXSJmCCTGVW2+KyiPbdVO6ywgyfn7h7lVrj4v/HFGggRYe5TR9ojYYw4aHGPODnaeq9qX8ZZHB7rx2LQzWgLXpm2hnpIK5YqIZbhe+oEJ2573wf8IatR3e3pXJvHKLz7yEDdASK+/bkGzizDW9jO+lbDQb3V4dTRgXTvXNSpp+0k4kPo8m4qrJb4SFjqF2Ss6Qzz2FbHmu/HBNTV1KjKQk0Fa8blAEAoinxtXbHMb8FYctcNvwMcRn2W9jL4xgNW3OW1cp2kVdlF35de5MQNZ+1XHJAfvgNedRFUoT+wN/FYEXHmIKog1hjqz/AoIBAQDAEXtJ8rFnlG3q/g3pM2iRez/PSAr6XlWwa05EBUlHhBHUGcu88fRMIhywiUeslmyjAJxmw4eNwuRl3GzqAysS9GflCHvLQGu1Uwl30r+UZ5fa+TbfJELSRPh8mdWfBFJbGHR8XEpokVXsrZhHAsijyvijAhXW/OqFOOtLxy60Y6fCmoazG4etwJGfOUUGRXOedF/MVL5DTUQKt2coj0m8N3kET1pBwZbB7k0Zmn4q47Yb172o/M0hpXBpSoh6wbNDreHzWqpG7gjPXRbJ6gIWB0p27XcNBJE4VO3ElPm7st8w36/Rgo7haqX6CCle09WJwlum1YVfoLFCmLn4qywNAoIBAAgeraYnAaPc0TTCTdd3fWOa4MouZSU9eAqP5DkXHHwhmd3hckMBLGIfL4qM6XhV29TuzjCCfm1g0YrFC+Jyz+poTUNBTW7LW8IITzkhXyCg86Eyg8iKen2glzuWYcIX8+QD5RfMqdPk/Q9qGUNb9d7o3/D95uurQb4tjlyCEOg2q5MS45vy2iW3MbKUxAPZXGRHyBik/0+gPvTDZ3CHJHT1i5A4vUvZKdd9wXc/rEKRht+U7v8QjjCLfMDddc8obwzmnwwounlU5cZ31XLLzzfN8cDXEZ/lw6zV6/pQKpkij10VYXyvvFEewsPSk6OS84vky50DPl68Ah4b0d8MJfMCggEBAKvsOga0VfZYl5dcd8lBuh1XTIPXgfQgkuVK+BDNBo4cevT3bjagAcRQWIvxJhYnw/CYcGdQKLtNM7K1/0vtMBZUbddGo8EI1iDFxljabaCCphxdLa/JvoKHOEIYVW50qN9f4Y0b84LsbRRhQ0h1BnIPEkafbDs3wxkjHQOEtJrGBXmdZmtWfjmagP8cfVuiuV6h3sqBJJoLxJcvGgjlUeRHZ2zjNvBbP/4xuBPuBXeQwwbjM6LbPycZ9qhZDheL4VH4iKOTiY3aLkqnkemFLP7Y4d/YqdMePntFElv/2hcYgs41vCR2kDzYgN9xhM6cIa2hKvcIc81ogqMRII6lcdUCggEBAKwHumHjFOMAs1ARmBuq+6LkOptsoPJw8Blfykmpk+V+/Ycy2pDGmtCr6tYhhcGm31wQLYpCADN+EAkWevf2/zSrIVAIrtAwq/aF1+p5vPiglU/A5G9mkewC+FeYinnvM8UPWZKFhOrXgbFNfdP73ejjIuiWekWd8EbhWwwNS4AxK+NaYEKcbfIyYR1flhyfVvBq9JdM8m2Mp1hEWPogRFls973yuRNTo8wG76SY7kTn7XGnNO6a8Ijyddbi17Kaek091ydtsrQbUBe+W1UMZgJODqr+IJEEjpgOMTM4lu9iS4ckb6kSPI4EX2NmRjQOqFpA0QmxIC7gWj2GmJYAE5U=", //nolint:lll TLSCrypt: "d10a8e2641f5834f6c5e04a6ee9a798553d338fa2836ef2a91057c1f6174a3a12b36f16d1110b20e42ae94d3bd579213e9c3770be6c74804348dddba876945a5a3ab7660f9436f85f331641f6efc81315f0d12b2766a9f15c10a53cf9ba32dc80f03b5f15a6cc6987bda795dbe83443ec81f3d5e161cd47fab6b1f125b3adeee1eae33370d018594e0ff6b25b815228d27371b32c82a95f4929d3abb5fa36e57bf1f42353542568fbb8233f4645f05820275f79570cb8bbcf8010fc5d20f07d031a8227d45daf7349e34158c91a3d4e5add19cfa02f683f87609f6525fa0594016d11abf2de649f83ad54edd3e74e032e34b1bca685b8499916826d9aee11c13", //nolint:lll TLSCipher: "TLS_CHACHA20_POLY1305_SHA256:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS_AES_256_GCM_SHA384:TLS-RSA-WITH-AES-256-CBC-SHA", //nolint:lll TunMTU: 1500, TunMTUExtra: 32, RenegSec: 3600, KeyDirection: "1", IPv6Lines: []string{ "redirect-gateway def1", `pull-filter ignore "redirect-gateway def1 ipv6"`, }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/perfectprivacy/portforward.go ================================================ package perfectprivacy import ( "context" "net/netip" "github.com/qdm12/gluetun/internal/provider/utils" ) // PortForward calculates and returns the VPN server side ports forwarded. func (p *Provider) PortForward(_ context.Context, objects utils.PortForwardObjects, ) (ports []uint16, err error) { if !objects.InternalIP.IsValid() { panic("internal ip is not set") } return internalIPToPorts(objects.InternalIP), nil } func (p *Provider) KeepPortForward(ctx context.Context, _ utils.PortForwardObjects, ) (err error) { <-ctx.Done() return ctx.Err() } // See https://www.perfect-privacy.com/en/faq section // How are the default forwarding ports being calculated? func internalIPToPorts(internalIP netip.Addr) (ports []uint16) { internalIPBytes := internalIP.AsSlice() // Convert the internal IP address to a bit string // and keep only the last 12 bits last16Bits := internalIPBytes[len(internalIPBytes)-2:] last12Bits := []byte{ last16Bits[0] & 0b00001111, // only keep 4 bits last16Bits[1], } basePort := uint16(last12Bits[0])<<8 + uint16(last12Bits[1]) //nolint:mnd return []uint16{ 10000 + basePort, 20000 + basePort, 30000 + basePort, } } ================================================ FILE: internal/provider/perfectprivacy/portforward_test.go ================================================ package perfectprivacy import ( "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_internalIPToPorts(t *testing.T) { t.Parallel() testCases := map[string]struct { internalIP netip.Addr ports []uint16 }{ "example_case": { internalIP: netip.AddrFrom4([4]byte{10, 0, 203, 88}), ports: []uint16{12904, 22904, 32904}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ports := internalIPToPorts(testCase.internalIP) assert.Equal(t, testCase.ports, ports) }) } } ================================================ FILE: internal/provider/perfectprivacy/provider.go ================================================ package perfectprivacy import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/perfectprivacy/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner), } } func (p *Provider) Name() string { return providers.Perfectprivacy } ================================================ FILE: internal/provider/perfectprivacy/updater/citytoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type cityToServer map[string]models.Server func (cts cityToServer) add(city string, ips []netip.Addr) { server, ok := cts[city] if !ok { server.VPN = vpn.OpenVPN server.City = city server.IPs = ips server.TCP = true server.UDP = true } else { // Do not insert duplicate IP addresses existingIPs := make(map[string]struct{}, len(server.IPs)) for _, ip := range server.IPs { existingIPs[ip.String()] = struct{}{} } for _, ip := range ips { ipString := ip.String() _, ok := existingIPs[ipString] if ok { continue } existingIPs[ipString] = struct{}{} server.IPs = append(server.IPs, ip) } } cts[city] = server } func (cts cityToServer) toServersSlice() (servers []models.Server) { servers = make([]models.Server, 0, len(cts)) for _, server := range cts { servers = append(servers, server) } return servers } ================================================ FILE: internal/provider/perfectprivacy/updater/filename.go ================================================ package updater import ( "strings" "unicode" ) func parseFilename(fileName string) (city string) { const suffix = ".conf" s := strings.TrimSuffix(fileName, suffix) for i, r := range s { if unicode.IsDigit(r) { s = s[:i] break } } return s } ================================================ FILE: internal/provider/perfectprivacy/updater/servers.go ================================================ package updater import ( "context" "fmt" "net/url" "sort" "strings" "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, ) { zipURL := url.URL{ Scheme: "https", Host: "www.perfect-privacy.com", Path: "/downloads/openvpn/get", } values := make(url.Values) values.Set("system", "linux") values.Set("scope", "server") values.Set("filetype", "zip") values.Set("protocol", "udp") // all support both TCP and UDP zipURL.RawQuery = values.Encode() contents, err := u.unzipper.FetchAndExtract(ctx, zipURL.String()) if err != nil { return nil, err } cts := make(cityToServer) for fileName, content := range contents { err := addServerFromOvpn(cts, fileName, content) if err != nil { u.warner.Warn(err.Error() + " in " + fileName) } } if len(cts) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(cts), minServers) } servers = cts.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } func addServerFromOvpn(cts cityToServer, fileName string, content []byte, ) (err error) { if !strings.HasSuffix(fileName, ".conf") { return nil // not an OpenVPN file } ips, err := openvpn.ExtractIPs(content) if err != nil { return err } city := parseFilename(fileName) cts.add(city, ips) return nil } ================================================ FILE: internal/provider/perfectprivacy/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper warner common.Warner } func New(unzipper common.Unzipper, warner common.Warner) *Updater { return &Updater{ unzipper: unzipper, warner: warner, } } ================================================ FILE: internal/provider/privado/connection.go ================================================ package privado import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(1194, 1194, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/privado/openvpnconf.go ================================================ package privado import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, }, Auth: openvpn.SHA256, MssFix: 1320, Ping: 10, TLSCipher: "TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA", VerifyX509Type: "name", CAs: []string{"MIIFKDCCAxCgAwIBAgIJAMtrmqZxIV/OMA0GCSqGSIb3DQEBDQUAMBIxEDAOBgNVBAMMB1ByaXZhZG8wHhcNMjAwMTA4MjEyODQ1WhcNMzUwMTA5MjEyODQ1WjASMRAwDgYDVQQDDAdQcml2YWRvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxPwOgiwNJzZTnKIXwAB0TSu/Lu2qt2U2I8obtQjwhi/7OrfmbmYykSdro70al2XPhnwAGGdCxW6LDnp0UN/IOhD11mgBPo14f5CLkBQjSJ6VN5miPbvK746LsNZl9H8rQGvDuPo4CG9BfPZMiDRGlsMxij/jztzgT1gmuxQ7WHfFRcNzBas1dHa9hV/d3TU6/t47x4SE/ljdcCtJiu7Zn6ODKQoys3mB7Luz2ngqUJWvkqsg+E4+3eJ0M8Hlbn5TPaRJBID7DAdYo6Vs6xGCYr981ThFcmoIQ10js10yANrrfGAzd03b3TnLAgko0uQMHjliMZL6L8sWOPHxyxJI0us88SFh4UgcFyRHKHPKux7w24SxAlZUYoUcTHp9VjG5XvDKYxzgV2RdM4ulBGbQRQ3y3/CyddsyQYMvA55Ets0LfPaBvDIcct70iXijGsdvlX1du3ArGpG7Vaje/RU4nbbGT6HYRdt5YyZfof288ukMOSj20nVcmS+c/4tqsxSerRb1aq5LOi1IemSkTMeC5gCbexk+L1vl7NT/58sxjGmu5bXwnvev/lIItfi2AlITrfUSEv19iDMKkeshwn/+sFJBMWYyluP+yJ56yR+MWoXvLlSWphLDTqq19yx3BZn0P1tgbXoR0g8PTdJFcz8z3RIb7myVLYulV1oGG/3rka0CAwEAAaOBgDB+MB0GA1UdDgQWBBTFtJkZCVDuDAD6k5bJzefjJdO3DTBCBgNVHSMEOzA5gBTFtJkZCVDuDAD6k5bJzefjJdO3DaEWpBQwEjEQMA4GA1UEAwwHUHJpdmFkb4IJAMtrmqZxIV/OMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBDQUAA4ICAQB7MUSXMeBb9wlSv4sUaT1JHEwE26nlBw+TKmezfuPU5pBlY0LYr6qQZY95DHqsRJ7ByUzGUrGo17dNGXlcuNc6TAaQQEDRPo6y+LVh2TWMk15TUMI+MkqryJtCret7xGvDigKYMJgBy58HN3RAVr1B7cL9youwzLgc2Y/NcFKvnQJKeiIYAJ7g0CcnJiQvgZTS7xdwkEBXfsngmUCIG320DLPEL+Ze0HiUrxwWljMRya6i40AeH3Zu2i532xX1wV5+cjA4RJWIKg6ri/Q54iFGtZrA9/nc6y9uoQHkmz8cGyVUmJxFzMrrIICVqUtVRxLhkTMe4UzwRWTBeGgtW4tS0yq1QonAKfOyjgRw/CeY55D2UGvnAFZdTadtYXS4Alu2P9zdwoEk3fzHiVmDjqfJVr5wz9383aABUFrPI3nz6ed/Z6LZflKh1k+DUDEp8NxU4klUULWsSOKoa5zGX51G8cdHxwQLImXvtGuN5eSR8jCTgxFZhdps/xes4KkyfIz9FMYG748M+uOTgKITf4zdJ9BAyiQaOufVQZ8WjhWzWk9YHec9VqPkzpWNGkVjiRI5ewuXwZzZ164tMv2hikBXSuUCnFz37/ZNwGlDi0oBdDszCk2GxccdFHHaCSmpjU5MrdJ+5IhtTKGeTx+US2hTIVHQFIO99DmacxSYvLNcSQ=="}, //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/privado/provider.go ================================================ package privado import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/privado/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner), } } func (p *Provider) Name() string { return providers.Privado } ================================================ FILE: internal/provider/privado/updater/servers.go ================================================ package updater import ( "context" "encoding/json" "fmt" "net/http" "net/netip" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { const url = "https://privadovpn.com/apps/servers_export.json" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, fmt.Errorf("creating request: %w", err) } response, err := u.client.Do(request) if err != nil { return nil, err } 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) } err = response.Body.Close() if err != nil { return nil, fmt.Errorf("closing response body: %w", err) } if len(data.Servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(data.Servers), minServers) } 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)) return servers, nil } ================================================ FILE: internal/provider/privado/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client warner common.Warner } func New(client *http.Client, warner common.Warner) *Updater { return &Updater{ client: client, warner: warner, } } ================================================ FILE: internal/provider/privateinternetaccess/connection.go ================================================ package privateinternetaccess import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/privateinternetaccess/presets" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { // Set port defaults depending on encryption preset. var defaults utils.ConnectionDefaults switch *selection.OpenVPN.PIAEncPreset { case presets.None, presets.Normal: defaults.OpenVPNTCPPort = 502 defaults.OpenVPNUDPPort = 1198 case presets.Strong: defaults.OpenVPNTCPPort = 501 defaults.OpenVPNUDPPort = 1197 } return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/privateinternetaccess/httpclient.go ================================================ package privateinternetaccess import ( "crypto/tls" "crypto/x509" "fmt" "net" "net/http" "strings" "time" "github.com/qdm12/gluetun/internal/provider/utils" ) func newHTTPClient(serverName string) (client *http.Client, err error) { rootCAs, err := x509.SystemCertPool() if err != nil { return nil, fmt.Errorf("loading system certificates: %w", err) } const piaCertificate = "MIIHqzCCBZOgAwIBAgIJAJ0u+vODZJntMA0GCSqGSIb3DQEBDQUAMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTAeFw0xNDA0MTcxNzQwMzNaFw0zNDA0MTIxNzQwMzNaMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALVkhjumaqBbL8aSgj6xbX1QPTfTd1qHsAZd2B97m8Vw31c/2yQgZNf5qZY0+jOIHULNDe4R9TIvyBEbvnAg/OkPw8n/+ScgYOeH876VUXzjLDBnDb8DLr/+w9oVsuDeFJ9KV2UFM1OYX0SnkHnrYAN2QLF98ESK4NCSU01h5zkcgmQ+qKSfA9Ny0/UpsKPBFqsQ25NvjDWFhCpeqCHKUJ4Be27CDbSl7lAkBuHMPHJs8f8xPgAbHRXZOxVCpayZ2SNDfCwsnGWpWFoMGvdMbygngCn6jA/W1VSFOlRlfLuuGe7QFfDwA0jaLCxuWt/BgZylp7tAzYKR8lnWmtUCPm4+BtjyVDYtDCiGBD9Z4P13RFWvJHw5aapx/5W/CuvVyI7pKwvc2IT+KPxCUhH1XI8ca5RN3C9NoPJJf6qpg4g0rJH3aaWkoMRrYvQ+5PXXYUzjtRHImghRGd/ydERYoAZXuGSbPkm9Y/p2X8unLcW+F0xpJD98+ZI+tzSsI99Zs5wijSUGYr9/j18KHFTMQ8n+1jauc5bCCegN27dPeKXNSZ5riXFL2XX6BkY68y58UaNzmeGMiUL9BOV1iV+PMb7B7PYs7oFLjAhh0EdyvfHkrh/ZV9BEhtFa7yXp8XR0J6vz1YV9R6DYJmLjOEbhU8N0gc3tZm4Qz39lIIG6w3FDAgMBAAGjggFUMIIBUDAdBgNVHQ4EFgQUrsRtyWJftjpdRM0+925Y6Cl08SUwggEfBgNVHSMEggEWMIIBEoAUrsRtyWJftjpdRM0+925Y6Cl08SWhge6kgeswgegxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTETMBEGA1UEBxMKTG9zQW5nZWxlczEgMB4GA1UEChMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBAsTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQDExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEKRMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxLzAtBgkqhkiG9w0BCQEWIHNlY3VyZUBwcml2YXRlaW50ZXJuZXRhY2Nlc3MuY29tggkAnS7684Nkme0wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQ0FAAOCAgEAJsfhsPk3r8kLXLxY+v+vHzbr4ufNtqnL9/1Uuf8NrsCtpXAoyZ0YqfbkWx3NHTZ7OE9ZRhdMP/RqHQE1p4N4Sa1nZKhTKasV6KhHDqSCt/dvEm89xWm2MVA7nyzQxVlHa9AkcBaemcXEiyT19XdpiXOP4Vhs+J1R5m8zQOxZlV1GtF9vsXmJqWZpOVPmZ8f35BCsYPvv4yMewnrtAC8PFEK/bOPeYcKN50bol22QYaZuLfpkHfNiFTnfMh8sl/ablPyNY7DUNiP5DRcMdIwmfGQxR5WEQoHL3yPJ42LkB5zs6jIm26DGNXfwura/mi105+ENH1CaROtRYwkiHb08U6qLXXJz80mWJkT90nr8Asj35xN2cUppg74nG3YVav/38P48T56hG1NHbYF5uOCske19F6wi9maUoto/3vEr0rnXJUp2KODmKdvBI7co245lHBABWikk8VfejQSlCtDBXn644ZMtAdoxKNfR2WTFVEwJiyd1Fzx0yujuiXDROLhISLQDRjVVAvawrAtLZWYK31bY7KlezPlQnl/D9Asxe85l8jO5+0LdJ6VyOs/Hd4w52alDW/MFySDZSfQHMTIc30hLBJ8OnCEIvluVQQ2UQvoW+no177N9L2Y+M9TcTA62ZyMXShHQGeh20rb4kK8f+iFX8NxtdHVSkxMEFSfDDyQ=" //nolint:lll pemPIACertificate := strings.Join(utils.WrapOpenvpnCA(piaCertificate), "\n") ok := rootCAs.AppendCertsFromPEM([]byte(pemPIACertificate)) if !ok { panic("cannot load custom PIA certificate") } //nolint:mnd return &http.Client{ Transport: &http.Transport{ // Settings taken from http.DefaultTransport Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, }).DialContext, ForceAttemptHTTP2: true, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, TLSClientConfig: &tls.Config{ RootCAs: rootCAs, MinVersion: tls.VersionTLS12, ServerName: serverName, }, }, Timeout: 30 * time.Second, }, nil } ================================================ FILE: internal/provider/privateinternetaccess/httpclient_test.go ================================================ package privateinternetaccess import ( "crypto/tls" "crypto/x509/pkix" "encoding/asn1" "net/http" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_newHTTPClient(t *testing.T) { t.Parallel() const serverName = "testserver" expectedPIATransportTLSConfig := &tls.Config{ // Can't directly compare RootCAs because of private fields RootCAs: nil, MinVersion: tls.VersionTLS12, ServerName: serverName, } piaClient, err := newHTTPClient(serverName) require.NoError(t, err) // Verify pia transport TLS config is set piaTransport, ok := piaClient.Transport.(*http.Transport) require.True(t, ok) subjects := piaTransport.TLSClientConfig.RootCAs.Subjects() //nolint:staticcheck assert.NotEmpty(t, subjects) piaCertFound := false for _, subject := range subjects { var rdnSequence pkix.RDNSequence _, err := asn1.Unmarshal(subject, &rdnSequence) require.NoError(t, err) var name pkix.Name name.FillFromRDNSequence(&rdnSequence) if name.CommonName == "Private Internet Access" { piaCertFound = true break } } assert.True(t, piaCertFound) piaTransport.TLSClientConfig.RootCAs = nil assert.Equal(t, expectedPIATransportTLSConfig, piaTransport.TLSClientConfig) } ================================================ FILE: internal/provider/privateinternetaccess/openvpnconf.go ================================================ package privateinternetaccess import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/privateinternetaccess/presets" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, RenegDisabled: true, AuthUserPass: true, MssFix: 1320, } const ( caNormalPreset = "MIIFqzCCBJOgAwIBAgIJAKZ7D5Yv87qDMA0GCSqGSIb3DQEBDQUAMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTAeFw0xNDA0MTcxNzM1MThaFw0zNDA0MTIxNzM1MThaMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPXDL1L9tX6DGf36liA7UBTy5I869z0UVo3lImfOs/GSiFKPtInlesP65577nd7UNzzXlH/P/CnFPdBWlLp5ze3HRBCc/Avgr5CdMRkEsySL5GHBZsx6w2cayQ2EcRhVTwWpcdldeNO+pPr9rIgPrtXqT4SWViTQRBeGM8CDxAyTopTsobjSiYZCF9Ta1gunl0G/8Vfp+SXfYCC+ZzWvP+L1pFhPRqzQQ8k+wMZIovObK1s+nlwPaLyayzw9a8sUnvWB/5rGPdIYnQWPgoNlLN9HpSmsAcw2z8DXI9pIxbr74cb3/HSfuYGOLkRqrOk6h4RCOfuWoTrZup1uEOn+fw8CAwEAAaOCAVQwggFQMB0GA1UdDgQWBBQv63nQ/pJAt5tLy8VJcbHe22ZOsjCCAR8GA1UdIwSCARYwggESgBQv63nQ/pJAt5tLy8VJcbHe22ZOsqGB7qSB6zCB6DELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRMwEQYDVQQHEwpMb3NBbmdlbGVzMSAwHgYDVQQKExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UECxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBAMTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQpExdQcml2YXRlIEludGVybmV0IEFjY2VzczEvMC0GCSqGSIb3DQEJARYgc2VjdXJlQHByaXZhdGVpbnRlcm5ldGFjY2Vzcy5jb22CCQCmew+WL/O6gzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBDQUAA4IBAQAna5PgrtxfwTumD4+3/SYvwoD66cB8IcK//h1mCzAduU8KgUXocLx7QgJWo9lnZ8xUryXvWab2usg4fqk7FPi00bED4f4qVQFVfGfPZIH9QQ7/48bPM9RyfzImZWUCenK37pdw4Bvgoys2rHLHbGen7f28knT2j/cbMxd78tQc20TIObGjo8+ISTRclSTRBtyCGohseKYpTS9himFERpUgNtefvYHbn70mIOzfOJFTVqfrptf9jXa9N8Mpy3ayfodz1wiqdteqFXkTYoSDctgKMiZ6GdocK9nMroQipIQtpnwd4yBDWIyC6Bvlkrq5TQUtYDQ8z9v+DMO6iwyIDRiU" //nolint:lll ) switch *settings.PIAEncPreset { case presets.Normal: providerSettings.Ciphers = []string{openvpn.AES128cbc} providerSettings.Auth = openvpn.SHA1 providerSettings.CAs = []string{caNormalPreset} case presets.None: providerSettings.Ciphers = []string{"none"} providerSettings.Auth = "none" providerSettings.CAs = []string{caNormalPreset} default: // strong providerSettings.Ciphers = []string{openvpn.AES256cbc} providerSettings.Auth = openvpn.SHA256 providerSettings.CAs = []string{"MIIHqzCCBZOgAwIBAgIJAJ0u+vODZJntMA0GCSqGSIb3DQEBDQUAMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTAeFw0xNDA0MTcxNzQwMzNaFw0zNDA0MTIxNzQwMzNaMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALVkhjumaqBbL8aSgj6xbX1QPTfTd1qHsAZd2B97m8Vw31c/2yQgZNf5qZY0+jOIHULNDe4R9TIvyBEbvnAg/OkPw8n/+ScgYOeH876VUXzjLDBnDb8DLr/+w9oVsuDeFJ9KV2UFM1OYX0SnkHnrYAN2QLF98ESK4NCSU01h5zkcgmQ+qKSfA9Ny0/UpsKPBFqsQ25NvjDWFhCpeqCHKUJ4Be27CDbSl7lAkBuHMPHJs8f8xPgAbHRXZOxVCpayZ2SNDfCwsnGWpWFoMGvdMbygngCn6jA/W1VSFOlRlfLuuGe7QFfDwA0jaLCxuWt/BgZylp7tAzYKR8lnWmtUCPm4+BtjyVDYtDCiGBD9Z4P13RFWvJHw5aapx/5W/CuvVyI7pKwvc2IT+KPxCUhH1XI8ca5RN3C9NoPJJf6qpg4g0rJH3aaWkoMRrYvQ+5PXXYUzjtRHImghRGd/ydERYoAZXuGSbPkm9Y/p2X8unLcW+F0xpJD98+ZI+tzSsI99Zs5wijSUGYr9/j18KHFTMQ8n+1jauc5bCCegN27dPeKXNSZ5riXFL2XX6BkY68y58UaNzmeGMiUL9BOV1iV+PMb7B7PYs7oFLjAhh0EdyvfHkrh/ZV9BEhtFa7yXp8XR0J6vz1YV9R6DYJmLjOEbhU8N0gc3tZm4Qz39lIIG6w3FDAgMBAAGjggFUMIIBUDAdBgNVHQ4EFgQUrsRtyWJftjpdRM0+925Y6Cl08SUwggEfBgNVHSMEggEWMIIBEoAUrsRtyWJftjpdRM0+925Y6Cl08SWhge6kgeswgegxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTETMBEGA1UEBxMKTG9zQW5nZWxlczEgMB4GA1UEChMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBAsTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQDExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEKRMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxLzAtBgkqhkiG9w0BCQEWIHNlY3VyZUBwcml2YXRlaW50ZXJuZXRhY2Nlc3MuY29tggkAnS7684Nkme0wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQ0FAAOCAgEAJsfhsPk3r8kLXLxY+v+vHzbr4ufNtqnL9/1Uuf8NrsCtpXAoyZ0YqfbkWx3NHTZ7OE9ZRhdMP/RqHQE1p4N4Sa1nZKhTKasV6KhHDqSCt/dvEm89xWm2MVA7nyzQxVlHa9AkcBaemcXEiyT19XdpiXOP4Vhs+J1R5m8zQOxZlV1GtF9vsXmJqWZpOVPmZ8f35BCsYPvv4yMewnrtAC8PFEK/bOPeYcKN50bol22QYaZuLfpkHfNiFTnfMh8sl/ablPyNY7DUNiP5DRcMdIwmfGQxR5WEQoHL3yPJ42LkB5zs6jIm26DGNXfwura/mi105+ENH1CaROtRYwkiHb08U6qLXXJz80mWJkT90nr8Asj35xN2cUppg74nG3YVav/38P48T56hG1NHbYF5uOCske19F6wi9maUoto/3vEr0rnXJUp2KODmKdvBI7co245lHBABWikk8VfejQSlCtDBXn644ZMtAdoxKNfR2WTFVEwJiyd1Fzx0yujuiXDROLhISLQDRjVVAvawrAtLZWYK31bY7KlezPlQnl/D9Asxe85l8jO5+0LdJ6VyOs/Hd4w52alDW/MFySDZSfQHMTIc30hLBJ8OnCEIvluVQQ2UQvoW+no177N9L2Y+M9TcTA62ZyMXShHQGeh20rb4kK8f+iFX8NxtdHVSkxMEFSfDDyQ="} //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/privateinternetaccess/portforward.go ================================================ package privateinternetaccess import ( "context" "encoding/base64" "encoding/json" "errors" "fmt" "io" "io/fs" "net" "net/http" "net/netip" "net/url" "os" "strconv" "strings" "time" "github.com/qdm12/gluetun/internal/format" "github.com/qdm12/gluetun/internal/provider/utils" ) var ErrServerNameNotFound = errors.New("server name not found in servers") // PortForward obtains a VPN server side port forwarded from PIA. func (p *Provider) PortForward(ctx context.Context, objects utils.PortForwardObjects, ) (ports []uint16, err error) { switch { case objects.ServerName == "": panic("server name cannot be empty") case !objects.Gateway.IsValid(): panic("gateway is not set") case objects.Username == "": panic("username is not set") case objects.Password == "": panic("password is not set") } serverName := objects.ServerName apiIP := buildAPIIPAddress(objects.Gateway) logger := objects.Logger if !objects.CanPortForward { return nil, fmt.Errorf("%w: for server %s", ErrServerNameNotFound, serverName) } privateIPClient, err := newHTTPClient(serverName) if err != nil { return nil, fmt.Errorf("creating custom HTTP client: %w", err) } data, err := readPIAPortForwardData(p.portForwardPath) if err != nil { return nil, fmt.Errorf("reading saved port forwarded data: %w", err) } dataFound := data.Port > 0 durationToExpiration := data.Expiration.Sub(p.timeNow()) expired := durationToExpiration <= 0 if dataFound { logger.Info("Found saved forwarded port data for port " + strconv.Itoa(int(data.Port))) if expired { logger.Warn("Forwarded port data expired on " + data.Expiration.Format(time.RFC1123) + ", getting another one") } } if !dataFound || expired { client := objects.Client data, err = refreshPIAPortForwardData(ctx, client, privateIPClient, apiIP, p.portForwardPath, objects.Username, objects.Password) if err != nil { return nil, fmt.Errorf("refreshing port forward data: %w", err) } durationToExpiration = data.Expiration.Sub(p.timeNow()) } logger.Info("Port forwarded data expires in " + format.FriendlyDuration(durationToExpiration)) // First time binding if err := bindPort(ctx, privateIPClient, apiIP, data); err != nil { return nil, fmt.Errorf("binding port: %w", err) } return []uint16{data.Port}, nil } var ErrPortForwardedExpired = errors.New("port forwarded data expired") func (p *Provider) KeepPortForward(ctx context.Context, objects utils.PortForwardObjects, ) (err error) { switch { case objects.ServerName == "": panic("server name cannot be empty") case !objects.Gateway.IsValid(): panic("gateway is not set") } apiIP := buildAPIIPAddress(objects.Gateway) privateIPClient, err := newHTTPClient(objects.ServerName) if err != nil { return fmt.Errorf("creating custom HTTP client: %w", err) } data, err := readPIAPortForwardData(p.portForwardPath) if err != nil { return fmt.Errorf("reading saved port forwarded data: %w", err) } durationToExpiration := data.Expiration.Sub(p.timeNow()) expiryTimer := time.NewTimer(durationToExpiration) const keepAlivePeriod = 15 * time.Minute // Timer behaving as a ticker keepAliveTimer := time.NewTimer(keepAlivePeriod) for { select { case <-ctx.Done(): if !keepAliveTimer.Stop() { <-keepAliveTimer.C } if !expiryTimer.Stop() { <-expiryTimer.C } return ctx.Err() case <-keepAliveTimer.C: err = bindPort(ctx, privateIPClient, apiIP, data) if err != nil { return fmt.Errorf("binding port: %w", err) } keepAliveTimer.Reset(keepAlivePeriod) case <-expiryTimer.C: return fmt.Errorf("%w: on %s", ErrPortForwardedExpired, data.Expiration.Format(time.RFC1123)) } } } func buildAPIIPAddress(gateway netip.Addr) (api netip.Addr) { if gateway.Is6() { panic("IPv6 gateway not supported") } gatewayBytes := gateway.As4() gatewayBytes[2] = 128 gatewayBytes[3] = 1 return netip.AddrFrom4(gatewayBytes) } func refreshPIAPortForwardData(ctx context.Context, client, privateIPClient *http.Client, apiIP netip.Addr, portForwardPath, username, password string, ) (data piaPortForwardData, err error) { data.Token, err = fetchToken(ctx, client, username, password) if err != nil { return data, fmt.Errorf("fetching token: %w", err) } data.Port, data.Signature, data.Expiration, err = fetchPortForwardData(ctx, privateIPClient, apiIP, data.Token) if err != nil { return data, fmt.Errorf("fetching port forwarding data: %w", err) } if err := writePIAPortForwardData(portForwardPath, data); err != nil { return data, fmt.Errorf("persisting port forwarding data: %w", err) } return data, nil } type piaPayload struct { Token string `json:"token"` Port uint16 `json:"port"` Expiration time.Time `json:"expires_at"` } type piaPortForwardData struct { Port uint16 `json:"port"` Token string `json:"token"` Signature string `json:"signature"` Expiration time.Time `json:"expires_at"` } func readPIAPortForwardData(portForwardPath string) (data piaPortForwardData, err error) { file, err := os.Open(portForwardPath) if os.IsNotExist(err) { return data, nil } else if err != nil { return data, err } decoder := json.NewDecoder(file) if err := decoder.Decode(&data); err != nil { _ = file.Close() return data, err } return data, file.Close() } func writePIAPortForwardData(portForwardPath string, data piaPortForwardData) (err error) { const permission = fs.FileMode(0o644) file, err := os.OpenFile(portForwardPath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, permission) if err != nil { return err } encoder := json.NewEncoder(file) if err := encoder.Encode(data); err != nil { _ = file.Close() return err } return file.Close() } func unpackPayload(payload string) (port uint16, token string, expiration time.Time, err error) { b, err := base64.StdEncoding.DecodeString(payload) if err != nil { return 0, "", expiration, fmt.Errorf("%w: for payload: %s", err, payload) } var payloadData piaPayload if err := json.Unmarshal(b, &payloadData); err != nil { return 0, "", expiration, fmt.Errorf("%w: for data: %s", err, string(b)) } return payloadData.Port, payloadData.Token, payloadData.Expiration, nil } func packPayload(port uint16, token string, expiration time.Time) (payload string, err error) { payloadData := piaPayload{ Token: token, Port: port, Expiration: expiration, } b, err := json.Marshal(&payloadData) if err != nil { return "", err } payload = base64.StdEncoding.EncodeToString(b) return payload, nil } var errEmptyToken = errors.New("token received is empty") func fetchToken(ctx context.Context, client *http.Client, username, password string, ) (token string, err error) { errSubstitutions := map[string]string{ url.QueryEscape(username): "", url.QueryEscape(password): "", } // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 10 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() form := url.Values{} form.Add("username", username) form.Add("password", password) url := url.URL{ Scheme: "https", Host: "www.privateinternetaccess.com", Path: "/api/client/v2/token", } request, err := http.NewRequestWithContext(ctx, http.MethodPost, url.String(), strings.NewReader(form.Encode())) if err != nil { return "", replaceInErr(err, errSubstitutions) } request.Header.Add("Content-Type", "application/x-www-form-urlencoded") response, err := client.Do(request) if err != nil { return "", replaceInErr(err, errSubstitutions) } defer response.Body.Close() if response.StatusCode != http.StatusOK { return "", makeNOKStatusError(response, errSubstitutions) } decoder := json.NewDecoder(response.Body) var result struct { Token string `json:"token"` } if err := decoder.Decode(&result); err != nil { return "", fmt.Errorf("decoding response: %w", err) } if result.Token == "" { return "", errEmptyToken } return result.Token, nil } func fetchPortForwardData(ctx context.Context, client *http.Client, apiIP netip.Addr, token string) ( port uint16, signature string, expiration time.Time, err error, ) { errSubstitutions := map[string]string{url.QueryEscape(token): ""} // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 5 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() queryParams := make(url.Values) queryParams.Add("token", token) url := url.URL{ Scheme: "https", Host: net.JoinHostPort(apiIP.String(), "19999"), Path: "/getSignature", RawQuery: queryParams.Encode(), } request, err := http.NewRequestWithContext(ctx, http.MethodGet, url.String(), nil) if err != nil { err = replaceInErr(err, errSubstitutions) return 0, "", expiration, fmt.Errorf("obtaining signature payload: %w", err) } response, err := client.Do(request) if err != nil { err = replaceInErr(err, errSubstitutions) return 0, "", expiration, fmt.Errorf("obtaining signature payload: %w", err) } defer response.Body.Close() if response.StatusCode != http.StatusOK { return 0, "", expiration, makeNOKStatusError(response, errSubstitutions) } decoder := json.NewDecoder(response.Body) var data struct { Status string `json:"status"` Payload string `json:"payload"` Signature string `json:"signature"` } if err := decoder.Decode(&data); err != nil { return 0, "", expiration, fmt.Errorf("decoding response: %w", err) } if data.Status != "OK" { return 0, "", expiration, fmt.Errorf("%w: status is: %s", ErrBadResponse, data.Status) } port, _, expiration, err = unpackPayload(data.Payload) if err != nil { return 0, "", expiration, fmt.Errorf("unpacking payload data: %w", err) } return port, data.Signature, expiration, err } var ErrBadResponse = errors.New("bad response received") func bindPort(ctx context.Context, client *http.Client, apiIPAddress netip.Addr, data piaPortForwardData) (err error) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 5 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() payload, err := packPayload(data.Port, data.Token, data.Expiration) if err != nil { return fmt.Errorf("serializing payload: %w", err) } queryParams := make(url.Values) queryParams.Add("payload", payload) queryParams.Add("signature", data.Signature) bindPortURL := url.URL{ Scheme: "https", Host: net.JoinHostPort(apiIPAddress.String(), "19999"), Path: "/bindPort", RawQuery: queryParams.Encode(), } errSubstitutions := map[string]string{ url.QueryEscape(payload): "", url.QueryEscape(data.Signature): "", } request, err := http.NewRequestWithContext(ctx, http.MethodGet, bindPortURL.String(), nil) if err != nil { return replaceInErr(err, errSubstitutions) } response, err := client.Do(request) if err != nil { return replaceInErr(err, errSubstitutions) } defer response.Body.Close() if response.StatusCode != http.StatusOK { return makeNOKStatusError(response, errSubstitutions) } decoder := json.NewDecoder(response.Body) var responseData struct { Status string `json:"status"` Message string `json:"message"` } if err := decoder.Decode(&responseData); err != nil { return fmt.Errorf("decoding response: from %s: %w", bindPortURL.String(), err) } if responseData.Status != "OK" { return fmt.Errorf("%w: %s: %s", ErrBadResponse, responseData.Status, responseData.Message) } return nil } // replaceInErr is used to remove sensitive information from errors. func replaceInErr(err error, substitutions map[string]string) error { s := replaceInString(err.Error(), substitutions) return errors.New(s) //nolint:err113 } // replaceInString is used to remove sensitive information. func replaceInString(s string, substitutions map[string]string) string { for old, new := range substitutions { s = strings.ReplaceAll(s, old, new) } return s } var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code is not OK") func makeNOKStatusError(response *http.Response, substitutions map[string]string) (err error) { url := response.Request.URL.String() url = replaceInString(url, substitutions) b, _ := io.ReadAll(response.Body) shortenMessage := string(b) shortenMessage = strings.ReplaceAll(shortenMessage, "\n", "") shortenMessage = strings.ReplaceAll(shortenMessage, " ", " ") shortenMessage = replaceInString(shortenMessage, substitutions) return fmt.Errorf("%w: %s: %d %s: response received: %s", ErrHTTPStatusCodeNotOK, url, response.StatusCode, response.Status, shortenMessage) } ================================================ FILE: internal/provider/privateinternetaccess/portforward_test.go ================================================ package privateinternetaccess import ( "encoding/base64" "encoding/json" "errors" "testing" "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_unpackPayload(t *testing.T) { t.Parallel() const exampleToken = "token" const examplePort = 2000 exampleExpiration := time.Unix(1000, 0).UTC() testCases := map[string]struct { payload string port uint16 token string expiration time.Time err error }{ "valid payload": { payload: makePIAPayload(t, exampleToken, examplePort, exampleExpiration), port: examplePort, token: exampleToken, expiration: exampleExpiration, err: nil, }, "invalid base64 payload": { payload: "invalid", err: errors.New("illegal base64 data at input byte 4: for payload: invalid"), }, "invalid json payload": { payload: base64.StdEncoding.EncodeToString([]byte{1}), err: errors.New("invalid character '\\x01' looking for beginning of value: for data: \x01"), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() port, token, expiration, err := unpackPayload(testCase.payload) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { require.NoError(t, err) } assert.Equal(t, testCase.port, port) assert.Equal(t, testCase.token, token) assert.Equal(t, testCase.expiration, expiration) }) } } func makePIAPayload(t *testing.T, token string, port uint16, expiration time.Time) (payload string) { t.Helper() data := piaPayload{ Token: token, Port: port, Expiration: expiration, } b, err := json.Marshal(data) require.NoError(t, err) return base64.StdEncoding.EncodeToString(b) } func Test_replaceInString(t *testing.T) { t.Parallel() testCases := map[string]struct { s string substitutions map[string]string result string }{ "empty": {}, "multiple replacements": { s: "https://test.com/username/password/", substitutions: map[string]string{ "username": "xxx", "password": "yyy", }, result: "https://test.com/xxx/yyy/", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() result := replaceInString(testCase.s, testCase.substitutions) assert.Equal(t, testCase.result, result) }) } } ================================================ FILE: internal/provider/privateinternetaccess/presets/presets.go ================================================ package presets const ( None = "none" Normal = "normal" Strong = "strong" ) ================================================ FILE: internal/provider/privateinternetaccess/provider.go ================================================ package privateinternetaccess import ( "math/rand" "net/http" "time" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/privateinternetaccess/updater" ) type Provider struct { storage common.Storage randSource rand.Source timeNow func() time.Time common.Fetcher // Port forwarding portForwardPath string } func New(storage common.Storage, randSource rand.Source, timeNow func() time.Time, client *http.Client, ) *Provider { const jsonPortForwardPath = "/gluetun/piaportforward.json" return &Provider{ storage: storage, timeNow: timeNow, randSource: randSource, portForwardPath: jsonPortForwardPath, Fetcher: updater.New(client), } } func (p *Provider) Name() string { return providers.PrivateInternetAccess } ================================================ FILE: internal/provider/privateinternetaccess/updater/api.go ================================================ package updater import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/netip" ) var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") type apiData struct { Regions []regionData `json:"regions"` } type regionData struct { Name string `json:"name"` DNS string `json:"dns"` PortForward bool `json:"port_forward"` Offline bool `json:"offline"` Servers struct { UDP []serverData `json:"ovpnudp"` TCP []serverData `json:"ovpntcp"` } `json:"servers"` } type serverData struct { IP netip.Addr `json:"ip"` CN string `json:"cn"` } func fetchAPI(ctx context.Context, client *http.Client) ( data apiData, err error, ) { const url = "https://serverlist.piaservers.net/vpninfo/servers/v6" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return data, err } response, err := client.Do(request) if err != nil { return data, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { return data, fmt.Errorf("%w: %d %s", ErrHTTPStatusCodeNotOK, response.StatusCode, response.Status) } b, err := io.ReadAll(response.Body) if err != nil { return data, err } if err := response.Body.Close(); err != nil { return data, err } // remove key/signature at the bottom i := bytes.IndexRune(b, '\n') b = b[:i] if err := json.Unmarshal(b, &data); err != nil { return data, err } return data, nil } ================================================ FILE: internal/provider/privateinternetaccess/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type nameToServer map[string]models.Server func (nts nameToServer) add(name, hostname, region string, tcp, udp, portForward bool, ip netip.Addr, ) (change bool) { server, ok := nts[name] if !ok { change = true server.VPN = vpn.OpenVPN server.ServerName = name server.Hostname = hostname server.Region = region server.PortForward = portForward } if !server.TCP && tcp { change = true server.TCP = tcp } if !server.UDP && udp { change = true server.UDP = udp } ipFound := false for _, existingIP := range server.IPs { if ip == existingIP { ipFound = true break } } if !ipFound { change = true server.IPs = append(server.IPs, ip) } nts[name] = server return change } func (nts nameToServer) toServersSlice() (servers []models.Server) { servers = make([]models.Server, 0, len(nts)) for _, server := range nts { servers = append(servers, server) } return servers } ================================================ FILE: internal/provider/privateinternetaccess/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "time" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { nts := make(nameToServer) noChangeCounter := 0 const maxNoChange = 10 const betweenDuration = 200 * time.Millisecond const maxDuration = time.Minute maxTimer := time.NewTimer(maxDuration) for { data, err := fetchAPI(ctx, u.client) if err != nil { return nil, err } change := addData(data.Regions, nts) if !change { noChangeCounter++ if noChangeCounter == maxNoChange { break } } else { noChangeCounter = 0 } timer := time.NewTimer(betweenDuration) maxTimeout := false select { case <-ctx.Done(): if !timer.Stop() { <-timer.C } if !maxTimer.Stop() { <-timer.C } return nil, ctx.Err() case <-timer.C: case <-maxTimer.C: if !timer.Stop() { <-timer.C } maxTimeout = true } if maxTimeout { break } } servers = nts.toServersSlice() if len(servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } sort.Sort(models.SortableServers(servers)) return servers, nil } func addData(regions []regionData, nts nameToServer) (change bool) { for _, region := range regions { for _, server := range region.Servers.UDP { const tcp, udp = false, true if nts.add(server.CN, region.DNS, region.Name, tcp, udp, region.PortForward, server.IP) { change = true } } for _, server := range region.Servers.TCP { const tcp, udp = true, false if nts.add(server.CN, region.DNS, region.Name, tcp, udp, region.PortForward, server.IP) { change = true } } } return change } ================================================ FILE: internal/provider/privateinternetaccess/updater/updater.go ================================================ package updater import ( "net/http" ) type Updater struct { client *http.Client } func New(client *http.Client) *Updater { return &Updater{ client: client, } } ================================================ FILE: internal/provider/privatevpn/connection.go ================================================ package privatevpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 1194, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/privatevpn/openvpnconf.go ================================================ package privatevpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES128gcm, }, Auth: openvpn.SHA256, CAs: []string{"MIIErTCCA5WgAwIBAgIJAPp3HmtYGCIOMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJTRTELMAkGA1UECBMCQ0ExEjAQBgNVBAcTCVN0b2NraG9sbTETMBEGA1UEChMKUHJpdmF0ZVZQTjEWMBQGA1UEAxMNUHJpdmF0ZVZQTiBDQTETMBEGA1UEKRMKUHJpdmF0ZVZQTjEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBwcml2YXR2cG4uc2UwHhcNMTcwNTI0MjAxNTM3WhcNMjcwNTIyMjAxNTM3WjCBlTELMAkGA1UEBhMCU0UxCzAJBgNVBAgTAkNBMRIwEAYDVQQHEwlTdG9ja2hvbG0xEzARBgNVBAoTClByaXZhdGVWUE4xFjAUBgNVBAMTDVByaXZhdGVWUE4gQ0ExEzARBgNVBCkTClByaXZhdGVWUE4xIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAcHJpdmF0dnBuLnNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwjqTWbKk85WN8nd1TaBgBnBHceQWosp8mMHr4xWMTLagWRcq2Modfy7RPnBo9kyn5j/ZZwL/21gLWJbxidurGyZZdEV9Wb5KQl3DUNxa19kwAbkkEchdES61e99MjmQlWq4vGPXAHjEuDxOZ906AXglCyAvQoXcYW0mNm9yybWllVp1aBrCaZQrNYr7eoFvolqJXdQQ3FFsTBCYa5bHJcKQLBfsiqdJ/BAxhNkQtcmWNSgLy16qoxQpCsxNCxAcYnasuL4rwOP+RazBkJTPXA/2neCJC5rt+sXR9CSfiXdJGwMpYso5m31ZEd7JL2+is0FeAZ6ETrKMnEZMsTpTkdwIDAQABo4H9MIH6MB0GA1UdDgQWBBRCkBlC94zCY6VNncMnK36JxT7bazCBygYDVR0jBIHCMIG/gBRCkBlC94zCY6VNncMnK36JxT7ba6GBm6SBmDCBlTELMAkGA1UEBhMCU0UxCzAJBgNVBAgTAkNBMRIwEAYDVQQHEwlTdG9ja2hvbG0xEzARBgNVBAoTClByaXZhdGVWUE4xFjAUBgNVBAMTDVByaXZhdGVWUE4gQ0ExEzARBgNVBCkTClByaXZhdGVWUE4xIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAcHJpdmF0dnBuLnNlggkA+ncea1gYIg4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAayugvExKDHar7t1zyYn99Vt1NMf46J8x4Dt9TNjBml5mR9nKvWmreMUuuOhLaO8Da466KGdXeDFNLcBYZd/J2iTawE6/3fmrML9H2sa+k/+E4uU5nQ84ZGOwCinCkMalVjM8EZ0/H2RZvLAVUnvPuUz2JfJhmiRkbeE75fVuqpAm9qdE+/7lg3oICYzxa6BJPxT+Imdjy3Q/FWdsXqX6aallhohPAZlMZgZL4eXECnV8rAfzyjOJggkMDZQt3Flc0Y4iDMfzrEhSOWMkNFBFwjK0F/dnhsX+fPX6GGRpUZgZcCt/hWvypqc05/SnrdKM/vV/jV/yZe0NVzY7S8Ur5g=="}, //nolint:lll TLSAuth: "f035a3acaeffb5aedb5bc920bca26ca7ac701da88249008e03563eba6af6d2625ac8ba1e5e0921f76be004c24ae4fd43e42caf0f84269ad44d8d4c14ba45b1386f251c7330d8cc56afd16d516835645651ef7e87a723ac78ae0d49da5b2f2d78ceafcff7a6367d0712628a6547e5fc8fef93c87f7bcd6107c7b1ae68396e944aadae50111d01a5d0c67223d667bdbf1bf434bdef03644ecc5386e102724eef3872f66547eb66dc0fea8286069cb082a41c89083b28fe9f4cec25d48017f26c4fd85b25ddf2ae5448dd2bccf3eef2aacf42ef1e88c3248c689423d0b05a641e9e79dd6b9b5c40f0cc21ffdc891b9eee951477b537261cb56a958a4f490d961ecb", //nolint:lll MssFix: 1320, UDPLines: []string{ "key-direction 1", }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/privatevpn/portforward.go ================================================ package privatevpn import ( "context" "encoding/json" "errors" "fmt" "io" "net/http" "regexp" "strconv" "time" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/utils" ) var regexPort = regexp.MustCompile(`[1-9][0-9]{0,4}`) var ErrPortForwardedNotFound = errors.New("port forwarded not found") // PortForward obtains a VPN server side port forwarded from the PrivateVPN API. // It returns 0 if all ports are to forwarded on a dedicated server IP. func (p *Provider) PortForward(ctx context.Context, objects utils.PortForwardObjects) ( ports []uint16, err error, ) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 10 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() url := "https://connect.pvdatanet.com/v3/Api/port?ip[]=" + objects.InternalIP.String() request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, fmt.Errorf("creating HTTP request: %w", err) } response, err := objects.Client.Do(request) if err != nil { return nil, fmt.Errorf("sending HTTP request: %w", err) } if response.StatusCode != http.StatusOK { return nil, fmt.Errorf("%w: %d %s", common.ErrHTTPStatusCodeNotOK, response.StatusCode, response.Status) } defer response.Body.Close() bytes, err := io.ReadAll(response.Body) if err != nil { return nil, fmt.Errorf("reading response body: %w", err) } var data struct { Status string `json:"status"` Supported bool `json:"supported"` } err = json.Unmarshal(bytes, &data) if err != nil { return nil, fmt.Errorf("decoding JSON response: %w; data is: %s", err, string(bytes)) } else if !data.Supported { return nil, fmt.Errorf("%w for this VPN server", common.ErrPortForwardNotSupported) } portString := regexPort.FindString(data.Status) if portString == "" { return nil, fmt.Errorf("%w: in status %q", ErrPortForwardedNotFound, data.Status) } const base, bitSize = 10, 16 portUint64, err := strconv.ParseUint(portString, base, bitSize) if err != nil { return nil, fmt.Errorf("parsing port: %w", err) } return []uint16{uint16(portUint64)}, nil } func (p *Provider) KeepPortForward(ctx context.Context, _ utils.PortForwardObjects, ) (err error) { <-ctx.Done() return ctx.Err() } ================================================ FILE: internal/provider/privatevpn/portforward_test.go ================================================ package privatevpn import ( "bytes" "context" "errors" "io" "net/http" "net/netip" "testing" "github.com/qdm12/gluetun/internal/provider/utils" "github.com/stretchr/testify/assert" ) type roundTripFunc func(r *http.Request) (*http.Response, error) func (s roundTripFunc) RoundTrip(r *http.Request) (*http.Response, error) { return s(r) } func Test_Provider_PortForward(t *testing.T) { t.Parallel() errTest := errors.New("test error") canceledCtx, cancel := context.WithCancel(context.Background()) cancel() testCases := map[string]struct { ctx context.Context objects utils.PortForwardObjects ports []uint16 errMessage string }{ "canceled context": { ctx: canceledCtx, objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return nil, r.Context().Err() }), }, }, errMessage: `sending HTTP request: Get ` + `"https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10": ` + `context canceled`, }, "http_error": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return nil, errTest }), }, }, errMessage: `sending HTTP request: Get ` + `"https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10": ` + `test error`, }, "bad_status_code": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return &http.Response{ StatusCode: http.StatusBadRequest, Status: http.StatusText(http.StatusBadRequest), }, nil }), }, }, errMessage: "HTTP status code not OK: 400 Bad Request", }, "empty_response": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewReader(nil)), }, nil }), }, }, errMessage: "decoding JSON response: unexpected end of JSON input; data is: ", }, "invalid_JSON": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewBufferString(`invalid json`)), }, nil }), }, }, errMessage: "decoding JSON response: invalid character 'i' looking for " + "beginning of value; data is: invalid json", }, "not_supported": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewBufferString(`{"supported":false}`)), }, nil }), }, }, errMessage: "port forwarding not supported for this VPN server", }, "port_not_found": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewBufferString(`{"supported":true,"status":"no port here"}`)), }, nil }), }, }, errMessage: "port forwarded not found: in status \"no port here\"", }, "port_too_big": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewBufferString(`{"supported":true,"status":"Port 91527 UDP/TCP"}`)), }, nil }), }, }, errMessage: "parsing port: strconv.ParseUint: parsing \"91527\": value out of range", }, "success": { ctx: context.Background(), objects: utils.PortForwardObjects{ InternalIP: netip.AddrFrom4([4]byte{10, 10, 10, 10}), Client: &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, "https://connect.pvdatanet.com/v3/Api/port?ip[]=10.10.10.10", r.URL.String()) return &http.Response{ StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewBufferString(`{"supported":true,"status":"Port 61527 UDP/TCP"}`)), }, nil }), }, }, ports: []uint16{61527}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() provider := Provider{} ports, err := provider.PortForward(testCase.ctx, testCase.objects) assert.Equal(t, testCase.ports, ports) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/provider/privatevpn/provider.go ================================================ package privatevpn import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/privatevpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Privatevpn } ================================================ FILE: internal/provider/privatevpn/updater/countries.go ================================================ package updater import "strings" func codeToCountry(countryCode string, countryCodes map[string]string) ( country string, warning string, ) { countryCode = strings.ToLower(countryCode) country, ok := countryCodes[countryCode] if !ok { warning = "unknown country code: " + countryCode country = countryCode } return country, warning } ================================================ FILE: internal/provider/privatevpn/updater/filename.go ================================================ package updater import ( "errors" "fmt" "regexp" "strings" ) var trailingNumber = regexp.MustCompile(` [0-9]+$`) var ( errBadPrefix = errors.New("bad prefix in file name") errBadSuffix = errors.New("bad suffix in file name") errNotEnoughParts = errors.New("not enough parts in file name") ) func parseFilename(fileName string) ( countryCode, city string, err error, ) { fileName = strings.ReplaceAll(fileName, " ", "") // remove spaces const prefix = "PrivateVPN-" if !strings.HasPrefix(fileName, prefix) { return "", "", fmt.Errorf("%w: %s", errBadPrefix, fileName) } s := strings.TrimPrefix(fileName, prefix) const tcpSuffix = "-TUN-443.ovpn" const udpSuffix = "-TUN-1194.ovpn" switch { case strings.HasSuffix(fileName, tcpSuffix): s = strings.TrimSuffix(s, tcpSuffix) case strings.HasSuffix(fileName, udpSuffix): s = strings.TrimSuffix(s, udpSuffix) default: return "", "", fmt.Errorf("%w: %s", errBadSuffix, fileName) } s = trailingNumber.ReplaceAllString(s, "") parts := strings.Split(s, "-") const minParts = 2 if len(parts) < minParts { return "", "", fmt.Errorf("%w: %s", errNotEnoughParts, fileName) } countryCode, city = parts[0], parts[1] countryCode = strings.ToLower(countryCode) if countryCode == "co" && strings.HasPrefix(city, "Bogot") { city = "Bogota" } return countryCode, city, nil } ================================================ FILE: internal/provider/privatevpn/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type hostToServer map[string]models.Server // TODO check if server supports TCP and UDP. func (hts hostToServer) add(host, country, city string) { server, ok := hts[host] if ok { return } server.VPN = vpn.OpenVPN server.Hostname = host server.Country = country server.City = city server.UDP = true server.TCP = 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 } ================================================ FILE: internal/provider/privatevpn/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 6 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/privatevpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "strings" "github.com/qdm12/gluetun/internal/constants" "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, ) { const url = "https://privatevpn.com/client/PrivateVPN-TUN.zip" contents, err := u.unzipper.FetchAndExtract(ctx, url) 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) } countryCodes := constants.CountryCodes() hts := make(hostToServer) noHostnameServers := make([]models.Server, 0, 1) // there is only one for now for fileName, content := range contents { if !strings.HasSuffix(fileName, ".ovpn") { continue // not an OpenVPN file } countryCode, city, err := parseFilename(fileName) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error() + " in " + fileName) continue } country, warning := codeToCountry(countryCode, countryCodes) if warning != "" { u.warner.Warn(warning) } host, warning, err := openvpn.ExtractHost(content) if warning != "" { u.warner.Warn(warning) } if err == nil { // found host hts.add(host, country, city) continue } ips, extractIPErr := openvpn.ExtractIPs(content) if warning != "" { u.warner.Warn(warning) } if extractIPErr != nil { // treat extract host error as warning and go to next file u.warner.Warn(extractIPErr.Error() + " in " + fileName) continue } server := models.Server{ VPN: vpn.OpenVPN, Country: country, City: city, IPs: ips, UDP: true, TCP: true, } noHostnameServers = append(noHostnameServers, server) } if len(noHostnameServers)+len(hts) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers)+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) } if err != nil { return nil, err } if len(noHostnameServers)+len(hostToIPs) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() servers = append(servers, noHostnameServers...) sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/privatevpn/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/protonvpn/connection.go ================================================ package protonvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 1194, 51820) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/protonvpn/openvpnconf.go ================================================ package protonvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, }, Auth: openvpn.SHA512, MssFix: 1450, TunMTUExtra: 32, RenegDisabled: true, KeyDirection: "1", CAs: []string{"MIIFnTCCA4WgAwIBAgIUCI574SM3Lyh47GyNl0WAOYrqb5QwDQYJKoZIhvcNAQELBQAwXjELMAkGA1UEBhMCQ0gxHzAdBgNVBAoMFlByb3RvbiBUZWNobm9sb2dpZXMgQUcxEjAQBgNVBAsMCVByb3RvblZQTjEaMBgGA1UEAwwRUHJvdG9uVlBOIFJvb3QgQ0EwHhcNMTkxMDE3MDgwNjQxWhcNMzkxMDEyMDgwNjQxWjBeMQswCQYDVQQGEwJDSDEfMB0GA1UECgwWUHJvdG9uIFRlY2hub2xvZ2llcyBBRzESMBAGA1UECwwJUHJvdG9uVlBOMRowGAYDVQQDDBFQcm90b25WUE4gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMkUT7zMUS5C+NjQ7YoGpVFlfbN9HFgG4JiKfHB8QxnPPRgyTi0zVOAj1ImsRilauY8Ddm5dQtd8qcApoz6oCx5cFiiSQG2uyhS/59Zl5wqIkw1o+CgwZgeWkq04lcrxhhfPgJZRFjrYVezy/Z2Ssd18s3/FFNQ+2iV1KC2Kz8eSPr50u+l9vEKsKiNGkJTdlWjoDKZM2C15i/h8Smi+PdJlx7WMTtYoVC1Fzq0raCPDQl18kspu11b6d8ECPWghKcDIIKuA0r0nGqF1GvH1AmbC/xUaNrKgz9AfioZLMP/l22tVG3KKM1ku0eYHX7NzNHgkM2JKnBBannImQQBGTAcvvUlnfF3AHx4vzx7HahpBz8ebThx2uv+vzu8lCVEcKjQObGwLbAONJN2enug8hwSSZQv7tz7onDQWlYh0El5fnkrEQGbukNnSyOqTwfobvBllIPzBqdO38eZFA0YTlH9plYjIjPjGl931lFAA3G9t0x7nxAauLXN5QVp1yoF1tzXc5kN0SFAasM9VtVEOSMaGHLKhF+IMyVX8h5IuIRC8u5O672r7cHS+Dtx87LjxypqNhmbf1TWyLJSoh0qYhMr+BbO7+N6zKRIZPI5bMXc8Be2pQwbSA4ZrDvSjFC9yDXmSuZTyVo6Bqi/KCUZeaXKof68oNxVYeGowNeQdg/znAgMBAAGjUzBRMB0GA1UdDgQWBBR44WtTuEKCaPPUltYEHZoyhJo+4TAfBgNVHSMEGDAWgBR44WtTuEKCaPPUltYEHZoyhJo+4TAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQBBmzCQlHxOJ6izys3TVpaze+rUkA9GejgsB2DZXIcm4Lj/SNzQsPlZRu4S0IZV253dbE1DoWlHanw5lnXwx8iU82X7jdm/5uZOwj2NqSqTbTn0WLAC6khEKKe5bPTf18UOcwN82Le3AnkwcNAaBO5/TzFQVgnVedXr2g6rmpp9gdedeEl9acB7xqfYfkrmijqYMm+xeG2rXaanch3HjweMDuZdT/Ub5G6oir0KowftlA1ytjXRg+X+yWymTpF/zGLYfSodWWjMKhpzZtRJZ+9B0pWXUyY7SuCj5T5SMIAux3NQQ46wSbHRolIlwh7zD7kBgkyLe7ByLvGFKa2Vw4PuWjqYwrRbFjb2+EKAwPu6VTWz/QQTU8oJewGFipw94Bi61zuaPvF1qZCHgYhVojRy6KcqncX2Hx9hjfVxspBZDrVH6uofCmd99GmVu+qizybWQTrPaubfc/a2jJIbXc2bRQjYj/qmjE3hTlmO3k7VEP6i8CLhEl+dX75aZw9StkqjdpIApYwX6XNDqVuGzfeTXXclk4N4aDPwPFM/Yo/eKnvlNlKbljWdMYkfx8r37aOHpchH34cv0Jb5Im+1H07ywnshXNfUhRazOpubJRHnbjDuBwWS1/Vwp5AJ+QHsPXhJdl3qHc1szJZVJb3VyAWvG/bWApKfFuZX18tiI4N0EA=="}, //nolint:lll TLSCrypt: "6acef03f62675b4b1bbd03e53b187727423cea742242106cb2916a8a4c8297563d22c7e5cef430b1103c6f66eb1fc5b375a672f158e2e2e936c3faa48b035a6de17beaac23b5f03b10b868d53d03521d8ba115059da777a60cbfd7b2c9c5747278a15b8f6e68a3ef7fd583ec9f398c8bd4735dab40cbd1e3c62a822e97489186c30a0b48c7c38ea32ceb056d3fa5a710e10ccc7a0ddb363b08c3d2777a3395e10c0b6080f56309192ab5aacd4b45f55da61fc77af39bd81a19218a79762c33862df55785075f37d8c71dc8a42097ee43344739a0dd48d03025b0450cf1fb5e8caeb893d9a96d1f15519bb3c4dcb40ee316672ea16c012664f8a9f11255518deb", //nolint:lll UDPLines: []string{ "fast-io", }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/protonvpn/portforward.go ================================================ package protonvpn import ( "context" "errors" "fmt" "strings" "time" "github.com/qdm12/gluetun/internal/natpmp" "github.com/qdm12/gluetun/internal/provider/utils" ) var ErrServerPortForwardNotSupported = errors.New("server does not support port forwarding") // PortForward obtains a VPN server side port forwarded from ProtonVPN gateway. func (p *Provider) PortForward(ctx context.Context, objects utils.PortForwardObjects) ( ports []uint16, err error, ) { if !objects.CanPortForward { return nil, fmt.Errorf("%w", ErrServerPortForwardNotSupported) } client := natpmp.New() _, externalIPv4Address, err := client.ExternalAddress(ctx, objects.Gateway) if err != nil { switch { case strings.HasSuffix(err.Error(), "connection refused"): err = fmt.Errorf("%w - make sure you have +pmp at the end of your OpenVPN username "+ "or that your Wireguard key is set to work with PMP", err) case strings.Contains(err.Error(), "i/o timeout"): err = fmt.Errorf("%w - make sure FIREWALL_OUTBOUND_SUBNETS does not conflict with "+ "the VPN gateway ip address %s", err, objects.Gateway) } return nil, fmt.Errorf("getting external IPv4 address: %w", err) } logger := objects.Logger logger.Info("gateway external IPv4 address is " + externalIPv4Address.String()) const internalPort, externalPort = 0, 1 const lifetime = 60 * time.Second _, _, assignedUDPExternalPort, assignedLifetime, err := client.AddPortMapping(ctx, objects.Gateway, "udp", internalPort, externalPort, lifetime) if err != nil { return nil, fmt.Errorf("adding UDP port mapping: %w", err) } checkLifetime(logger, "UDP", lifetime, assignedLifetime) _, _, assignedTCPExternalPort, assignedLifetime, err := client.AddPortMapping(ctx, objects.Gateway, "tcp", internalPort, externalPort, lifetime) if err != nil { return nil, fmt.Errorf("adding TCP port mapping: %w", err) } checkLifetime(logger, "TCP", lifetime, assignedLifetime) checkExternalPorts(logger, assignedUDPExternalPort, assignedTCPExternalPort) p.portForwarded = assignedTCPExternalPort return []uint16{assignedTCPExternalPort}, nil } func checkLifetime(logger utils.Logger, protocol string, requested, actual time.Duration, ) { if requested != actual { logger.Warn(fmt.Sprintf("assigned %s port lifetime %s differs"+ " from requested lifetime %s", strings.ToUpper(protocol), actual, requested)) } } func checkExternalPorts(logger utils.Logger, udpPort, tcpPort uint16) { if udpPort != tcpPort { logger.Warn(fmt.Sprintf("UDP external port %d differs from TCP external port %d", udpPort, tcpPort)) } } var ErrExternalPortChanged = errors.New("external port changed") func (p *Provider) KeepPortForward(ctx context.Context, objects utils.PortForwardObjects, ) (err error) { client := natpmp.New() const refreshTimeout = 45 * time.Second timer := time.NewTimer(refreshTimeout) logger := objects.Logger for { select { case <-ctx.Done(): return ctx.Err() case <-timer.C: } objects.Logger.Debug("refreshing port forward since 45 seconds have elapsed") networkProtocols := []string{"udp", "tcp"} const internalPort = 0 const lifetime = 60 * time.Second for _, networkProtocol := range networkProtocols { _, _, assignedExternalPort, assignedLiftetime, err := client.AddPortMapping(ctx, objects.Gateway, networkProtocol, internalPort, p.portForwarded, lifetime) if err != nil { return fmt.Errorf("adding port mapping: %w", err) } if assignedLiftetime != lifetime { logger.Warn(fmt.Sprintf("assigned lifetime %s differs"+ " from requested lifetime %s", assignedLiftetime, lifetime)) } if p.portForwarded != assignedExternalPort { return fmt.Errorf("%w: %d changed to %d", ErrExternalPortChanged, p.portForwarded, assignedExternalPort) } } objects.Logger.Debug(fmt.Sprintf("port forwarded %d maintained", p.portForwarded)) timer.Reset(refreshTimeout) } } ================================================ FILE: internal/provider/protonvpn/provider.go ================================================ package protonvpn import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/protonvpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher portForwarded uint16 } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, email, password string, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner, email, password), } } func (p *Provider) Name() string { return providers.Protonvpn } ================================================ FILE: internal/provider/protonvpn/updater/api.go ================================================ package updater import ( "bytes" "context" crand "crypto/rand" "encoding/base64" "encoding/json" "errors" "fmt" "io" "math/rand/v2" "net/http" "net/netip" "slices" "strings" srp "github.com/ProtonMail/go-srp" ) // apiClient is a minimal Proton v4 API client which can handle all the // oddities of Proton's authentication flow they want to keep hidden // from the public. type apiClient struct { apiURLBase string httpClient *http.Client appVersion string userAgent string generator *rand.ChaCha8 } // newAPIClient returns an [apiClient] with sane defaults matching Proton's // insane expectations. func newAPIClient(ctx context.Context, httpClient *http.Client) (client *apiClient, err error) { var seed [32]byte _, _ = crand.Read(seed[:]) generator := rand.NewChaCha8(seed) // Pick a random user agent from this list. Because I'm not going to tell // Proton shit on where all these funny requests are coming from, given their // unhelpfulness in figuring out their authentication flow. userAgents := [...]string{ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:143.0) Gecko/20100101 Firefox/143.0", "Mozilla/5.0 (X11; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0", } userAgent := userAgents[generator.Uint64()%uint64(len(userAgents))] appVersion, err := getMostRecentStableTag(ctx, httpClient) if err != nil { return nil, fmt.Errorf("getting most recent version for proton app: %w", err) } return &apiClient{ apiURLBase: "https://account.proton.me/api", httpClient: httpClient, appVersion: appVersion, userAgent: userAgent, generator: generator, }, nil } var ErrCodeNotSuccess = errors.New("response code is not success") // setHeaders sets the minimal necessary headers for Proton API requests // to succeed without being blocked by their "security" measures. // See for example [getMostRecentStableTag] on how the app version must // be set to a recent version or they block your request. "SeCuRiTy"... func (c *apiClient) setHeaders(request *http.Request, cookie cookie) { request.Header.Set("Cookie", cookie.String()) request.Header.Set("User-Agent", c.userAgent) request.Header.Set("x-pm-appversion", c.appVersion) request.Header.Set("x-pm-locale", "en_US") request.Header.Set("x-pm-uid", cookie.uid) } // authenticate performs the full Proton authentication flow // to obtain an authenticated cookie (uid, token and session ID). func (c *apiClient) authenticate(ctx context.Context, email, password string, ) (authCookie cookie, err error) { sessionID, err := c.getSessionID(ctx) if err != nil { return cookie{}, fmt.Errorf("getting session ID: %w", err) } tokenType, accessToken, refreshToken, uid, err := c.getUnauthSession(ctx, sessionID) if err != nil { return cookie{}, fmt.Errorf("getting unauthenticated session data: %w", err) } cookieToken, err := c.cookieToken(ctx, sessionID, tokenType, accessToken, refreshToken, uid) if err != nil { return cookie{}, fmt.Errorf("getting cookie token: %w", err) } unauthCookie := cookie{ uid: uid, token: cookieToken, sessionID: sessionID, } username, modulusPGPClearSigned, serverEphemeralBase64, saltBase64, srpSessionHex, version, err := c.authInfo(ctx, email, unauthCookie) if err != nil { return cookie{}, fmt.Errorf("getting auth information: %w", err) } // Prepare SRP proof generator using Proton's official SRP parameters and hashing. srpAuth, err := srp.NewAuth(version, username, []byte(password), saltBase64, modulusPGPClearSigned, serverEphemeralBase64) if err != nil { return cookie{}, fmt.Errorf("initializing SRP auth: %w", err) } // Generate SRP proofs (A, M1) with the usual 2048-bit modulus. const modulusBits = 2048 proofs, err := srpAuth.GenerateProofs(modulusBits) if err != nil { return cookie{}, fmt.Errorf("generating SRP proofs: %w", err) } authCookie, err = c.auth(ctx, unauthCookie, email, srpSessionHex, proofs) if err != nil { return cookie{}, fmt.Errorf("authentifying: %w", err) } return authCookie, nil } var ErrSessionIDNotFound = errors.New("session ID not found in cookies") func (c *apiClient) getSessionID(ctx context.Context) (sessionID string, err error) { const url = "https://account.proton.me/vpn" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return "", fmt.Errorf("creating request: %w", err) } response, err := c.httpClient.Do(request) if err != nil { return "", err } err = response.Body.Close() if err != nil { return "", fmt.Errorf("closing response body: %w", err) } for _, cookie := range response.Cookies() { if cookie.Name == "Session-Id" { return cookie.Value, nil } } return "", fmt.Errorf("%w", ErrSessionIDNotFound) } var ErrDataFieldMissing = errors.New("data field missing in response") func (c *apiClient) getUnauthSession(ctx context.Context, sessionID string) ( tokenType, accessToken, refreshToken, uid string, err error, ) { request, err := http.NewRequestWithContext(ctx, http.MethodPost, c.apiURLBase+"/auth/v4/sessions", nil) if err != nil { return "", "", "", "", fmt.Errorf("creating request: %w", err) } unauthCookie := cookie{ sessionID: sessionID, } c.setHeaders(request, unauthCookie) response, err := c.httpClient.Do(request) if err != nil { return "", "", "", "", err } defer response.Body.Close() responseBody, err := io.ReadAll(response.Body) if err != nil { return "", "", "", "", fmt.Errorf("reading response body: %w", err) } else if response.StatusCode != http.StatusOK { return "", "", "", "", buildError(response.StatusCode, responseBody) } var data struct { Code uint `json:"Code"` // 1000 on success AccessToken string `json:"AccessToken"` // 32-chars lowercase and digits RefreshToken string `json:"RefreshToken"` // 32-chars lowercase and digits TokenType string `json:"TokenType"` // "Bearer" Scopes []string `json:"Scopes"` // should be [] for our usage UID string `json:"UID"` // 32-chars lowercase and digits LocalID uint `json:"LocalID"` // 0 in my case } err = json.Unmarshal(responseBody, &data) if err != nil { return "", "", "", "", fmt.Errorf("decoding response body: %w", err) } const successCode = 1000 switch { case data.Code != successCode: return "", "", "", "", fmt.Errorf("%w: expected %d got %d", ErrCodeNotSuccess, successCode, data.Code) case data.AccessToken == "": return "", "", "", "", fmt.Errorf("%w: access token is empty", ErrDataFieldMissing) case data.RefreshToken == "": return "", "", "", "", fmt.Errorf("%w: refresh token is empty", ErrDataFieldMissing) case data.TokenType == "": return "", "", "", "", fmt.Errorf("%w: token type is empty", ErrDataFieldMissing) case data.UID == "": return "", "", "", "", fmt.Errorf("%w: UID is empty", ErrDataFieldMissing) } // Ignore Scopes and LocalID fields, we don't use them. return data.TokenType, data.AccessToken, data.RefreshToken, data.UID, nil } var ErrUIDMismatch = errors.New("UID in response does not match request UID") func (c *apiClient) cookieToken(ctx context.Context, sessionID, tokenType, accessToken, refreshToken, uid string, ) (cookieToken string, err error) { type requestBodySchema struct { GrantType string `json:"GrantType"` // "refresh_token" Persistent uint `json:"Persistent"` // 0 RedirectURI string `json:"RedirectURI"` // "https://protonmail.com" RefreshToken string `json:"RefreshToken"` // 32-chars lowercase and digits ResponseType string `json:"ResponseType"` // "token" State string `json:"State"` // 24-chars letters and digits UID string `json:"UID"` // 32-chars lowercase and digits } requestBody := requestBodySchema{ GrantType: "refresh_token", Persistent: 0, RedirectURI: "https://protonmail.com", RefreshToken: refreshToken, ResponseType: "token", State: generateLettersDigits(c.generator, 24), //nolint:mnd UID: uid, } buffer := bytes.NewBuffer(nil) encoder := json.NewEncoder(buffer) if err := encoder.Encode(requestBody); err != nil { return "", fmt.Errorf("encoding request body: %w", err) } request, err := http.NewRequestWithContext(ctx, http.MethodPost, c.apiURLBase+"/core/v4/auth/cookies", buffer) if err != nil { return "", fmt.Errorf("creating request: %w", err) } unauthCookie := cookie{ uid: uid, sessionID: sessionID, } c.setHeaders(request, unauthCookie) request.Header.Set("Authorization", tokenType+" "+accessToken) response, err := c.httpClient.Do(request) if err != nil { return "", err } defer response.Body.Close() responseBody, err := io.ReadAll(response.Body) if err != nil { return "", fmt.Errorf("reading response body: %w", err) } else if response.StatusCode != http.StatusOK { return "", buildError(response.StatusCode, responseBody) } var cookies struct { Code uint `json:"Code"` // 1000 on success UID string `json:"UID"` // should match request UID LocalID uint `json:"LocalID"` // 0 RefreshCounter uint `json:"RefreshCounter"` // 1 } err = json.Unmarshal(responseBody, &cookies) if err != nil { return "", fmt.Errorf("decoding response body: %w", err) } const successCode = 1000 switch { case cookies.Code != successCode: return "", fmt.Errorf("%w: expected %d got %d", ErrCodeNotSuccess, successCode, cookies.Code) case cookies.UID != requestBody.UID: return "", fmt.Errorf("%w: expected %s got %s", ErrUIDMismatch, requestBody.UID, cookies.UID) } // Ignore LocalID and RefreshCounter fields, we don't use them. for _, cookie := range response.Cookies() { if cookie.Name == "AUTH-"+uid { return cookie.Value, nil } } return "", fmt.Errorf("%w", ErrAuthCookieNotFound) } var ErrUsernameDoesNotExist = errors.New("username does not exist") // authInfo fetches SRP parameters for the account. func (c *apiClient) authInfo(ctx context.Context, email string, unauthCookie cookie) ( username, modulusPGPClearSigned, serverEphemeralBase64, saltBase64, srpSessionHex string, version int, err error, ) { type requestBodySchema struct { Intent string `json:"Intent"` // "Proton" Username string `json:"Username"` } requestBody := requestBodySchema{ Intent: "Proton", Username: email, } buffer := bytes.NewBuffer(nil) encoder := json.NewEncoder(buffer) if err := encoder.Encode(requestBody); err != nil { return "", "", "", "", "", 0, fmt.Errorf("encoding request body: %w", err) } request, err := http.NewRequestWithContext(ctx, http.MethodPost, c.apiURLBase+"/core/v4/auth/info", buffer) if err != nil { return "", "", "", "", "", 0, fmt.Errorf("creating request: %w", err) } c.setHeaders(request, unauthCookie) response, err := c.httpClient.Do(request) if err != nil { return "", "", "", "", "", 0, err } defer response.Body.Close() responseBody, err := io.ReadAll(response.Body) if err != nil { return "", "", "", "", "", 0, fmt.Errorf("reading response body: %w", err) } else if response.StatusCode != http.StatusOK { return "", "", "", "", "", 0, buildError(response.StatusCode, responseBody) } var info struct { Code uint `json:"Code"` // 1000 on success Modulus string `json:"Modulus"` // PGP clearsigned modulus string ServerEphemeral string `json:"ServerEphemeral"` // base64 Version *uint `json:"Version,omitempty"` // 4 as of 2025-10-26 Salt string `json:"Salt"` // base64 SRPSession string `json:"SRPSession"` // hexadecimal Username string `json:"Username"` // user without @domain.com. Mine has its first letter capitalized. } err = json.Unmarshal(responseBody, &info) if err != nil { return "", "", "", "", "", 0, fmt.Errorf("decoding response body: %w", err) } const successCode = 1000 switch { case info.Code != successCode: return "", "", "", "", "", 0, fmt.Errorf("%w: expected %d got %d", ErrCodeNotSuccess, successCode, info.Code) case info.Modulus == "": return "", "", "", "", "", 0, fmt.Errorf("%w: modulus is empty", ErrDataFieldMissing) case info.ServerEphemeral == "": return "", "", "", "", "", 0, fmt.Errorf("%w: server ephemeral is empty", ErrDataFieldMissing) case info.Salt == "": return "", "", "", "", "", 0, fmt.Errorf("%w (salt data field is empty)", ErrUsernameDoesNotExist) case info.SRPSession == "": return "", "", "", "", "", 0, fmt.Errorf("%w: SRP session is empty", ErrDataFieldMissing) case info.Username == "": return "", "", "", "", "", 0, fmt.Errorf("%w: username is empty", ErrDataFieldMissing) case info.Version == nil: return "", "", "", "", "", 0, fmt.Errorf("%w: version is missing", ErrDataFieldMissing) } version = int(*info.Version) //nolint:gosec return info.Username, info.Modulus, info.ServerEphemeral, info.Salt, info.SRPSession, version, nil } type cookie struct { uid string token string sessionID string } func (c *cookie) String() string { s := "" if c.token != "" { s += fmt.Sprintf("AUTH-%s=%s; ", c.uid, c.token) } if c.sessionID != "" { s += fmt.Sprintf("Session-Id=%s; ", c.sessionID) } if c.token != "" { s += "Tag=default; iaas=W10; Domain=proton.me; Feature=VPNDashboard:A" } return s } var ( // ErrServerProofNotValid indicates the M2 from the server didn't match the expected proof. ErrServerProofNotValid = errors.New("server proof from server is not valid") ErrVPNScopeNotFound = errors.New("VPN scope not found in scopes") ErrTwoFANotSupported = errors.New("two factor authentication not supported in this client") ErrAuthCookieNotFound = errors.New("auth cookie not found") ) // auth performs the SRP proof submission (and optionally TOTP) to obtain tokens. func (c *apiClient) auth(ctx context.Context, unauthCookie cookie, username, srpSession string, proofs *srp.Proofs, ) (authCookie cookie, err error) { clientEphemeral := base64.StdEncoding.EncodeToString(proofs.ClientEphemeral) clientProof := base64.StdEncoding.EncodeToString(proofs.ClientProof) type requestBodySchema struct { ClientEphemeral string `json:"ClientEphemeral"` // base64(A) ClientProof string `json:"ClientProof"` // base64(M1) Payload map[string]string `json:"Payload,omitempty"` // not sure SRPSession string `json:"SRPSession"` // hexadecimal Username string `json:"Username"` // user@protonmail.com } requestBody := requestBodySchema{ ClientEphemeral: clientEphemeral, ClientProof: clientProof, SRPSession: srpSession, Username: username, } buffer := bytes.NewBuffer(nil) encoder := json.NewEncoder(buffer) if err := encoder.Encode(requestBody); err != nil { return cookie{}, fmt.Errorf("encoding request body: %w", err) } request, err := http.NewRequestWithContext(ctx, http.MethodPost, c.apiURLBase+"/core/v4/auth", buffer) if err != nil { return cookie{}, fmt.Errorf("creating request: %w", err) } c.setHeaders(request, unauthCookie) response, err := c.httpClient.Do(request) if err != nil { return cookie{}, err } defer response.Body.Close() responseBody, err := io.ReadAll(response.Body) if err != nil { return cookie{}, fmt.Errorf("reading response body: %w", err) } else if response.StatusCode != http.StatusOK { return cookie{}, buildError(response.StatusCode, responseBody) } type twoFAStatus uint //nolint:unused const ( twoFADisabled twoFAStatus = iota twoFAHasTOTP twoFAHasFIDO2 twoFAHasFIDO2AndTOTP ) type twoFAInfo struct { Enabled twoFAStatus `json:"Enabled"` FIDO2 struct { AuthenticationOptions any `json:"AuthenticationOptions"` RegisteredKeys []any `json:"RegisteredKeys"` } `json:"FIDO2"` TOTP uint `json:"TOTP"` } var auth struct { Code uint `json:"Code"` // 1000 on success LocalID uint `json:"LocalID"` // 7 in my case Scopes []string `json:"Scopes"` // this should contain "vpn". Same as `Scope` field value. UID string `json:"UID"` // same as `Uid` field value UserID string `json:"UserID"` // base64 EventID string `json:"EventID"` // base64 PasswordMode uint `json:"PasswordMode"` // 1 in my case ServerProof string `json:"ServerProof"` // base64(M2) TwoFactor uint `json:"TwoFactor"` // 0 if 2FA not required TwoFA twoFAInfo `json:"2FA"` TemporaryPassword uint `json:"TemporaryPassword"` // 0 in my case } err = json.Unmarshal(responseBody, &auth) if err != nil { return cookie{}, fmt.Errorf("decoding response body: %w", err) } m2, err := base64.StdEncoding.DecodeString(auth.ServerProof) if err != nil { return cookie{}, fmt.Errorf("decoding server proof: %w", err) } if !bytes.Equal(m2, proofs.ExpectedServerProof) { return cookie{}, fmt.Errorf("%w: expected %x got %x", ErrServerProofNotValid, proofs.ExpectedServerProof, m2) } const successCode = 1000 switch { case auth.Code != successCode: return cookie{}, fmt.Errorf("%w: expected %d got %d", ErrCodeNotSuccess, successCode, auth.Code) case auth.UID != unauthCookie.uid: return cookie{}, fmt.Errorf("%w: expected %s got %s", ErrUIDMismatch, unauthCookie.uid, auth.UID) case auth.TwoFactor != 0: return cookie{}, fmt.Errorf("%w", ErrTwoFANotSupported) case !slices.Contains(auth.Scopes, "vpn"): return cookie{}, fmt.Errorf("%w: in %v", ErrVPNScopeNotFound, auth.Scopes) } for _, setCookieHeader := range response.Header.Values("Set-Cookie") { parts := strings.Split(setCookieHeader, ";") for _, part := range parts { if strings.HasPrefix(part, "AUTH-"+unauthCookie.uid+"=") { authCookie = unauthCookie authCookie.token = strings.TrimPrefix(part, "AUTH-"+unauthCookie.uid+"=") return authCookie, nil } } } return cookie{}, fmt.Errorf("%w: in HTTP headers %s", ErrAuthCookieNotFound, httpHeadersToString(response.Header)) } // generateLettersDigits mimicing Proton's own random string generator: // https://github.com/ProtonMail/WebClients/blob/e4d7e4ab9babe15b79a131960185f9f8275512cd/packages/utils/generateLettersDigits.ts func generateLettersDigits(rng *rand.ChaCha8, length uint) string { const charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" return generateFromCharset(rng, length, charset) } func generateFromCharset(rng *rand.ChaCha8, length uint, charset string) string { result := make([]byte, length) randomBytes := make([]byte, length) _, _ = rng.Read(randomBytes) for i := range length { result[i] = charset[int(randomBytes[i])%len(charset)] } return string(result) } func httpHeadersToString(headers http.Header) string { var builder strings.Builder first := true for key, values := range headers { for _, value := range values { if !first { builder.WriteString(", ") } builder.WriteString(fmt.Sprintf("%s: %s", key, value)) first = false } } return builder.String() } type apiData struct { LogicalServers []logicalServer `json:"LogicalServers"` } type logicalServer struct { Name string `json:"Name"` ExitCountry string `json:"ExitCountry"` Region *string `json:"Region"` City *string `json:"City"` Servers []physicalServer `json:"Servers"` Features uint16 `json:"Features"` Tier *uint8 `json:"Tier,omitempty"` } type physicalServer struct { EntryIP netip.Addr `json:"EntryIP"` ExitIP netip.Addr `json:"ExitIP"` Domain string `json:"Domain"` Status uint8 `json:"Status"` X25519PublicKey string `json:"X25519PublicKey"` } func (c *apiClient) fetchServers(ctx context.Context, cookie cookie) ( data apiData, err error, ) { const url = "https://account.proton.me/api/vpn/logicals" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return data, err } c.setHeaders(request, cookie) response, err := c.httpClient.Do(request) if err != nil { return data, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { b, _ := io.ReadAll(response.Body) return data, buildError(response.StatusCode, b) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&data); err != nil { return data, fmt.Errorf("decoding response body: %w", err) } return data, nil } var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") func buildError(httpCode int, body []byte) error { prettyCode := http.StatusText(httpCode) var protonError struct { Code *int `json:"Code,omitempty"` Error *string `json:"Error,omitempty"` Details map[string]string `json:"Details"` } decoder := json.NewDecoder(bytes.NewReader(body)) decoder.DisallowUnknownFields() err := decoder.Decode(&protonError) if err != nil || protonError.Error == nil || protonError.Code == nil { return fmt.Errorf("%w: %s: %s", ErrHTTPStatusCodeNotOK, prettyCode, body) } details := make([]string, 0, len(protonError.Details)) for key, value := range protonError.Details { details = append(details, fmt.Sprintf("%s: %s", key, value)) } return fmt.Errorf("%w: %s: %s (code %d with details: %s)", ErrHTTPStatusCodeNotOK, prettyCode, *protonError.Error, *protonError.Code, strings.Join(details, ", ")) } ================================================ FILE: internal/provider/protonvpn/updater/countries.go ================================================ package updater import "strings" func codeToCountry(countryCode string, countryCodes map[string]string) ( country string, warning string, ) { countryCode = strings.ToLower(countryCode) country, ok := countryCodes[countryCode] if !ok { warning = "unknown country code: " + countryCode country = countryCode } return country, warning } ================================================ FILE: internal/provider/protonvpn/updater/iptoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type ipToServers map[string][2]models.Server // first server is OpenVPN, second is Wireguard. type features struct { secureCore bool tor bool p2p bool stream bool } func (its ipToServers) add(country, region, city, name, hostname, wgPubKey string, free bool, entryIP netip.Addr, features features, ) { key := entryIP.String() servers, ok := its[key] if ok { return } baseServer := models.Server{ Country: country, Region: region, City: city, ServerName: name, Hostname: hostname, Free: free, SecureCore: features.secureCore, Tor: features.tor, PortForward: features.p2p, Stream: features.stream, IPs: []netip.Addr{entryIP}, } openvpnServer := baseServer openvpnServer.VPN = vpn.OpenVPN openvpnServer.UDP = true openvpnServer.TCP = true servers[0] = openvpnServer wireguardServer := baseServer wireguardServer.VPN = vpn.Wireguard wireguardServer.WgPubKey = wgPubKey servers[1] = wireguardServer its[key] = servers } func (its ipToServers) toServersSlice() (serversSlice []models.Server) { const vpnProtocols = 2 serversSlice = make([]models.Server, 0, vpnProtocols*len(its)) for _, servers := range its { serversSlice = append(serversSlice, servers[0], servers[1]) } return serversSlice } func (its ipToServers) numberOfServers() int { const serversPerIP = 2 return len(its) * serversPerIP } ================================================ FILE: internal/provider/protonvpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { switch { case u.email == "": return nil, fmt.Errorf("%w: email is empty", common.ErrCredentialsMissing) case u.password == "": return nil, fmt.Errorf("%w: password is empty", common.ErrCredentialsMissing) } apiClient, err := newAPIClient(ctx, u.client) if err != nil { return nil, fmt.Errorf("creating API client: %w", err) } cookie, err := apiClient.authenticate(ctx, u.email, u.password) if err != nil { return nil, fmt.Errorf("authentifying with Proton: %w", err) } data, err := apiClient.fetchServers(ctx, cookie) if err != nil { return nil, fmt.Errorf("fetching logical servers: %w", err) } countryCodes := constants.CountryCodes() var count int for _, logicalServer := range data.LogicalServers { count += len(logicalServer.Servers) } if count < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, count, minServers) } ipToServer := make(ipToServers, count) for _, logicalServer := range data.LogicalServers { region := getStringValue(logicalServer.Region) city := getStringValue(logicalServer.City) // TODO v4 remove `name` field because of // https://github.com/qdm12/gluetun/issues/1018#issuecomment-1151750179 name := logicalServer.Name //nolint:lll // See https://github.com/ProtonVPN/protonvpn-nm-lib/blob/31d5f99fbc89274e4e977a11e7432c0eab5a3ef8/protonvpn_nm_lib/enums.py#L44-L49 featuresBits := logicalServer.Features features := features{ secureCore: featuresBits&1 != 0, tor: featuresBits&2 != 0, p2p: featuresBits&4 != 0, stream: featuresBits&8 != 0, // ipv6: featuresBits&16 != 0, - unused. } //nolint:lll // See https://github.com/ProtonVPN/protonvpn-nm-lib/blob/31d5f99fbc89274e4e977a11e7432c0eab5a3ef8/protonvpn_nm_lib/enums.py#L56-L62 free := false if logicalServer.Tier == nil { u.warner.Warn("tier field not set for server " + logicalServer.Name) } else if *logicalServer.Tier == 0 { free = true } for _, physicalServer := range logicalServer.Servers { if physicalServer.Status == 0 { // disabled so skip server u.warner.Warn("ignoring server " + physicalServer.Domain + " with status 0") continue } hostname := physicalServer.Domain entryIP := physicalServer.EntryIP wgPubKey := physicalServer.X25519PublicKey // Note: for multi-hop use the server name or hostname // instead of the country countryCode := logicalServer.ExitCountry country, warning := codeToCountry(countryCode, countryCodes) if warning != "" { u.warner.Warn(warning) } ipToServer.add(country, region, city, name, hostname, wgPubKey, free, entryIP, features) } } if ipToServer.numberOfServers() < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(ipToServer), minServers) } servers = ipToServer.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } func getStringValue(ptr *string) string { if ptr == nil { return "" } return *ptr } ================================================ FILE: internal/provider/protonvpn/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client email string password string warner common.Warner } func New(client *http.Client, warner common.Warner, email, password string) *Updater { return &Updater{ client: client, email: email, password: password, warner: warner, } } ================================================ FILE: internal/provider/protonvpn/updater/version.go ================================================ package updater import ( "context" "encoding/json" "fmt" "io" "net/http" "regexp" "strings" "time" ) // getMostRecentStableTag finds the most recent proton-account stable tag version, // in order to use it in the x-pm-appversion http request header. Because if we do // fall behind on versioning, Proton doesn't like it because they like to create // complications where there is no need for it. Hence this function. func getMostRecentStableTag(ctx context.Context, client *http.Client) (version string, err error) { page := 1 regexVersion := regexp.MustCompile(`^proton-account@(\d+\.\d+\.\d+\.\d+)$`) for ctx.Err() == nil { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 5 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() url := "https://api.github.com/repos/ProtonMail/WebClients/tags?per_page=30&page=" + fmt.Sprint(page) request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return "", fmt.Errorf("creating request: %w", err) } request.Header.Set("Accept", "application/vnd.github.v3+json") response, err := client.Do(request) if err != nil { return "", err } defer response.Body.Close() data, err := io.ReadAll(response.Body) if err != nil { return "", fmt.Errorf("reading response body: %w", err) } if response.StatusCode != http.StatusOK { return "", fmt.Errorf("%w: %s: %s", ErrHTTPStatusCodeNotOK, response.Status, data) } var tags []struct { Name string `json:"name"` } err = json.Unmarshal(data, &tags) if err != nil { return "", fmt.Errorf("decoding JSON response: %w", err) } for _, tag := range tags { if !regexVersion.MatchString(tag.Name) { continue } version := "web-account@" + strings.TrimPrefix(tag.Name, "proton-account@") return version, nil } page++ } return "", fmt.Errorf("%w (queried %d pages)", context.Canceled, page) } ================================================ FILE: internal/provider/provider.go ================================================ package provider import ( "context" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) // Provider contains methods to read and modify the openvpn configuration to connect as a client. type Provider interface { GetConnection(selection settings.ServerSelection, ipv6Supported bool) (connection models.Connection, err error) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool) (lines []string) Name() string FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error) } ================================================ FILE: internal/provider/providers.go ================================================ package provider import ( "fmt" "math/rand" "net/http" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/airvpn" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/custom" "github.com/qdm12/gluetun/internal/provider/cyberghost" "github.com/qdm12/gluetun/internal/provider/expressvpn" "github.com/qdm12/gluetun/internal/provider/fastestvpn" "github.com/qdm12/gluetun/internal/provider/giganews" "github.com/qdm12/gluetun/internal/provider/hidemyass" "github.com/qdm12/gluetun/internal/provider/ipvanish" "github.com/qdm12/gluetun/internal/provider/ivpn" "github.com/qdm12/gluetun/internal/provider/mullvad" "github.com/qdm12/gluetun/internal/provider/nordvpn" "github.com/qdm12/gluetun/internal/provider/perfectprivacy" "github.com/qdm12/gluetun/internal/provider/privado" "github.com/qdm12/gluetun/internal/provider/privateinternetaccess" "github.com/qdm12/gluetun/internal/provider/privatevpn" "github.com/qdm12/gluetun/internal/provider/protonvpn" "github.com/qdm12/gluetun/internal/provider/purevpn" "github.com/qdm12/gluetun/internal/provider/slickvpn" "github.com/qdm12/gluetun/internal/provider/surfshark" "github.com/qdm12/gluetun/internal/provider/torguard" "github.com/qdm12/gluetun/internal/provider/vpnsecure" "github.com/qdm12/gluetun/internal/provider/vpnunlimited" "github.com/qdm12/gluetun/internal/provider/vyprvpn" "github.com/qdm12/gluetun/internal/provider/windscribe" ) type Providers struct { providerNameToProvider map[string]Provider } type Storage interface { FilterServers(provider string, selection settings.ServerSelection) ( servers []models.Server, err error) } type Extractor interface { Data(filepath string) (lines []string, connection models.Connection, err error) } func NewProviders(storage Storage, timeNow func() time.Time, updaterWarner common.Warner, client *http.Client, unzipper common.Unzipper, parallelResolver common.ParallelResolver, ipFetcher common.IPFetcher, extractor custom.Extractor, credentials settings.Updater, ) *Providers { randSource := rand.NewSource(timeNow().UnixNano()) //nolint:lll providerNameToProvider := map[string]Provider{ providers.Airvpn: airvpn.New(storage, randSource, client), providers.Custom: custom.New(extractor), providers.Cyberghost: cyberghost.New(storage, randSource, updaterWarner, parallelResolver), providers.Expressvpn: expressvpn.New(storage, randSource, unzipper, updaterWarner, parallelResolver), providers.Fastestvpn: fastestvpn.New(storage, randSource, client, updaterWarner, parallelResolver), providers.Giganews: giganews.New(storage, randSource, unzipper, updaterWarner, parallelResolver), providers.HideMyAss: hidemyass.New(storage, randSource, client, updaterWarner, parallelResolver), providers.Ipvanish: ipvanish.New(storage, randSource, unzipper, updaterWarner, parallelResolver), providers.Ivpn: ivpn.New(storage, randSource, client, updaterWarner, parallelResolver), 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, 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), providers.Purevpn: purevpn.New(storage, randSource, ipFetcher, unzipper, updaterWarner, parallelResolver), providers.SlickVPN: slickvpn.New(storage, randSource, client, updaterWarner, parallelResolver), providers.Surfshark: surfshark.New(storage, randSource, client, unzipper, updaterWarner, parallelResolver), providers.Torguard: torguard.New(storage, randSource, unzipper, updaterWarner, parallelResolver), providers.VPNSecure: vpnsecure.New(storage, randSource, client, updaterWarner, parallelResolver), providers.VPNUnlimited: vpnunlimited.New(storage, randSource, unzipper, updaterWarner, parallelResolver), providers.Vyprvpn: vyprvpn.New(storage, randSource, unzipper, updaterWarner, parallelResolver), providers.Windscribe: windscribe.New(storage, randSource, client, updaterWarner), } targetLength := len(providers.AllWithCustom()) if len(providerNameToProvider) != targetLength { // Programming sanity check panic(fmt.Sprintf("invalid number of providers, expected %d but got %d", targetLength, len(providerNameToProvider))) } return &Providers{ providerNameToProvider: providerNameToProvider, } } func (p *Providers) Get(providerName string) (provider Provider) { //nolint:ireturn provider, ok := p.providerNameToProvider[providerName] if !ok { panic(fmt.Sprintf("provider %q not found", providerName)) } return provider } ================================================ FILE: internal/provider/purevpn/connection.go ================================================ package purevpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(80, 53, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/purevpn/openvpnconf.go ================================================ package purevpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, }, KeyDirection: "1", CAs: []string{ "MIIF8jCCA9qgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBkjELMAkGA1UEBhMCVkcxEDAOBgNVBAgTB1RvcnRvbGExETAPBgNVBAcTCFJvYWR0b3duMRcwFQYDVQQKEw5TZWN1cmUtU2VydmVyUTELMAkGA1UECxMCSVQxFzAVBgNVBAMTDlNlY3VyZS1TZXJ2ZXJRMR8wHQYJKoZIhvcNAQkBFhBtYWlsQGhvc3QuZG9tYWluMB4XDTIyMDQyMDA2NTkyMFoXDTI5MDcyMjA2NTkyMFowfjELMAkGA1UEBhMCVkcxEDAOBgNVBAgTB1RvcnRvbGExFzAVBgNVBAoTDlNlY3VyZS1TZXJ2ZXJRMQswCQYDVQQLEwJJVDEWMBQGA1UEAxMNU2VjdXJlLUludGVyUTEfMB0GCSqGSIb3DQEJARYQbWFpbEBob3N0LmRvbWFpbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALONGBemKjG4mn9BrzByTCjOmPKy9hGxMBq0dFQsFVpd5o9PG95QK+rjpApi5zKzrkVu9t2L0I1NsXNhU5KM0SQAk58U9qaA771g6Y4HuGs73K5ginNIH9910idpX/VBxx2SyHc5G8OddUFs0y+pbJz1QVgq+HZDEpmQ2EI/HAit4cbaesaoY25/B0Os7KYjyUhT3dkYDV9RaNkcN74Q2/B5oJvIMqQrOLZM/v2JC7PYZxvzfY0tI1ud4UF2po27ih215uKSkl/POtTjVRoCl7Ki9gQQEg7WPTTYSQ/2w0v34UwHbDCgUCGhcY5SWOy91FBhGhCDe4yI0IjLPF3ik+auygOUks6iaF4xQmsiJs6SKngRn1lLEtyNLNhyH1whAl4Y/w24ZVcgaD0BQ7oytfBdZRrm0l3G65CUMZG/szpZg2aKqQ2pWMfaA8ddvOa/ZZqnJZoOYBytXzatJRewAqpKetWdHHMQcQaJYWslR7HYrFs8ZU0z8wcOdka1mCYy8zlTi8omSyatB4pOnUtbM8Q8t2fwqGq0QrscfWt86dh/JRCZqvarzYHxmmve6ZMnpZVII1l6/owDUS57VWulDyMxIz38BBhB9zNAyu4ZS+FFb1YtdEps+J3D6xgr03C2AdHgYu3PYuJAj0zJEWb5rCAet5N9pBAUToz3NPAHPxF/AgMBAAGjZjBkMB0GA1UdDgQWBBSQHevnqcnlAw/o2QEVK4rpOBypEjAfBgNVHSMEGDAWgBSwL9/K/adBEASDpofY5CHz0dHm4jASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAxKa97spo7hBUMFzN/DUy10rUFSrv8fKAGAvg/JxvM0QNU/S2MO7y4pniNg3HE6yLuus6NoSkjhDbsBNCBcogISzxYKSEzwJWoQk8P/vqSFD4GCIuPntnpKfGEeYh1yW5xJQNzgBPB2qrhuwv2O/rZVB1PGVO5XS4ttDlQeAjxn8Q61U5hJ1MAH8uJ0Bc2RaymFgVeDXIrOkYSomE1HBJMEAjkQ7jlgPv/+QEDG+XNnlEl2Rz4mXJ6XfnB4PgxGNBN3PC+DuoSuW/P677VVQpm3CpEO6srGxbK407mbfKm4k8WCFKDMRfHScsgLF95gFaxt14iE9Wda68HlChtGxnF0M7Pb1EH2niodYRoKHQUcMjI5Mzy2Ug7vuY1PfRqUPhlse/LaX1pWRw0Pfe80V4oKTX6UfeyTftPeFtlM9N078wXWI5W6XOx81Rc/54tO0JsQ7mb+N+jgRlM60QcFbrcjtEVnCJPx1kowXgZWJwzfYx/loYtATETy+4s3NRm9csjaG/BiUNfoz7I38a+ZYzSfD7tNRgm6v1qpIMcDnH89xoH2H3RuRdm0VSlm4M7Hhb/YuMbB4h0PL/kJ+4KnnFUEWIO3prziwccuP34EUdmTVot0CGlvoVmPSzdOzMsCBIBYQ6/qF5LWcb4aSJcOtePacG5PmeyET8RP+4zO6theI=", //nolint:lll "MIIGBzCCA++gAwIBAgIULjehn3oKy7VgPWVqBLqG3RcBw6AwDQYJKoZIhvcNAQELBQAwgZIxCzAJBgNVBAYTAlZHMRAwDgYDVQQIEwdUb3J0b2xhMREwDwYDVQQHEwhSb2FkdG93bjEXMBUGA1UEChMOU2VjdXJlLVNlcnZlclExCzAJBgNVBAsTAklUMRcwFQYDVQQDEw5TZWN1cmUtU2VydmVyUTEfMB0GCSqGSIb3DQEJARYQbWFpbEBob3N0LmRvbWFpbjAeFw0yMjA0MjAwNjUxNTFaFw0zMjA0MTcwNjUxNTFaMIGSMQswCQYDVQQGEwJWRzEQMA4GA1UECBMHVG9ydG9sYTERMA8GA1UEBxMIUm9hZHRvd24xFzAVBgNVBAoTDlNlY3VyZS1TZXJ2ZXJRMQswCQYDVQQLEwJJVDEXMBUGA1UEAxMOU2VjdXJlLVNlcnZlclExHzAdBgkqhkiG9w0BCQEWEG1haWxAaG9zdC5kb21haW4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDYBqR63rzysa2c/1YTn811McVXAvkqV1smE3jLv1TP4VW/nD67Sb43iKc/lhkbgXV89PFQt6BswK8BPC5TzXi/kTFJtxkN79L9insG+DFiz/NvKRWxdAbKJZtv7c2eBLYOAflYcI/HwkBJa01uvPtGtCKOqfhwB120Kwq1gxr95DTU4OtPm8PRfUookiCCFb7qip6twABfcC5lntI3UBN1CQfiCtgdY32+7doeFURH+jY9JS4Ots78LKVN8GiMUxJosSHGxw2+/ERwD6IiJO5AeRIgBSSa2GW3WNlQ4qHTq0obVDoK3+xMAbhbRjVYriynYPB70mN82lWN1chXaiDeW/l0g7DU/EJKCAkYLlMr2hI1kMTu9AYHKUH/NsEC1Z8Nf6GCxi9zlOcuANNNxxioDeUEANoMCRRb1hQDx83udxSLTbR8qCO2+G2EJp/L9M/efGn6L7U7qvKxzua8ZbLAWKMwFtqVRD0+oZPN6rEVFrOx9byz6DFA6vKa76dpdLbISnOrqyQVxkZMhBuL/fFbHyLWxD9QN9dnVx8q3W8fhJXdDln4oMOzyMm/0K0iar7GLjGKQ3Zmz9qJ1lWCdyA800UbJ5eeD4SXmB2eYZnQxW8MGmHygz0mslBzhN7mB+7sxMIiLFiCc6SqYu6ONDOVEe0T+H0pka1yN6o/9TLJtwIDAQABo1MwUTAdBgNVHQ4EFgQUsC/fyv2nQRAEg6aH2OQh89HR5uIwHwYDVR0jBBgwFoAUsC/fyv2nQRAEg6aH2OQh89HR5uIwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAnklSAVjZLlyy0iaM4g29+t87RDUfMAEkJEq+qq23Ovrvw9XPr8xfp3rhPgY/12EQofwWuToIQeRawZJ9ZKq3+ELpOZAEGkuA22vQdYaulY8suUXWuD4hFCvsKWA/jASrEY29l54r0yCcElrN5upqm7BoRbHYFieO0ieBmGaLoxAqjZc99KkO4QELXtn7OMsXmXTUwlA8m9acTDKmpl6cVs2Cq/Foz6NbbWvCb65q1HZSmfkXB8mCZnLF+1wERpQeTpnA0cNT4RUGTe2PQsTXOBgASEabO7AFDkg2H7YgmfBwVZKwHZWo72ggSdHUygKOT1+v9Xt1oFg3k6l/GiyVsvCSzN0G/7VzDJuAIRtDIs/daDhXxyHaAqbKQ8VDHuLBxMTYQQnndt2D6J7XxtQ2F/iWqDZw+l8gukFwrgOMgq7ZYYeOOxKx20zbBAUELYtNF2KaLJjKiZJmQd/1OjuKYexggFWBC2f1OiDzxzrqAocSnGllVPmmh0ALJCi8eMT5lt9sfZq5hWPYnwDYeVQ1A/5l7x+VbcqeQAJCYh/RIy60Tp7QYeliECJDkowDGtIcz+v97FkcTsL+8r+xbM3z3f3oQSYTJEBPe8DnGAyveCuwo0trH4kGLiAiqS+2mR0pMhDFIXXgL9EF/S7KkHT9Wfn6FE0jGgjbe2PZOrN9Ts0=", //nolint:lll }, Cert: "MIIGVDCCBDygAwIBAgIUXOHS5dvsysiZU1BAiYhlgo810+owDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCVkcxEDAOBgNVBAgTB1RvcnRvbGExFzAVBgNVBAoTDlNlY3VyZS1TZXJ2ZXJRMQswCQYDVQQLEwJJVDEWMBQGA1UEAxMNU2VjdXJlLUludGVyUTEfMB0GCSqGSIb3DQEJARYQbWFpbEBob3N0LmRvbWFpbjAeFw0yMjA0MjAwNzQzMDFaFw0yNzA1MjkwNzQzMDFaMIGSMQswCQYDVQQGEwJWRzEQMA4GA1UECBMHVG9ydG9sYTERMA8GA1UEBxMIUm9hZHRvd24xFzAVBgNVBAoTDlNlY3VyZS1TZXJ2ZXJRMQswCQYDVQQLEwJJVDEXMBUGA1UEAxMOQ2xpZW50LVNlY3VyZVExHzAdBgkqhkiG9w0BCQEWEG1haWxAaG9zdC5kb21haW4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzeKkzhWssmbtNnlTaUBLcTbTatz3sKMlROFcGbe0bCc7SDsvV24USvUVwPb9YO595NUZ/TmVzOaF65s7xYFcUyMwHvSWUlFQrmc+m/YFJ/FzAibB6FfQ2Ox+qFXJpnMY8TPmU/mC1AE+lB1mrwJK1S0mFCQxP9bAkKXBPkyWyG0qsk/Fx7mHq8R25kvzrkLA3H5beudWSGJGFoppBfKB5H16gjsW2CTErKxPxPrd2FIbgnX6mA8OTvXwygjYr+WKLzMjQFTKLZSdD/0Mm1H8yUJBJ6dLgNYEXxyv8dSUpuk4aRC8XOnsbj0d4zA8NCecCot/VbbCxbXBJAZC2x2TXaDuMpdyxCXkKGnHzyEQZio8ki7vysr0aJmYXavpMJlXl/MAYTolqTt3hj3Z6CVhO4tYO65IUQ2XFzg/Vxd7Lh2acKgsMcjXmwN2zn4BHGE1n4JroKeieGHqhoo4B6HUQdaEs+wR1pM7nbEuh+OZZPw21cIuSe17XBzAPUjOvE+97VrCKwPGCDfHrMEoNHTzPOHI5hQuh3YmaREzJ98vVMbHNLPMFghSC0tFX8DpDOFGw9bUXRTxmQ1Q1qARcr+7z6nymYWmjZwVIVmVtu9kyB+QHOkDG9vqEnpH7k3NP6d9nd/4nf5huPjkIsCtjTOMlzIOAGApq4W9kOyFjNUuNoQIDAQABo4G0MIGxMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgeAMC8GCWCGSAGG+EIBDQQiFiBRdWFudHVtIEludGVyLUNsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUTsu3f4Pvvsvz2ReJmWbYXn/mnf4wHwYDVR0jBBgwFoAUkB3r56nJ5QMP6NkBFSuK6TgcqRIwCwYDVR0PBAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4ICAQAzsKtPhXVlTcLToW3cN2GGNPek5CLSgrgLzuAlPJrItfJhZxlURoKVqcn3vDLClhca42j2WmL7/ae4kKIVBIAqdbIBbgEdEBAKvqTqyqoBh2t6N4zaOxNB2moq4xeVRdAbqgOIKQfCTvrdAs0atWacvcoG4OT/Q4kwgTLgaJZhc6pl7ggEDoZUqYod7+voutqo/AJ6c3nkiQ14RNIEkmWR3w0NNCdySkfpd+JOhCXjOaDXCjlk5NHgG9UVxGlH7x11+LtdzVhZiqzYX3dfwoa5sUxSzbgY0SAPnCmS1TWehyRQN8yjH9WKq35T3xrhhGF6sUDoQSgx89pSwXIeua2nPf6frkc6foSPJ4Cz6YV0euDFZkG34OGcnyztXNpywy4il75FEQMxXvodLwmIgusBX1UU97h5s2HozK3WMlTWrcIgy7ac0tH+wxZWwqBkK3lzcVQ2FS4jKVWHT4vtIj0u/HA3FvNe2k3CFKD4Y9hBALYL25cwoz16eJkStBTO729AZMq9Ib1eRml0Uk4ke61N+cykGFVJca7aVsjtVnKkMdsDS9YSqYybzThTrVPRXiVYaNw5B9PiTUvvGw/jO18elBSPzPo66Es5jYHU/37lXFgesjYu295ggMC7iR3OuWEFMrNn3x1jGmOPwU5NhrohO4rw2KuhhPXBw/Pgg3VrwQ==", //nolint:lll RSAKey: "MIIJKQIBAAKCAgEAs3ipM4VrLJm7TZ5U2lAS3E202rc97CjJUThXBm3tGwnO0g7L1duFEr1FcD2/WDufeTVGf05lczmheubO8WBXFMjMB70llJRUK5nPpv2BSfxcwImwehX0NjsfqhVyaZzGPEz5lP5gtQBPpQdZq8CStUtJhQkMT/WwJClwT5MlshtKrJPxce5h6vEduZL865CwNx+W3rnVkhiRhaKaQXygeR9eoI7FtgkxKysT8T63dhSG4J1+pgPDk718MoI2K/lii8zI0BUyi2UnQ/9DJtR/MlCQSenS4DWBF8cr/HUlKbpOGkQvFzp7G49HeMwPDQnnAqLf1W2wsW1wSQGQtsdk12g7jKXcsQl5Chpx88hEGYqPJIu78rK9GiZmF2r6TCZV5fzAGE6Jak7d4Y92eglYTuLWDuuSFENlxc4P1cXey4dmnCoLDHI15sDds5+ARxhNZ+Ca6Cnonhh6oaKOAeh1EHWhLPsEdaTO52xLofjmWT8NtXCLknte1wcwD1IzrxPve1awisDxgg3x6zBKDR08zzhyOYULod2JmkRMyffL1TGxzSzzBYIUgtLRV/A6QzhRsPW1F0U8ZkNUNagEXK/u8+p8pmFpo2cFSFZlbbvZMgfkBzpAxvb6hJ6R+5NzT+nfZ3f+J3+Ybj45CLArY0zjJcyDgBgKauFvZDshYzVLjaECAwEAAQKCAgApMpWEoifMAS4hzyqjQqZRs/TEEDRCtcogvtIbQ7id8E5tob/gw5d0icYa0dHOq0EcTcJ1DsXzAVO0Jq9ycS8MMlvDmwO5a6M2rwQfzSmUlj2kZPcBz3BT0paeMHYnEDnhNbpFHW+NnRirRVisOHR08WdbBoyw/jEE3A5P9fM9Q06M9xkBkjsf92FfbAJrALeyr6muTvJbqxAcoQrP5Y/gvfa23I8+DjYfNrBJPKBYlrWvcffUnCCVFXYhEgrlZUXd2ZBvU65amUm+LiZ4D2dzYVL95JLnrOCJWMscFLgHMCElnmlA58fCt80sSYta7t78l+7Ry3A4CmswFw/lJThcZyi32VgXMQRxuzbWBMswZyKEihmIxekTnqhnLDgKtoa+n88dSUc8bvs3YxNYx3Yqy2a+hjxOIHpiT9ikCatoqtpefpspeu/DfKwDZVEBAqC2SliD9QHQlvQtMyLUPqgzDo5df4uSqY8m3QqbIFBC5VJJYEOLFkXJQgYCeUtw4O24VE19YHaNljN/qGbKLtvFR+5QNeObuwZsmYvJieu1h8sUB1TunOSDQdkQgJ11y4Ky1F5wIDzYXQptOgre94PybrZ/exu0HPPcicE4vHT09xiACyNujBDkrfvWaayrPJ0pmfNdHNy9/LjGxglKPbs//AGybMuUnCe99qwJyJhewQKCAQEA74oKT9hER91FlgsS/MUJ0v99tD5C++cYyrqkAS8XX04O1ZSz9fg/ezdrO+F0XHYWCU8QSDjBYqEGd6UHGG7yepJE3VvOagCxKWDm4xjj42OyDdZtLNr2Mb32OCtOhFHb2VSmsp8TTb6PWXg7/W9S84ii5JkIAJbHj1Hb+af2gDxAZIAyRKoI8I9+2xMbrGpJ5qQjvvPZl1j9cvUCGPf8NgSnc6rBJU3NeoY7LtqV5/dcaYewOgZOSqJuqvPlJQP+thOAD9fuUuApiryOA5m8pbdRsS5gVeLL+f1rzqEvon6/lX+fQAxp4Tn515kHIfpSVqWUA6wL1O67SWFV3r14jQKCAQEAv83o8in9G4f7P7ZtbXmp6tV+d692aUayvsZfzKPzHf7WBT4XfdvgMAXrf7YJgeIdmKIe4ppjvste2UKDfgDtS6v0UEOPEGw7+43zlF+oB1jHrEMLvbiLgRmUFI11FaYRtp3dGpGXEqAplJrDhlUBKb0LslJSf2UqxC781gdcnLV0fw583jqS1M57YJu01UGJIunsC5enFKsjuiAeFQ5CJ7SR11n/2x+Z8Rkt4TIZY0RfdEOm6cYc+fCzYJOdalUKiFJPVfB4SKAGILamLK6FCbsNR6sdVGQC/b1CSGjycqlQTC+XJqvBfx5yCjEE/Y0tutuz4cK/Bx6KEaO6fWJ2ZQKCAQEAhmB9Cm+7VklWSSbrPuvWaAy12xB2iVQKP2hWquddCDUE82IZVqouCpR7TrtaiKgiEpTNAIb+TbMhqqrkgRt0Ybh+c2OWNzcuK5VV0R5ccWqzLzoUQu6O4Da90qLQyEAXwiLP5TKCJMH7LujZVoJGGaKUJwOGTrZHOypj6fkEusmSIg8cpBJzM2h8dK+SfbWewYlhGDU54sKkZAH4bENptHAF9EhdU+0CkXKN7unm4JuOtxDMlrCE6S+YP8TUzmAgWsoztC+hXdKs20yNqo1rG9fsNyZaGrRBU3uMJ/2aeGD8XwSaNNcB6ryYYQ9SxgfkewEmOK0ichB+9lppTqwh3QKCAQBaQ5MO9AezfykUcMvKq2j1pQdhV+fH34ebFExdSALP6O/bg78WcfVtZDvR3F9ZCoqXHCSgy7uJPLgkUpMDJ3iFFiVh6IlZVzZbShCJkQLIglVlkh/iZwjv9pOjoHare332jRBSwpVwJIOs9bBydWqYs+jfQLKmVXvs25gNOWWyMgrjCHRnOPWExK93ZY+SlMbu8VsukW4F4gxsOVUu34jumqHP0QEBpDuUJR9cTXF5L+IkGvpgJeXZEhe4qX95XRAZ23KOpR5WP0ji+FH30SG21JqJUdP5tR9bPkgFP65pm5i4YeUmQ8pKAo/0j+EjWd9dgquC4V15AjxD1OOcwkupAoIBAQCDrswYi3ffzsnpqQ1MWrJnjkyB/fL6OuT+m+BLpn4JspLE0JYB/ykoqcv8SKNzDU0NBjozETmlwYVZpI6PAybVvE+ixkcsbOL1yJOI0dY5DcHK3CLI6/kaXtBxPBy7t8hEXvMA+wxO3da4UeDuJW26Y6kw+r5lT9trKrUosH9YvbnwYnW0EAGiSvYtyTq7Pk6r7Hxloeyk0ALeGHmyXUbMETXXGxuGb5LFnAdDTxr9td+moG0GcPvf0VmiB4K1B7/527q2WfKycS9/1nn4qAFPvykuzmQOM368ByDyr17SiYpoN19uDfqZa2caHmVSrhJKhKIBDGzuB/nUYJOnT4fX", //nolint:lll TLSAuth: "2a081d1a94f133e0c3e1b36ff414f609154e6f2c5586abc2452ec54c70ead6d9f0b5e3b7351eb0eac32d6ddb3d7c24d56cccbf25024bdde1c14d56c02eeb058c3f76ea6798b07955bb38b71dd1d359c93f246b00d624929fcc87d6c34baff5f62f8ac7fa054a3fff8982fc9d1847168ab6a7e2f48c16100cb5865e355f3978f0165cdc9e9217cd49634098c58bda0c15b1ce1ef214604e4f7f1f8b94b93a7791486706f0199973bbe9a6fb462bcb72e4e64263f37653098ddbe02de7b4502c88a4ee7c47cd44bcb3853bde2ccc13dc45fe6b75474f31af57f89cecc1ba6940384de9e41b4abbc38710577fcfc471b4c986b17d72707040378b3cfe57dd4cc372", //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/purevpn/provider.go ================================================ package purevpn import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/purevpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, ipFetcher common.IPFetcher, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(ipFetcher, unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Purevpn } ================================================ FILE: internal/provider/purevpn/updater/compare.go ================================================ package updater import ( "strings" "unicode" "golang.org/x/text/runes" "golang.org/x/text/transform" "golang.org/x/text/unicode/norm" ) // comparePlaceNames returns true if strings are within 1 edit // distance after normalization. func comparePlaceNames(a, b string) bool { normA := normalize(a) normB := normalize(b) return normA == normB || levenshteinDistance(normA, normB) <= 1 } // normalize removes accents, trims space, and lowercases the string. func normalize(s string) string { transformer := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC) result, _, err := transform.String(transformer, s) if err != nil { panic(err) } return strings.ToLower(strings.TrimSpace(result)) } // levenshteinDistance calculates the edit distance // between two strings a and b. func levenshteinDistance(a, b string) int { switch { case len(a) == 0: return len(b) case len(b) == 0: return len(a) } column := make([]int, len(b)+1) for i := 0; i <= len(b); i++ { column[i] = i } for i := 1; i <= len(a); i++ { column[0] = i lastValue := i - 1 for j := 1; j <= len(b); j++ { oldValue := column[j] cost := 0 if a[i-1] != b[j-1] { cost = 1 } column[j] = min(column[j]+1, min(column[j-1]+1, lastValue+cost)) lastValue = oldValue } } return column[len(b)] } ================================================ FILE: internal/provider/purevpn/updater/compare_test.go ================================================ package updater import ( "testing" "github.com/stretchr/testify/assert" ) func Test_comparePlaceNames(t *testing.T) { t.Parallel() // Allow the top-level test to run in parallel testCases := map[string]struct { a string b string want bool }{ "exact_match": { a: "Paris", b: "Paris", want: true, }, "difference_in_casing_and_whitespace": { a: " Montreal", b: "montreal ", want: true, }, "accent_normalization": { a: "Montréal", b: "Montreal", want: true, }, "single_character_typo": { a: "Lyon", b: "Lyonn", want: true, }, "too_many_differences": { a: "London", b: "Londres", want: false, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() result := comparePlaceNames(testCase.a, testCase.b) assert.Equal(t, testCase.want, result) }) } } ================================================ FILE: internal/provider/purevpn/updater/hosttoserver.go ================================================ 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, tcp, udp bool) { server, ok := hts[host] if !ok { server.VPN = vpn.OpenVPN server.Hostname = host } if tcp { server.TCP = true } if udp { 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 } ================================================ FILE: internal/provider/purevpn/updater/parse.go ================================================ package updater import ( "fmt" "strings" "github.com/qdm12/gluetun/internal/constants" ) var countryCodeToName = constants.CountryCodes() //nolint:gochecknoglobals //nolint:gochecknoglobals var countryCityCodeToCityName = map[string]string{ "aume": "Melbourne", "aupe": "Perth", "ausd": "Sydney", "ukl": "London", "ukm": "Manchester", "usca": "Los Angeles", "usfl": "Miami", "usga": "Atlanta", "usil": "Chicago", "usnj": "Newark", "usny": "New York", "uspe": "Perth", "usphx": "Phoenix", "ussa": "Seattle", "ussf": "San Francisco", "ustx": "Houston", "usut": "Salt Lake City", "usva": "Ashburn", "uswdc": "Washington DC", } func parseHostname(hostname string) (country, city string, warnings []string) { const minHostnameLength = 2 + 3 + 2 // 2 country code + 3 city code + "2-" if len(hostname) < minHostnameLength { warnings = append(warnings, fmt.Sprintf("hostname %q is too short to parse country and city codes", hostname)) } countryCode := strings.ToLower(hostname[0:2]) country, ok := countryCodeToName[countryCode] if !ok { warnings = append(warnings, fmt.Sprintf("unknown country code %q in hostname %q", countryCode, hostname)) } twoMinusIndex := strings.Index(hostname, "2-") switch twoMinusIndex { case -1: warnings = append(warnings, fmt.Sprintf("hostname %q does not contain '2-'", hostname)) return country, city, warnings case 2: //nolint:mnd // no city code return country, "", warnings } countryCityCode := strings.ToLower(hostname[:twoMinusIndex]) city, ok = countryCityCodeToCityName[countryCityCode] if !ok { warnings = append(warnings, fmt.Sprintf("unknown country-city code %q in hostname %q", countryCityCode, hostname)) } return country, city, warnings } ================================================ FILE: internal/provider/purevpn/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/purevpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "net/netip" "sort" "strings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/publicip/api" "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://d11a57lttb2ffq.cloudfront.net/heartbleed/router/Recommended-CA2.zip" contents, err := u.unzipper.FetchAndExtract(ctx, url) 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) } hts := make(hostToServer) for fileName, content := range contents { if !strings.HasSuffix(fileName, ".ovpn") { continue } tcp, udp, err := openvpn.ExtractProto(content) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error() + " in " + fileName) continue } 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, tcp, udp) } 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) } 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) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() // Get public IP address information ipsToGetInfo := make([]netip.Addr, len(servers)) for i := range servers { ipsToGetInfo[i] = servers[i].IPs[0] } ipsInfo, err := api.FetchMultiInfo(ctx, u.ipFetcher, ipsToGetInfo) if err != nil { return nil, err } for i := range servers { parsedCountry, parsedCity, warnings := parseHostname(servers[i].Hostname) for _, warning := range warnings { u.warner.Warn(warning) } servers[i].Country = parsedCountry if servers[i].Country == "" { servers[i].Country = ipsInfo[i].Country } servers[i].City = parsedCity if servers[i].City == "" { servers[i].City = ipsInfo[i].City } if (parsedCountry == "" || comparePlaceNames(parsedCountry, ipsInfo[i].Country)) && (parsedCity == "" || comparePlaceNames(parsedCity, ipsInfo[i].City)) { servers[i].Region = ipsInfo[i].Region } } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/purevpn/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { ipFetcher common.IPFetcher unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(ipFetcher common.IPFetcher, unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ ipFetcher: ipFetcher, unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/slickvpn/connection.go ================================================ package slickvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 443, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/slickvpn/openvpnconf.go ================================================ package slickvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { const pingSeconds = 10 const bufSize = 393216 const mssFix = 1320 providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, openvpn.AES256cbc, }, MssFix: mssFix, Ping: pingSeconds, SndBuf: bufSize, RcvBuf: bufSize, // Certificate found from https://www.slickvpn.com/tutorials/using-openvpn-configuration-files/ CAs: []string{"MIIESDCCAzCgAwIBAgIJAKHK5bbBPSU2MA0GCSqGSIb3DQEBBQUAMHUxCzAJBgNVBAYTAlVTMQwwCgYDVQQIEwNWUE4xDDAKBgNVBAcTA1ZQTjEMMAoGA1UEChMDVlBOMQwwCgYDVQQLEwNWUE4xDDAKBgNVBAMTA1ZQTjEMMAoGA1UEKRMDVlBOMRIwEAYJKoZIhvcNAQkBFgNWUE4wHhcNMjIwMjE0MjEzNDQwWhcNMzIwMjEyMjEzNDQwWjB1MQswCQYDVQQGEwJVUzEMMAoGA1UECBMDVlBOMQwwCgYDVQQHEwNWUE4xDDAKBgNVBAoTA1ZQTjEMMAoGA1UECxMDVlBOMQwwCgYDVQQDEwNWUE4xDDAKBgNVBCkTA1ZQTjESMBAGCSqGSIb3DQEJARYDVlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwUl1XkfGo3c1uFsvgbO3C3yvu0+cHs9IUSsju5U9cPNCo53mqRHU/qntCC+ldIDKN+dNWn7eURIDszy+flutkgucs0qgETy5fzpXnVMtiKmMiOYWiJDor7j7QivRaxoT/O2fyjxvVCL8gMa60ekWSGBT6isYY8t8BnwTPVP0KvDm36wdaqLmubhf2XGvka/hhNx0SXMmz2x3OJ8BcoypZVLLk/+Qm6DJh1KxyDi4kI+jBC41QuaKKDNwb0kth1304eqZoUeCXtGkzl91y76ODAfdqzXf9WYJdgkXpOm53Cg7FtB42AqPRqHJVwYxDnQyrFwy4a3CWqFJnKtxJM/WlwIDAQABo4HaMIHXMB0GA1UdDgQWBBRSzxAtISfbSRPr0fmhwNZc8kOeKzCBpwYDVR0jBIGfMIGcgBRSzxAtISfbSRPr0fmhwNZc8kOeK6F5pHcwdTELMAkGA1UEBhMCVVMxDDAKBgNVBAgTA1ZQTjEMMAoGA1UEBxMDVlBOMQwwCgYDVQQKEwNWUE4xDDAKBgNVBAsTA1ZQTjEMMAoGA1UEAxMDVlBOMQwwCgYDVQQpEwNWUE4xEjAQBgkqhkiG9w0BCQEWA1ZQToIJAKHK5bbBPSU2MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAGuKFW765F3D5wax5IFSQbEtr+rVHgjR8jiYTzxOCmbLaU4oj6phOhfQJiTTADQYgCIC/DN0HsAEEqrKkwEn8KdAoNiAWfqCV/eqnK83y7yRDGx6/zfsch+PAzKZouMJLrvR9RYbHq7m3adZv84YLge7FE1JqFk1j6rSa4dUUnGQPrQgr9Sasnz8O8KK45XH6fqKrsd4p485n+BXPDzWVsHl4M5dqQV7qUZTazbzzh4NyP5/RQ6Oh5jqMN7po4qiqWv1pu0EKDxUG6gcECc2cTQwHhIOPeCGdHS7uuI2FlLnHaCUFBgi8zTsZxaeaPuPch5M7Zxbdg0GBhS2SmNi+io="}, //nolint:lll ExtraLines: []string{ "redirect-gateway", }, } // SlickVPN's certificate is sha1WithRSAEncryption and sha1 is now // rejected by openssl 3.x.x which is used by OpenVPN >= 2.5. // We lower the security level to 3 to allow this algorithm, // see https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_security_level.html providerSettings.TLSCipher = "DEFAULT:@SECLEVEL=0" return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/slickvpn/provider.go ================================================ package slickvpn import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/slickvpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.SlickVPN } ================================================ FILE: internal/provider/slickvpn/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/slickvpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { // Since SlickVPN website listing VPN servers https://www.slickvpn.com/locations/ // went to become a pile of trash, we now hardcode the servers data below. servers = []models.Server{ {Hostname: "gw1.akl1.slickvpn.com", Region: "Oceania", Country: "New Zealand", City: "Auckland"}, {Hostname: "gw1.arn1.slickvpn.com", Region: "Europe", Country: "Sweden", City: "Stockholm"}, {Hostname: "gw1.atl1.slickvpn.com", Region: "North America", Country: "United States", City: "Atlanta"}, {Hostname: "gw1.bos1.slickvpn.com", Region: "North America", Country: "United States", City: "Boston"}, {Hostname: "gw1.buf1.slickvpn.com", Region: "North America", Country: "United States", City: "Buffalo"}, {Hostname: "gw1.buh2.slickvpn.com", Region: "Europe", Country: "Romania", City: "Bucharest"}, {Hostname: "gw1.cdg1.slickvpn.com", Region: "Europe", Country: "France", City: "Paris"}, {Hostname: "gw1.cmh1.slickvpn.com", Region: "North America", Country: "United States", City: "Columbus"}, {Hostname: "gw1.fra1.slickvpn.com", Region: "Europe", Country: "Germany", City: "Frankfurt"}, {Hostname: "gw1.lax2.slickvpn.com", Region: "North America", Country: "United States", City: "Los Angeles"}, {Hostname: "gw1.lga2.slickvpn.com", Region: "North America", Country: "United States", City: "New York"}, {Hostname: "gw1.man2.slickvpn.com", Region: "Europe", Country: "United Kingdom", City: "Manchester"}, {Hostname: "gw1.mci2.slickvpn.com", Region: "North America", Country: "United States", City: "Kansas City"}, {Hostname: "gw1.mxp1.slickvpn.com", Region: "Europe", Country: "Italy", City: "Milan"}, {Hostname: "gw1.nrt1.slickvpn.com", Region: "Asia", Country: "Japan", City: "Tokyo"}, {Hostname: "gw1.phx1.slickvpn.com", Region: "North America", Country: "United States", City: "Phoenix"}, {Hostname: "gw1.stl1.slickvpn.com", Region: "North America", Country: "United States", City: "St Louis"}, {Hostname: "gw1.syd1.slickvpn.com", Region: "Oceania", Country: "Australia", City: "Sydney"}, {Hostname: "gw1.yul1.slickvpn.com", Region: "North America", Country: "Canada", City: "Montreal"}, {Hostname: "gw1.yyz1.slickvpn.com", Region: "North America", Country: "Canada", City: "Toronto"}, {Hostname: "gw2.ams3.slickvpn.com", Region: "Europe", Country: "Netherlands", City: "Amsterdam"}, {Hostname: "gw2.hou1.slickvpn.com", Region: "North America", Country: "United States", City: "Houston"}, {Hostname: "gw2.ord1.slickvpn.com", Region: "North America", Country: "United States", City: "Chicago"}, {Hostname: "gw2.sin2.slickvpn.com", Region: "Asia", Country: "Singapore", City: "Singapore"}, {Hostname: "gw2.slc1.slickvpn.com", Region: "North America", Country: "United States", City: "Salt Lake City"}, {Hostname: "gw4.lhr1.slickvpn.com", Region: "Europe", Country: "United Kingdom", City: "London"}, } hosts := make([]string, len(servers)) for i := range servers { hosts[i] = servers[i].Hostname } resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } if err != nil { return nil, fmt.Errorf("resolving hosts: %w", err) } if len(hostToIPs) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(hosts), minServers) } for i := range servers { servers[i].VPN = vpn.OpenVPN servers[i].TCP = true servers[i].UDP = true servers[i].IPs = hostToIPs[servers[i].Hostname] } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/slickvpn/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client parallelResolver common.ParallelResolver warner common.Warner } func New(client *http.Client, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ client: client, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/surfshark/connection.go ================================================ package surfshark import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(1443, 1194, 51820) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/surfshark/openvpnconf.go ================================================ package surfshark import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, }, Auth: openvpn.SHA512, RenegDisabled: true, KeyDirection: "1", Ping: 15, MssFix: 1450, TunMTUExtra: 32, CAs: []string{"MIIFTTCCAzWgAwIBAgIJAMs9S3fqwv+mMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNVBAYTAlZHMRIwEAYDVQQKDAlTdXJmc2hhcmsxGjAYBgNVBAMMEVN1cmZzaGFyayBSb290IENBMB4XDTE4MDMxNDA4NTkyM1oXDTI4MDMxMTA4NTkyM1owPTELMAkGA1UEBhMCVkcxEjAQBgNVBAoMCVN1cmZzaGFyazEaMBgGA1UEAwwRU3VyZnNoYXJrIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDEGMNj0aisM63oSkmVJyZPaYX7aPsZtzsxo6m6p5Wta3MGASoryRsBuRaH6VVa0fwbI1nw5ubyxkuaNa4v3zHVwuSq6F1p8S811+1YP1av+jqDcMyojH0ujZSHIcb/i5LtaHNXBQ3qN48Cc7sqBnTIIFpmb5HthQ/4pW+a82b1guM5dZHsh7q+LKQDIGmvtMtO1+NEnmj81BApFayiaD1ggvwDI4x7o/Y3ksfWSCHnqXGyqzSFLh8QuQrTmWUm84YHGFxoI1/8AKdIyVoB6BjcaMKtKs/pbctk6vkzmYf0XmGovDKPQF6MwUekchLjB5gSBNnptSQ9kNgnTLqi0OpSwI6ixX52Ksva6UM8P01ZIhWZ6ua/T/tArgODy5JZMW+pQ1A6L0b7egIeghpwKnPRG+5CzgO0J5UE6gv000mqbmC3CbiS8xi2xuNgruAyY2hUOoV9/BuBev8ttE5ZCsJH3YlG6NtbZ9hPc61GiBSx8NJnX5QHyCnfic/X87eST/amZsZCAOJ5v4EPSaKrItt+HrEFWZQIq4fJmHJNNbYvWzCE08AL+5/6Z+lxb/Bm3dapx2zdit3x2e+miGHekuiE8lQWD0rXD4+T+nDRi3X+kyt8Ex/8qRiUfrisrSHFzVMRungIMGdO9O/zCINFrb7wahm4PqU2f12Z9TRCOTXciQIDAQABo1AwTjAdBgNVHQ4EFgQUYRpbQwyDahLMN3F2ony3+UqOYOgwHwYDVR0jBBgwFoAUYRpbQwyDahLMN3F2ony3+UqOYOgwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAn9zV7F/XVnFNZhHFrt0ZS1Yqz+qM9CojLmiyblMFh0p7t+Hh+VKVgMwrz0LwDH4UsOosXA28eJPmech6/bjfymkoXISy/NUSTFpUChGO9RabGGxJsT4dugOw9MPaIVZffny4qYOc/rXDXDSfF2b+303lLPI43y9qoe0oyZ1vtk/UKG75FkWfFUogGNbpOkuz+et5Y0aIEiyg0yh6/l5Q5h8+yom0HZnREHhqieGbkaGKLkyu7zQ4D4tRK/mBhd8nv+09GtPEG+D5LPbabFVxKjBMP4Vp24WuSUOqcGSsURHevawPVBfgmsxf1UCjelaIwngdh6WfNCRXa5QQPQTKubQvkvXONCDdhmdXQccnRX1nJWhPYi0onffvjsWUfztRypsKzX4dvM9k7xnIcGSGEnCC4RCgt1UiZIj7frcCMssbA6vJ9naM0s7JF7N3VKeHJtqe1OCRHMYnWUZt9vrqX6IoIHlZCoLlv39wFW9QNxelcAOCVbD+19MZ0ZXt7LitjIqe7yF5WxDQN4xru087FzQ4Hfj7eH1SNLLyKZkA1eecjmRoi/OoqAt7afSnwtQLtMUc2bQDg6rHt5C0e4dCLqP/9PGZTSJiwmtRHJ/N5qYWIh9ju83APvLm/AGBTR2pXmj9G3KdVOkpIC7L35dI623cSEC3Q3UZutsEm/UplsM="}, //nolint:lll TLSAuth: "b02cb1d7c6fee5d4f89b8de72b51a8d0c7b282631d6fc19be1df6ebae9e2779e6d9f097058a31c97f57f0c35526a44ae09a01d1284b50b954d9246725a1ead1ff224a102ed9ab3da0152a15525643b2eee226c37041dc55539d475183b889a10e18bb94f079a4a49888da566b99783460ece01daaf93548beea6c827d9674897e7279ff1a19cb092659e8c1860fbad0db4ad0ad5732f1af4655dbd66214e552f04ed8fd0104e1d4bf99c249ac229ce169d9ba22068c6c0ab742424760911d4636aafb4b85f0c952a9ce4275bc821391aa65fcd0d2394f006e3fba0fd34c4bc4ab260f4b45dec3285875589c97d3087c9134d3a3aa2f904512e85aa2dc2202498", //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/surfshark/provider.go ================================================ package surfshark import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/surfshark/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Surfshark } ================================================ FILE: internal/provider/surfshark/servers/locationdata.go ================================================ package servers // LocationData is required to keep location data on Surfshark // servers that are not obtained through their API. type ServerLocation struct { Region string Country string City string RetroLoc string // TODO remove in v4 Hostname string MultiHop bool } // TODO remove retroRegion and servers from API in v4. func LocationData() (data []ServerLocation) { //nolint:lll return []ServerLocation{ {Region: "Asia Pacific", Country: "Australia", City: "Adelaide", RetroLoc: "Australia Adelaide", Hostname: "au-adl.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Australia", City: "Brisbane", RetroLoc: "Australia Brisbane", Hostname: "au-bne.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Australia", City: "Melbourne", RetroLoc: "Australia Melbourne", Hostname: "au-mel.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Australia", City: "Perth", RetroLoc: "Australia Perth", Hostname: "au-per.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Australia", City: "Sydney", RetroLoc: "Australia Sydney", Hostname: "au-syd.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Azerbaijan", City: "Baku", RetroLoc: "Azerbaijan", Hostname: "az-bak.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Hong Kong", City: "Hong Kong", RetroLoc: "Hong Kong", Hostname: "hk-hkg.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Hong Kong", City: "Hong Kong", RetroLoc: "Hong Kong", Hostname: "lk-cmb.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Hong Kong", City: "Hong Kong", RetroLoc: "Hong Kong", Hostname: "mn-uln.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Indonesia", City: "Jakarta", RetroLoc: "Indonesia", Hostname: "id-jak.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st014.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st015.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st016.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st017.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st018.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st019.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st020.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st021.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st022.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st023.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st024.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", Hostname: "jp-tok-st025.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Japan", City: "Tokyo", RetroLoc: "Japan Tokyo", Hostname: "jp-tok.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Malaysia", City: "Kuala Lumpur", RetroLoc: "Malaysia", Hostname: "my-kul.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "New Zealand", City: "Auckland", RetroLoc: "New Zealand", Hostname: "nz-akl.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Philippines", City: "Manila", RetroLoc: "Philippines", Hostname: "ph-mnl.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", RetroLoc: "Singapore mp001", Hostname: "sg-sng-mp001.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", Hostname: "sg-sng-st005.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", Hostname: "sg-sng-st006.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", Hostname: "sg-sng-st007.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", Hostname: "sg-sng-st008.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", Hostname: "sg-sng-st009.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", Hostname: "sg-sng-st010.prod.surfshark.com"}, {Region: "Asia Pacific", Country: "Singapore", City: "Singapore", RetroLoc: "Singapore", Hostname: "sg-sng.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "South Korea", City: "Seoul", RetroLoc: "Korea", Hostname: "kr-seo.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Taiwan", City: "Taichung City", RetroLoc: "Taiwan", Hostname: "tw-tai.prod.surfshark.com", MultiHop: false}, {Region: "Asia Pacific", Country: "Thailand", City: "Bangkok", RetroLoc: "Thailand", Hostname: "th-bkk.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Albania", City: "Tirana", RetroLoc: "Albania", Hostname: "al-tia.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Austria", City: "Vienna", RetroLoc: "Austria", Hostname: "at-vie.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Belgium", City: "Brussels", RetroLoc: "Belgium", Hostname: "be-bru.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Bosnia and Herzegovina", City: "Sarajevo", RetroLoc: "Bosnia and Herzegovina", Hostname: "ba-sjj.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Bulgaria", City: "Sofia", RetroLoc: "Bulgaria", Hostname: "bg-sof.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Croatia", City: "Zagreb", RetroLoc: "Croatia", Hostname: "hr-zag.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Cyprus", City: "Nicosia", RetroLoc: "Cyprus", Hostname: "cy-nic.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Czech Republic", City: "Prague", RetroLoc: "Czech Republic", Hostname: "cz-prg.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Denmark", City: "Copenhagen", RetroLoc: "Denmark", Hostname: "dk-cph.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Estonia", City: "Tallinn", RetroLoc: "Estonia", Hostname: "ee-tll.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Finland", City: "Helsinki", RetroLoc: "Finland", Hostname: "fi-hel.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "France", City: "Bordeaux", RetroLoc: "France Bordeaux", Hostname: "fr-bod.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "France", City: "Marseille", RetroLoc: "France Marseilles", Hostname: "fr-mrs.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "France", City: "Paris", RetroLoc: "France Paris", Hostname: "fr-par.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Berlin", RetroLoc: "Germany Berlin", Hostname: "de-ber.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main st001", Hostname: "de-fra-st001.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main st002", Hostname: "de-fra-st002.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main st003", Hostname: "de-fra-st003.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main st004", Hostname: "de-fra-st004.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main st005", Hostname: "de-fra-st005.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main st006", Hostname: "de-fra-st006.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main st007", Hostname: "de-fra-st007.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt am Main", Hostname: "de-fra.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Germany", City: "Frankfurt am Main", RetroLoc: "Germany Frankfurt mp001", Hostname: "de-fra-mp001.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Greece", City: "Athens", RetroLoc: "Greece", Hostname: "gr-ath.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Hungary", City: "Budapest", RetroLoc: "Hungary", Hostname: "hu-bud.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Iceland", City: "Reykjavik", RetroLoc: "Iceland", Hostname: "is-rkv.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Ireland", City: "Dublin", RetroLoc: "Ireland", Hostname: "ie-dub.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Italy", City: "Milan", RetroLoc: "Italy Milan", Hostname: "it-mil.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Italy", City: "Rome", RetroLoc: "Italy Rome", Hostname: "it-rom.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Latvia", City: "Riga", RetroLoc: "Latvia", Hostname: "lv-rig.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Luxembourg", City: "Luxembourg", RetroLoc: "Luxembourg", Hostname: "lu-ste.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Moldova", City: "Chisinau", RetroLoc: "Moldova", Hostname: "md-chi.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Netherlands", City: "Amsterdam", RetroLoc: "Netherlands Amsterdam mp001", Hostname: "nl-ams-mp001.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Netherlands", City: "Amsterdam", RetroLoc: "Netherlands Amsterdam st001", Hostname: "nl-ams-st001.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Netherlands", City: "Amsterdam", RetroLoc: "Netherlands Amsterdam", Hostname: "nl-ams.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "North Macedonia", City: "Skopje", RetroLoc: "North Macedonia", Hostname: "mk-skp.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Norway", City: "Oslo", RetroLoc: "Norway", Hostname: "no-osl.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Poland", City: "Gdansk", RetroLoc: "Poland Gdansk", Hostname: "pl-gdn.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Poland", City: "Warsaw", RetroLoc: "Poland Warsaw", Hostname: "pl-waw.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Portugal", City: "Lisbon", RetroLoc: "Portugal Lisbon", Hostname: "pt-lis.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Portugal", City: "Porto", RetroLoc: "Portugal Porto", Hostname: "pt-opo.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Romania", City: "Bucharest", RetroLoc: "Romania", Hostname: "ro-buc.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Serbia", City: "Belgrade", RetroLoc: "Serbia", Hostname: "rs-beg.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Slovakia", City: "Bratislava", RetroLoc: "Slovekia", Hostname: "sk-bts.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Slovenia", City: "Ljubljana", RetroLoc: "Slovenia", Hostname: "si-lju.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Spain", City: "Barcelona", RetroLoc: "Spain Barcelona", Hostname: "es-bcn.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Spain", City: "Madrid", RetroLoc: "Spain Madrid", Hostname: "es-mad.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Spain", City: "Valencia", RetroLoc: "Spain Valencia", Hostname: "es-vlc.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Sweden", City: "Stockholm", RetroLoc: "Sweden", Hostname: "se-sto.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Switzerland", City: "Zurich", RetroLoc: "Switzerland", Hostname: "ch-zur.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Turkey", City: "Istanbul", RetroLoc: "Turkey Istanbul", Hostname: "tr-ist.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "Ukraine", City: "Kyiv", RetroLoc: "Ukraine", Hostname: "ua-iev.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "Glasgow", RetroLoc: "UK Glasgow", Hostname: "uk-gla.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "London", RetroLoc: "UK London mp001", Hostname: "uk-lon-mp001.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "London", RetroLoc: "UK London st001", Hostname: "uk-lon-st001.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "London", RetroLoc: "UK London st002", Hostname: "uk-lon-st002.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "London", RetroLoc: "UK London st003", Hostname: "uk-lon-st003.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "London", RetroLoc: "UK London st004", Hostname: "uk-lon-st004.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "London", RetroLoc: "UK London st005", Hostname: "uk-lon-st005.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "London", RetroLoc: "UK London", Hostname: "uk-lon.prod.surfshark.com", MultiHop: false}, {Region: "Europe", Country: "United Kingdom", City: "Manchester", RetroLoc: "UK Manchester", Hostname: "uk-man.prod.surfshark.com", MultiHop: false}, {Region: "Middle East and Africa", Country: "Israel", City: "Tel Aviv", RetroLoc: "Israel", Hostname: "il-tlv.prod.surfshark.com", MultiHop: false}, {Region: "Middle East and Africa", Country: "Nigeria", City: "Lagos", RetroLoc: "Nigeria", Hostname: "ng-lag.prod.surfshark.com", MultiHop: false}, {Region: "Middle East and Africa", Country: "South Africa", City: "Johannesburg", RetroLoc: "South Africa", Hostname: "za-jnb.prod.surfshark.com", MultiHop: false}, {Region: "Middle East and Africa", Country: "United Arab Emirates", City: "Dubai", RetroLoc: "United Arab Emirates", Hostname: "ae-dub.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Argentina", City: "Buenos Aires", RetroLoc: "Argentina Buenos Aires", Hostname: "ar-bua.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Brazil", City: "Sao Paulo", RetroLoc: "Brazil", Hostname: "br-sao.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Canada", City: "Montreal", RetroLoc: "Canada Montreal", Hostname: "ca-mon.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Canada", City: "Toronto", RetroLoc: "Canada Toronto mp001", Hostname: "ca-tor-mp001.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Canada", City: "Toronto", RetroLoc: "Canada Toronto", Hostname: "ca-tor.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Canada", City: "Vancouver", RetroLoc: "Canada Vancouver", Hostname: "ca-van.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Chile", City: "Santiago", RetroLoc: "Chile", Hostname: "cl-san.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Colombia", City: "Bogota", RetroLoc: "Colombia", Hostname: "co-bog.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "Costa Rica", City: "San Jose", RetroLoc: "Costa Rica", Hostname: "cr-sjn.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Atlanta", RetroLoc: "US Atlanta", Hostname: "us-atl.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Bend", RetroLoc: "US Bend", Hostname: "us-bdn.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Boston", RetroLoc: "US Boston", Hostname: "us-bos.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Buffalo", RetroLoc: "US Buffalo", Hostname: "us-buf.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Charlotte", RetroLoc: "US Charlotte", Hostname: "us-clt.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Chicago", RetroLoc: "US Chicago", Hostname: "us-chi.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Dallas", RetroLoc: "US Dallas", Hostname: "us-dal.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Denver", RetroLoc: "US Denver", Hostname: "us-den.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Detroit", RetroLoc: "US Gahanna", Hostname: "us-dtw.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Houston", RetroLoc: "US Houston", Hostname: "us-hou.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Kansas City", RetroLoc: "US Kansas City", Hostname: "us-kan.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Las Vegas", RetroLoc: "US Las Vegas", Hostname: "us-las.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Latham", RetroLoc: "US Latham", Hostname: "us-ltm.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Los Angeles", RetroLoc: "US Los Angeles", Hostname: "us-lax.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Miami", RetroLoc: "US Miami", Hostname: "us-mia.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "New York", RetroLoc: "US New York City mp001", Hostname: "us-nyc-mp001.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "New York", RetroLoc: "US New York City st001", Hostname: "us-nyc-st001.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "New York", RetroLoc: "US New York City st002", Hostname: "us-nyc-st002.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "New York", RetroLoc: "US New York City st003", Hostname: "us-nyc-st003.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "New York", RetroLoc: "US New York City st004", Hostname: "us-nyc-st004.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "New York", RetroLoc: "US New York City st005", Hostname: "us-nyc-st005.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "New York", RetroLoc: "US New York City", Hostname: "us-nyc.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Phoenix", RetroLoc: "US Phoenix", Hostname: "us-phx.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Salt Lake City", RetroLoc: "US Salt Lake City", Hostname: "us-slc.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "San Francisco", RetroLoc: "US San Francisco mp001", Hostname: "us-sfo-mp001.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "San Francisco", RetroLoc: "US San Francisco", Hostname: "us-sfo.prod.surfshark.com", MultiHop: false}, {Region: "The Americas", Country: "United States", City: "Seattle", RetroLoc: "US Seatle", Hostname: "us-sea.prod.surfshark.com", MultiHop: false}, } } ================================================ FILE: internal/provider/surfshark/updater/api.go ================================================ package updater import ( "context" "encoding/json" "errors" "fmt" "net/http" "github.com/qdm12/gluetun/internal/provider/surfshark/servers" ) func addServersFromAPI(ctx context.Context, client *http.Client, hts hostToServers, ) (err error) { data, err := fetchAPI(ctx, client) if err != nil { return err } locationData := servers.LocationData() hostToLocation := hostToLocation(locationData) for _, serverData := range data { locationData := hostToLocation[serverData.Host] // TODO remove in v4 retroLoc := locationData.RetroLoc // empty string if the host has no retro-compatible region tcp, udp := true, true // OpenVPN servers from API supports both TCP and UDP hts.addOpenVPN(serverData.Host, serverData.Region, serverData.Country, serverData.Location, retroLoc, tcp, udp) if serverData.PubKey != "" { hts.addWireguard(serverData.Host, serverData.Region, serverData.Country, serverData.Location, retroLoc, serverData.PubKey) } } return nil } var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") type serverData struct { Host string `json:"connectionName"` Region string `json:"region"` Country string `json:"country"` Location string `json:"location"` PubKey string `json:"pubKey"` } func fetchAPI(ctx context.Context, client *http.Client) ( servers []serverData, err error, ) { const url = "https://api.surfshark.com/v4/server/clusters" for _, clustersType := range [...]string{"generic", "double", "static", "obfuscated"} { request, err := http.NewRequestWithContext(ctx, http.MethodGet, url+"/"+clustersType, nil) if err != nil { return nil, err } response, err := client.Do(request) if err != nil { return nil, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { return nil, fmt.Errorf("%w: %d %s", ErrHTTPStatusCodeNotOK, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) var newServers []serverData err = decoder.Decode(&newServers) if err != nil { return nil, fmt.Errorf("decoding response body: %w", err) } err = response.Body.Close() if err != nil { return nil, err } servers = append(servers, newServers...) } return servers, nil } ================================================ FILE: internal/provider/surfshark/updater/api_test.go ================================================ package updater import ( "context" "errors" "io" "net/http" "strings" "testing" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) type httpExchange struct { requestURL string responseStatus int responseBody io.ReadCloser } func Test_addServersFromAPI(t *testing.T) { t.Parallel() testCases := map[string]struct { hts hostToServers exchanges []httpExchange expected hostToServers err error }{ "fetch API error": { exchanges: []httpExchange{{ requestURL: "https://api.surfshark.com/v4/server/clusters/generic", responseStatus: http.StatusNoContent, }}, err: errors.New("HTTP status code not OK: 204 No Content"), }, "success": { hts: hostToServers{ "existinghost": []models.Server{{Hostname: "existinghost"}}, }, exchanges: []httpExchange{{ requestURL: "https://api.surfshark.com/v4/server/clusters/generic", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[ {"connectionName":"host1","region":"region1","country":"country1","location":"location1"}, {"connectionName":"host1","region":"region1","country":"country1","location":"location1","pubkey":"pubKeyValue"}, {"connectionName":"host2","region":"region2","country":"country1","location":"location2"} ]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/double", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/static", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/obfuscated", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }}, expected: map[string][]models.Server{ "existinghost": {{Hostname: "existinghost"}}, "host1": {{ VPN: vpn.OpenVPN, Region: "region1", Country: "country1", City: "location1", Hostname: "host1", TCP: true, UDP: true, }, { VPN: vpn.Wireguard, Region: "region1", Country: "country1", City: "location1", Hostname: "host1", WgPubKey: "pubKeyValue", }}, "host2": {{ VPN: vpn.OpenVPN, Region: "region2", Country: "country1", City: "location2", Hostname: "host2", TCP: true, UDP: true, }}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctx := context.Background() currentExchangeIndex := 0 client := &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, http.MethodGet, r.Method) exchange := testCase.exchanges[currentExchangeIndex] currentExchangeIndex++ assert.Equal(t, exchange.requestURL, r.URL.String()) return &http.Response{ StatusCode: exchange.responseStatus, Status: http.StatusText(exchange.responseStatus), Body: exchange.responseBody, }, nil }), } err := addServersFromAPI(ctx, client, testCase.hts) assert.Equal(t, testCase.expected, testCase.hts) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } }) } } func Test_fetchAPI(t *testing.T) { t.Parallel() testCases := map[string]struct { exchanges []httpExchange data []serverData err error }{ "http response status not ok": { exchanges: []httpExchange{{ requestURL: "https://api.surfshark.com/v4/server/clusters/generic", responseStatus: http.StatusNoContent, }}, err: errors.New("HTTP status code not OK: 204 No Content"), }, "nil body": { exchanges: []httpExchange{{ requestURL: "https://api.surfshark.com/v4/server/clusters/generic", responseStatus: http.StatusOK, }}, err: errors.New("decoding response body: EOF"), }, "no server": { exchanges: []httpExchange{{ requestURL: "https://api.surfshark.com/v4/server/clusters/generic", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/double", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/static", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/obfuscated", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }}, }, "success": { exchanges: []httpExchange{{ requestURL: "https://api.surfshark.com/v4/server/clusters/generic", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[ {"connectionName":"host1","region":"region1","country":"country1","location":"location1"}, {"connectionName":"host2","region":"region2","country":"country1","location":"location2"} ]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/double", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/static", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }, { requestURL: "https://api.surfshark.com/v4/server/clusters/obfuscated", responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`[]`)), }}, data: []serverData{ { Region: "region1", Country: "country1", Location: "location1", Host: "host1", }, { Region: "region2", Country: "country1", Location: "location2", Host: "host2", }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctx := context.Background() currentExchangeIndex := 0 client := &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, http.MethodGet, r.Method) exchange := testCase.exchanges[currentExchangeIndex] currentExchangeIndex++ assert.Equal(t, exchange.requestURL, r.URL.String()) return &http.Response{ StatusCode: exchange.responseStatus, Status: http.StatusText(exchange.responseStatus), Body: exchange.responseBody, }, nil }), } data, err := fetchAPI(ctx, client) assert.Equal(t, testCase.data, data) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/provider/surfshark/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type hostToServers map[string][]models.Server func (hts hostToServers) addOpenVPN(host, region, country, city, retroLoc string, tcp, udp bool, ) { // Check for existing server for this host and OpenVPN. servers := hts[host] for i, existingServer := range servers { if existingServer.Hostname != host || existingServer.VPN != vpn.OpenVPN { continue } // Update OpenVPN supported protocols and return if !existingServer.TCP { servers[i].TCP = tcp } if !existingServer.UDP { servers[i].UDP = udp } return } server := models.Server{ VPN: vpn.OpenVPN, Region: region, Country: country, City: city, RetroLoc: retroLoc, Hostname: host, TCP: tcp, UDP: udp, } hts[host] = append(servers, server) } func (hts hostToServers) addWireguard(host, region, country, city, retroLoc, wgPubKey string, ) { // Check for existing server for this host and Wireguard. servers := hts[host] for _, existingServer := range servers { if existingServer.Hostname == host && existingServer.VPN == vpn.Wireguard { // No update necessary for Wireguard return } } server := models.Server{ VPN: vpn.Wireguard, Region: region, Country: country, City: city, RetroLoc: retroLoc, Hostname: host, WgPubKey: wgPubKey, } hts[host] = append(servers, server) } func (hts hostToServers) toHostsSlice() (hosts []string) { const vpnServerTypes = 2 // OpenVPN + Wireguard hosts = make([]string, 0, vpnServerTypes*len(hts)) for host := range hts { hosts = append(hosts, host) } return hosts } func (hts hostToServers) adaptWithIPs(hostToIPs map[string][]netip.Addr) { for host, IPs := range hostToIPs { servers := hts[host] for i := range servers { servers[i].IPs = IPs } hts[host] = servers } for host, servers := range hts { if len(servers[0].IPs) == 0 { delete(hts, host) } } } func (hts hostToServers) toServersSlice() (servers []models.Server) { const vpnServerTypes = 2 // OpenVPN + Wireguard servers = make([]models.Server, 0, vpnServerTypes*len(hts)) for _, serversForHost := range hts { servers = append(servers, serversForHost...) } return servers } ================================================ FILE: internal/provider/surfshark/updater/location.go ================================================ package updater import ( "errors" "fmt" "github.com/qdm12/gluetun/internal/provider/surfshark/servers" ) var errHostnameNotFound = errors.New("hostname not found in hostname to location mapping") func getHostInformation(host string, hostnameToLocation map[string]servers.ServerLocation) ( data servers.ServerLocation, err error, ) { locationData, ok := hostnameToLocation[host] if !ok { return locationData, fmt.Errorf("%w: %s", errHostnameNotFound, host) } return locationData, nil } func hostToLocation(locationData []servers.ServerLocation) ( hostToLocation map[string]servers.ServerLocation, ) { hostToLocation = make(map[string]servers.ServerLocation, len(locationData)) for _, data := range locationData { hostToLocation[data.Hostname] = data } return hostToLocation } ================================================ FILE: internal/provider/surfshark/updater/remaining.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/surfshark/servers" ) // getRemainingServers finds extra servers not found in the API or in the ZIP file. func getRemainingServers(hts hostToServers) { locationData := servers.LocationData() hostnameToLocationLeft := hostToLocation(locationData) for _, hostnameDone := range hts.toHostsSlice() { delete(hostnameToLocationLeft, hostnameDone) } for hostname, locationData := range hostnameToLocationLeft { // we assume the OpenVPN server supports both TCP and UDP const tcp, udp = true, true hts.addOpenVPN(hostname, locationData.Region, locationData.Country, locationData.City, locationData.RetroLoc, tcp, udp) } } ================================================ FILE: internal/provider/surfshark/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/surfshark/updater/roundtrip_test.go ================================================ package updater import "net/http" type roundTripFunc func(r *http.Request) (*http.Response, error) func (f roundTripFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) } ================================================ FILE: internal/provider/surfshark/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { hts := make(hostToServers) err = addServersFromAPI(ctx, u.client, hts) if err != nil { return nil, fmt.Errorf("fetching server information from API: %w", err) } warnings, err := addOpenVPNServersFromZip(ctx, u.unzipper, hts) for _, warning := range warnings { u.warner.Warn(warning) } if err != nil { return nil, fmt.Errorf("getting OpenVPN ZIP file: %w", err) } getRemainingServers(hts) hosts := hts.toHostsSlice() resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } if err != nil { return nil, err } hts.adaptWithIPs(hostToIPs) if len(hts) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(hts), minServers) } servers = hts.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/surfshark/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(client *http.Client, unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ client: client, unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/surfshark/updater/zip.go ================================================ package updater import ( "context" "strings" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/surfshark/servers" "github.com/qdm12/gluetun/internal/updater/openvpn" ) func addOpenVPNServersFromZip(ctx context.Context, unzipper common.Unzipper, hts hostToServers) ( warnings []string, err error, ) { const url = "https://my.surfshark.com/vpn/api/v1/server/configurations" contents, err := unzipper.FetchAndExtract(ctx, url) if err != nil { return nil, err } hostnamesDone := hts.toHostsSlice() hostnamesDoneSet := make(map[string]struct{}, len(hostnamesDone)) for _, hostname := range hostnamesDone { hostnamesDoneSet[hostname] = struct{}{} } locationData := servers.LocationData() hostToLocation := hostToLocation(locationData) for fileName, content := range contents { if !strings.HasSuffix(fileName, ".ovpn") { continue // not an OpenVPN file } host, warning, err := openvpn.ExtractHost(content) if warning != "" { warnings = append(warnings, warning) } if err != nil { // treat error as warning and go to next file warning := err.Error() + " in " + fileName // TODO gather location data for IP address Openvpn files // and process those when this error triggers. warnings = append(warnings, warning) continue } _, ok := hostnamesDoneSet[host] if ok { continue // already done in API } tcp, udp, err := openvpn.ExtractProto(content) if err != nil { // treat error as warning and go to next file warning := err.Error() + " in " + fileName warnings = append(warnings, warning) continue } data, err := getHostInformation(host, hostToLocation) if err != nil { // treat error as warning and go to next file warning := err.Error() warnings = append(warnings, warning) continue } hts.addOpenVPN(host, data.Region, data.Country, data.City, data.RetroLoc, tcp, udp) } return warnings, nil } ================================================ FILE: internal/provider/torguard/connection.go ================================================ package torguard import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(1912, 1912, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/torguard/openvpnconf.go ================================================ package torguard import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, // In case the OpenVPN server accepts it openvpn.AES128gcm, // For OpenVPN 2.6, see https://github.com/qdm12/gluetun/issues/2271#issuecomment-2103349935 openvpn.AES128cbc, // For OpenVPN 2.5, see https://github.com/qdm12/gluetun/issues/2271#issuecomment-2103349935 }, Auth: openvpn.SHA256, MssFix: 1320, TunMTUExtra: 32, KeyDirection: "1", CAs: []string{ "MIIDMTCCAhmgAwIBAgIJAKnGGJK6qLqSMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNVBAMMCVRHLVZQTi1DQTAgFw0xOTA1MjExNDIzMTFaGA8yMDU5MDUxMTE0MjMxMVowFDESMBAGA1UEAwwJVEctVlBOLUNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlv0UgPD3xVAvhhP6q1HCmeAWbH+9HPkyQ2P6qM5oHY5dntjmq8YT48FZGHWv7+s9O47v6Bv7rEc4UwQx15cc2LByivX2JwmE8JACvNfwEnZXYAPq9WU3ZgRrAGvA09ItuLqK2fQ4A7h8bFhmyxCbSzP1sSIT/zJY6ebuh5rDQSMJRMaoI0t1zorEZ7PlEmh+o0w5GPs0D0vY50UcnEzB4GOdWC9pJREwEqppWYLN7RRdG8JyIqmA59mhARCnQFUo38HWic4trxFe71jtD7YInNV7ShQtg0S0sXo36Rqfz72Jo08qqI70dNs5DN1aGNkQ/tRK9DhL5DLmTkaCw7mEFQIDAQABo4GDMIGAMB0GA1UdDgQWBBR7DcymXBp6u/jAaZOPUjUhEyhXfjBEBgNVHSMEPTA7gBR7DcymXBp6u/jAaZOPUjUhEyhXfqEYpBYwFDESMBAGA1UEAwwJVEctVlBOLUNBggkAqcYYkrqoupIwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEBAE79ngbdSlP7IBbfnJ+2Ju7vqt9/GyhcsYtjibp6gsMUxKlD8HuvlSGj5kNO5wiwN7XXqsjYtJfdhmzzVbXksi8Fnbnfa8GhFl4IAjLJ5cxaWOxjr6wx2AhIs+BVVARjaU7iTK91RXJnl6u7UDHTkQylBTl7wgpMeG6GjhaHfcOL1t7D2w8x23cTO+p+n53P3cBq+9TiAUORdzXJvbCxlPMDSDArsgBjC57W7dtdnZo7gTfQG77JTDFBeSwPwLF7PjBB4S6rzU/4fcYwy83XKP6zDn9tgUJDnpFb/7jJ/PbNkK4BWYJp3XytOtt66v9SEKw+v/fJ+VkjU16vE/9Q3h4=", //nolint:lll }, TLSAuth: "770e8de5fc56e0248cc7b5aab56be80d0e19cbf003c1b3ed68efbaf08613c3a1a019dac6a4b84f13a6198f73229ffc21fa512394e288f82aa2cf0180f01fb3eb1a71e00a077a20f6d7a83633f5b4f47f27e30617eaf8485dd8c722a8606d56b3c183f65da5d3c9001a8cbdb96c793d936251098b24fe52a6dd2472e98cfccbc466e63520d63ade7a0eacc36208c3142a1068236a52142fbb7b3ed83d785e12a28261bccfb3bcb62a8d2f6d18f5df5f3652e59c5627d8d9c8f7877c4d7b08e19a5c363556ba68d392be78b75152dd55ba0f74d45089e84f77f4492d886524ea6c82b9f4dd83d46528d4f5c3b51cfeaf2838d938bd0597c426b0e440434f2c451f", //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/torguard/provider.go ================================================ package torguard import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/torguard/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Torguard } ================================================ FILE: internal/provider/torguard/updater/filename.go ================================================ package updater import ( "strings" "golang.org/x/text/cases" ) func parseFilename(fileName string, titleCaser cases.Caser) (country, city string) { const prefix = "TorGuard." const suffix = ".ovpn" s := strings.TrimPrefix(fileName, prefix) s = strings.TrimSuffix(s, suffix) switch { case strings.Count(s, ".") == 1 && !strings.HasPrefix(s, "USA"): parts := strings.Split(s, ".") country = parts[0] city = parts[1] case strings.HasPrefix(s, "USA"): country = "USA" s = strings.TrimPrefix(s, "USA-") s = strings.ReplaceAll(s, "-", " ") s = strings.ReplaceAll(s, ".", " ") s = strings.ToLower(s) s = titleCaser.String(s) city = s default: country = s } return country, city } ================================================ FILE: internal/provider/torguard/updater/hosttoserver.go ================================================ 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, country, city string, tcp, udp bool, ips []netip.Addr, ) { server, ok := hts[host] if !ok { server.VPN = vpn.OpenVPN server.Hostname = host server.Country = country server.City = city server.IPs = ips // used if DNS resolution fails downstream } else { server.IPs = append(server.IPs, ips...) } if tcp { server.TCP = tcp } if udp { server.UDP = udp } 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 } ================================================ FILE: internal/provider/torguard/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/torguard/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "strings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/updater/openvpn" "golang.org/x/text/cases" "golang.org/x/text/language" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { const tcpURL = "https://torguard.net/downloads/OpenVPN-TCP-Linux.zip" tcpContents, err := u.unzipper.FetchAndExtract(ctx, tcpURL) if err != nil { return nil, err } const udpURL = "https://torguard.net/downloads/OpenVPN-UDP-Linux.zip" udpContents, err := u.unzipper.FetchAndExtract(ctx, udpURL) if err != nil { return nil, err } hts := make(hostToServer) titleCaser := cases.Title(language.English) for fileName, content := range tcpContents { const tcp, udp = true, false warnings := addServerFromOvpn(fileName, content, hts, tcp, udp, titleCaser) u.warnWarnings(warnings) } for fileName, content := range udpContents { const tcp, udp = false, true warnings := addServerFromOvpn(fileName, content, hts, tcp, udp, titleCaser) u.warnWarnings(warnings) } 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) u.warnWarnings(warnings) 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) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() if len(servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } sort.Sort(models.SortableServers(servers)) return servers, nil } func addServerFromOvpn(fileName string, content []byte, hts hostToServer, tcp, udp bool, titleCaser cases.Caser, ) (warnings []string) { if !strings.HasSuffix(fileName, ".ovpn") { return nil // not an OpenVPN file } country, city := parseFilename(fileName, titleCaser) host, warning, err := openvpn.ExtractHost(content) if warning != "" { warnings = append(warnings, warning) } if err != nil { // treat error as warning and go to next file warning := err.Error() + " in " + fileName warnings = append(warnings, warning) return warnings } ips, err := openvpn.ExtractIPs(content) if err != nil { // treat error as warning and go to next file warning := err.Error() + " in " + fileName warnings = append(warnings, warning) return warnings } hts.add(host, country, city, tcp, udp, ips) return warnings } func (u *Updater) warnWarnings(warnings []string) { for _, warning := range warnings { u.warner.Warn(warning) } } ================================================ FILE: internal/provider/torguard/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/utils/cipher.go ================================================ package utils import ( "strings" ) func CipherLines(ciphers []string) (lines []string) { if len(ciphers) == 0 { return nil } return []string{ "data-ciphers-fallback " + ciphers[0], "data-ciphers " + strings.Join(ciphers, ":"), } } ================================================ FILE: internal/provider/utils/cipher_test.go ================================================ package utils import ( "testing" "github.com/stretchr/testify/assert" ) func Test_CipherLines(t *testing.T) { t.Parallel() testCases := map[string]struct { ciphers []string version string lines []string }{ "empty version": { ciphers: []string{"AES"}, lines: []string{ "data-ciphers-fallback AES", "data-ciphers AES", }, }, "2.5": { ciphers: []string{"AES", "CBC"}, version: "2.5", lines: []string{ "data-ciphers-fallback AES", "data-ciphers AES:CBC", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() lines := CipherLines(testCase.ciphers) assert.Equal(t, testCase.lines, lines) }) } } ================================================ FILE: internal/provider/utils/connection.go ================================================ package utils import ( "fmt" "math/rand" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) type ConnectionDefaults struct { OpenVPNTCPPort uint16 OpenVPNUDPPort uint16 WireguardPort uint16 } func NewConnectionDefaults(openvpnTCPPort, openvpnUDPPort, wireguardPort uint16, ) ConnectionDefaults { return ConnectionDefaults{ OpenVPNTCPPort: openvpnTCPPort, OpenVPNUDPPort: openvpnUDPPort, WireguardPort: wireguardPort, } } type Storage interface { FilterServers(provider string, selection settings.ServerSelection) ( servers []models.Server, err error) } func GetConnection(provider string, storage Storage, selection settings.ServerSelection, defaults ConnectionDefaults, ipv6Supported bool, randSource rand.Source) ( connection models.Connection, err error, ) { servers, err := storage.FilterServers(provider, selection) if err != nil { return connection, fmt.Errorf("filtering servers: %w", err) } protocol := getProtocol(selection) port := getPort(selection, defaults.OpenVPNTCPPort, defaults.OpenVPNUDPPort, defaults.WireguardPort) connections := make([]models.Connection, 0, len(servers)) for _, server := range servers { for _, ip := range server.IPs { if !ipv6Supported && ip.Is6() { continue } hostname := server.Hostname if selection.VPN == vpn.OpenVPN && server.OvpnX509 != "" { // For Windscribe where hostname and // OpenVPN x509 are not the same. hostname = server.OvpnX509 } connection := models.Connection{ Type: selection.VPN, IP: ip, Port: port, Protocol: protocol, Hostname: hostname, ServerName: server.ServerName, PortForward: server.PortForward, PubKey: server.WgPubKey, // Wireguard } connections = append(connections, connection) } } return pickConnection(connections, selection, randSource) } ================================================ FILE: internal/provider/utils/connection_test.go ================================================ package utils import ( "errors" "math/rand" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/stretchr/testify/assert" ) func Test_GetConnection(t *testing.T) { t.Parallel() errTest := errors.New("test error") testCases := map[string]struct { provider string filteredServers []models.Server filterError error serverSelection settings.ServerSelection defaults ConnectionDefaults ipv6Supported bool randSource rand.Source connection models.Connection errWrapped error errMessage string }{ "storage filter error": { filterError: errTest, errWrapped: errTest, errMessage: "filtering servers: test error", }, "server without IPs": { filteredServers: []models.Server{ {VPN: vpn.OpenVPN, UDP: true}, {VPN: vpn.OpenVPN, UDP: true}, }, serverSelection: settings.ServerSelection{}. WithDefaults(providers.Mullvad), defaults: ConnectionDefaults{ OpenVPNTCPPort: 1, OpenVPNUDPPort: 1, WireguardPort: 1, }, errWrapped: ErrNoConnectionToPickFrom, errMessage: "no connection to pick from", }, "OpenVPN server with hostname": { filteredServers: []models.Server{ { VPN: vpn.OpenVPN, UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, Hostname: "name", }, }, serverSelection: settings.ServerSelection{}. WithDefaults(providers.Mullvad), defaults: NewConnectionDefaults(443, 1194, 58820), randSource: rand.NewSource(0), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Protocol: constants.UDP, Port: 1194, Hostname: "name", }, }, "OpenVPN server with x509": { filteredServers: []models.Server{ { VPN: vpn.OpenVPN, UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, Hostname: "hostname", OvpnX509: "x509", }, }, serverSelection: settings.ServerSelection{}. WithDefaults(providers.Mullvad), defaults: NewConnectionDefaults(443, 1194, 58820), randSource: rand.NewSource(0), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Protocol: constants.UDP, Port: 1194, Hostname: "x509", }, }, "server with IPv4 and IPv6": { filteredServers: []models.Server{ { VPN: vpn.OpenVPN, UDP: true, IPs: []netip.Addr{ netip.AddrFrom4([4]byte{1, 1, 1, 1}), // All IPv6 is ignored netip.IPv6Unspecified(), netip.IPv6Unspecified(), netip.IPv6Unspecified(), netip.IPv6Unspecified(), netip.IPv6Unspecified(), }, }, }, serverSelection: settings.ServerSelection{}. WithDefaults(providers.Mullvad), defaults: NewConnectionDefaults(443, 1194, 58820), randSource: rand.NewSource(0), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Protocol: constants.UDP, Port: 1194, }, }, "server with IPv4 and IPv6 and ipv6 supported": { filteredServers: []models.Server{ { VPN: vpn.OpenVPN, UDP: true, IPs: []netip.Addr{ netip.IPv6Unspecified(), netip.AddrFrom4([4]byte{1, 1, 1, 1}), }, }, }, serverSelection: settings.ServerSelection{}. WithDefaults(providers.Mullvad), defaults: NewConnectionDefaults(443, 1194, 58820), ipv6Supported: true, randSource: rand.NewSource(0), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.IPv6Unspecified(), Protocol: constants.UDP, Port: 1194, }, }, "mixed servers": { filteredServers: []models.Server{ { VPN: vpn.OpenVPN, UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, OvpnX509: "ovpnx509", }, { VPN: vpn.Wireguard, UDP: true, IPs: []netip.Addr{netip.AddrFrom4([4]byte{2, 2, 2, 2})}, OvpnX509: "ovpnx509", }, { VPN: vpn.OpenVPN, UDP: true, IPs: []netip.Addr{ netip.AddrFrom4([4]byte{3, 3, 3, 3}), netip.AddrFrom16([16]byte{1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}), // ipv6 ignored }, Hostname: "hostname", }, }, serverSelection: settings.ServerSelection{}. WithDefaults(providers.Mullvad), defaults: NewConnectionDefaults(443, 1194, 58820), randSource: rand.NewSource(0), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Protocol: constants.UDP, Port: 1194, Hostname: "ovpnx509", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) storage := common.NewMockStorage(ctrl) storage.EXPECT(). FilterServers(testCase.provider, testCase.serverSelection). Return(testCase.filteredServers, testCase.filterError) connection, err := GetConnection(testCase.provider, storage, testCase.serverSelection, testCase.defaults, testCase.ipv6Supported, testCase.randSource) assert.Equal(t, testCase.connection, connection) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/provider/utils/filtering.go ================================================ package utils import ( "fmt" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) func filterServers(servers []models.Server, selection settings.ServerSelection, ) (filtered []models.Server) { for _, server := range servers { if filterServer(server, selection) { continue } filtered = append(filtered, server) } return filtered } func filterServer(server models.Server, selection settings.ServerSelection, ) (filtered bool) { // Note each condition is split to make sure // we have full testing coverage. if server.VPN != selection.VPN { return true } if filterByProtocol(selection, server.TCP, server.UDP) { return true } if *selection.MultiHopOnly && !server.MultiHop { return true } if *selection.FreeOnly && !server.Free { return true } if *selection.PremiumOnly && !server.Premium { return true } if *selection.StreamOnly && !server.Stream { return true } if *selection.OwnedOnly && !server.Owned { return true } if *selection.PortForwardOnly && !server.PortForward { return true } if *selection.SecureCoreOnly && !server.SecureCore { return true } if *selection.TorOnly && !server.Tor { return true } if filterByPossibilities(server.Country, selection.Countries) { return true } if filterAnyByPossibilities(server.Categories, selection.Categories) { return true } if filterByPossibilities(server.Region, selection.Regions) { return true } if filterByPossibilities(server.City, selection.Cities) { return true } if filterByPossibilities(server.ISP, selection.ISPs) { return true } if filterByPossibilities(server.Number, selection.Numbers) { return true } if filterByPossibilities(server.ServerName, selection.Names) { return true } if filterByPossibilities(server.Hostname, selection.Hostnames) { return true } // TODO filter port forward server for PIA return false } func filterByPossibilities[T string | uint16](value T, possibilities []T) (filtered bool) { if len(possibilities) == 0 { return false } for _, possibility := range possibilities { if strings.EqualFold(fmt.Sprint(value), fmt.Sprint(possibility)) { return false } } return true } func filterAnyByPossibilities(values, possibilities []string) (filtered bool) { if len(possibilities) == 0 { return false } for _, value := range values { if !filterByPossibilities(value, possibilities) { return false // found a valid value } } return true } ================================================ FILE: internal/provider/utils/filtering_test.go ================================================ package utils import ( "testing" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" ) func Test_FilterServers(t *testing.T) { t.Parallel() testCases := map[string]struct { servers []models.Server selection settings.ServerSelection filtered []models.Server }{ "no server available": { selection: settings.ServerSelection{}.WithDefaults(providers.Mullvad), }, "no filter": { servers: []models.Server{ {VPN: vpn.OpenVPN, Hostname: "a", UDP: true}, {VPN: vpn.OpenVPN, Hostname: "b", UDP: true}, {VPN: vpn.OpenVPN, Hostname: "c", UDP: true}, }, selection: settings.ServerSelection{}.WithDefaults(providers.Mullvad), filtered: []models.Server{ {VPN: vpn.OpenVPN, Hostname: "a", UDP: true}, {VPN: vpn.OpenVPN, Hostname: "b", UDP: true}, {VPN: vpn.OpenVPN, Hostname: "c", UDP: true}, }, }, "filter by VPN protocol": { selection: settings.ServerSelection{ VPN: vpn.Wireguard, }.WithDefaults(providers.Mullvad), servers: []models.Server{ {VPN: vpn.OpenVPN, Hostname: "a", UDP: true}, {VPN: vpn.Wireguard, Hostname: "b", UDP: true}, {VPN: vpn.OpenVPN, Hostname: "c", UDP: true}, }, filtered: []models.Server{ {VPN: vpn.Wireguard, Hostname: "b", UDP: true}, }, }, "filter by network protocol": { selection: settings.ServerSelection{ OpenVPN: settings.OpenVPNSelection{ Protocol: constants.TCP, }, }.WithDefaults(providers.Ivpn), servers: []models.Server{ {UDP: true, Hostname: "a", VPN: vpn.OpenVPN}, {UDP: true, TCP: true, Hostname: "b", VPN: vpn.OpenVPN}, {UDP: true, Hostname: "c", VPN: vpn.OpenVPN}, }, filtered: []models.Server{ {UDP: true, TCP: true, Hostname: "b", VPN: vpn.OpenVPN}, }, }, "filter by multihop only": { selection: settings.ServerSelection{ MultiHopOnly: boolPtr(true), }.WithDefaults(providers.Surfshark), servers: []models.Server{ {MultiHop: false, VPN: vpn.OpenVPN, UDP: true}, {MultiHop: true, VPN: vpn.OpenVPN, UDP: true}, {MultiHop: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {MultiHop: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by free only": { selection: settings.ServerSelection{ FreeOnly: boolPtr(true), }.WithDefaults(providers.Surfshark), servers: []models.Server{ {Free: false, VPN: vpn.OpenVPN, UDP: true}, {Free: true, VPN: vpn.OpenVPN, UDP: true}, {Free: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Free: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by premium only": { selection: settings.ServerSelection{ PremiumOnly: boolPtr(true), }.WithDefaults(providers.Surfshark), servers: []models.Server{ {Premium: false, VPN: vpn.OpenVPN, UDP: true}, {Premium: true, VPN: vpn.OpenVPN, UDP: true}, {Premium: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Premium: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by stream only": { selection: settings.ServerSelection{ StreamOnly: boolPtr(true), }.WithDefaults(providers.Surfshark), servers: []models.Server{ {Stream: false, VPN: vpn.OpenVPN, UDP: true}, {Stream: true, VPN: vpn.OpenVPN, UDP: true}, {Stream: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Stream: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by secure core only": { selection: settings.ServerSelection{ SecureCoreOnly: boolPtr(true), }.WithDefaults(providers.Protonvpn), servers: []models.Server{ {SecureCore: false, VPN: vpn.OpenVPN, UDP: true}, {SecureCore: true, VPN: vpn.OpenVPN, UDP: true}, {SecureCore: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {SecureCore: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by tor only": { selection: settings.ServerSelection{ TorOnly: boolPtr(true), }.WithDefaults(providers.Protonvpn), servers: []models.Server{ {Tor: false, VPN: vpn.OpenVPN, UDP: true}, {Tor: true, VPN: vpn.OpenVPN, UDP: true}, {Tor: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Tor: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by owned": { selection: settings.ServerSelection{ OwnedOnly: boolPtr(true), }.WithDefaults(providers.Mullvad), servers: []models.Server{ {Owned: false, VPN: vpn.OpenVPN, UDP: true}, {Owned: true, VPN: vpn.OpenVPN, UDP: true}, {Owned: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Owned: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by port forwarding only": { selection: settings.ServerSelection{ PortForwardOnly: boolPtr(true), }.WithDefaults(providers.PrivateInternetAccess), servers: []models.Server{ {PortForward: false, VPN: vpn.OpenVPN, UDP: true}, {PortForward: true, VPN: vpn.OpenVPN, UDP: true}, {PortForward: false, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {PortForward: true, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by country": { selection: settings.ServerSelection{ Countries: []string{"b"}, }.WithDefaults(providers.Mullvad), servers: []models.Server{ {Country: "a", VPN: vpn.OpenVPN, UDP: true}, {Country: "b", VPN: vpn.OpenVPN, UDP: true}, {Country: "c", VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Country: "b", VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by region": { selection: settings.ServerSelection{ Regions: []string{"b"}, }.WithDefaults(providers.Surfshark), servers: []models.Server{ {Region: "a", VPN: vpn.OpenVPN, UDP: true}, {Region: "b", VPN: vpn.OpenVPN, UDP: true}, {Region: "c", VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Region: "b", VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by city": { selection: settings.ServerSelection{ Cities: []string{"b"}, }.WithDefaults(providers.Mullvad), servers: []models.Server{ {City: "a", VPN: vpn.OpenVPN, UDP: true}, {City: "b", VPN: vpn.OpenVPN, UDP: true}, {City: "c", VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {City: "b", VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by category": { selection: settings.ServerSelection{ Categories: []string{"legacy_p2p"}, }.WithDefaults(providers.Nordvpn), servers: []models.Server{ {Categories: []string{"legacy_p2p"}, VPN: vpn.OpenVPN, UDP: true}, {Categories: []string{"legacy_standard"}, VPN: vpn.OpenVPN, UDP: true}, {VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Categories: []string{"legacy_p2p"}, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by ISP": { selection: settings.ServerSelection{ ISPs: []string{"b"}, }.WithDefaults(providers.Mullvad), servers: []models.Server{ {ISP: "a", VPN: vpn.OpenVPN, UDP: true}, {ISP: "b", VPN: vpn.OpenVPN, UDP: true}, {ISP: "c", VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {ISP: "b", VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by number": { selection: settings.ServerSelection{ Numbers: []uint16{1}, }.WithDefaults(providers.Mullvad), servers: []models.Server{ {Number: 0, VPN: vpn.OpenVPN, UDP: true}, {Number: 1, VPN: vpn.OpenVPN, UDP: true}, {Number: 2, VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Number: 1, VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by server name": { selection: settings.ServerSelection{ Names: []string{"b"}, }.WithDefaults(providers.Mullvad), servers: []models.Server{ {ServerName: "a", VPN: vpn.OpenVPN, UDP: true}, {ServerName: "b", VPN: vpn.OpenVPN, UDP: true}, {ServerName: "c", VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {ServerName: "b", VPN: vpn.OpenVPN, UDP: true}, }, }, "filter by hostname": { selection: settings.ServerSelection{ Hostnames: []string{"b"}, }.WithDefaults(providers.Mullvad), servers: []models.Server{ {Hostname: "a", VPN: vpn.OpenVPN, UDP: true}, {Hostname: "b", VPN: vpn.OpenVPN, UDP: true}, {Hostname: "c", VPN: vpn.OpenVPN, UDP: true}, }, filtered: []models.Server{ {Hostname: "b", VPN: vpn.OpenVPN, UDP: true}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() filtered := filterServers(testCase.servers, testCase.selection) assert.Equal(t, testCase.filtered, filtered) }) } } func Test_filterByPossibilities(t *testing.T) { t.Parallel() testCases := map[string]struct { value string possibilities []string filtered bool }{ "no possibilities": {}, "value not in possibilities": { value: "c", possibilities: []string{"a", "b"}, filtered: true, }, "value in possibilities": { value: "c", possibilities: []string{"a", "b", "c"}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() filtered := filterByPossibilities(testCase.value, testCase.possibilities) assert.Equal(t, testCase.filtered, filtered) }) } } ================================================ FILE: internal/provider/utils/logger.go ================================================ package utils type Logger interface { Debug(s string) Info(s string) Warn(s string) Error(s string) } ================================================ FILE: internal/provider/utils/nofetcher.go ================================================ package utils import ( "context" "errors" "fmt" "github.com/qdm12/gluetun/internal/models" ) type NoFetcher struct { providerName string } func NewNoFetcher(providerName string) *NoFetcher { return &NoFetcher{ providerName: providerName, } } var ErrFetcherNotSupported = errors.New("fetching of servers is not supported") func (n *NoFetcher) FetchServers(context.Context, int) ( servers []models.Server, err error, ) { return nil, fmt.Errorf("%w: for %s", ErrFetcherNotSupported, n.providerName) } ================================================ FILE: internal/provider/utils/openvpn.go ================================================ package utils import ( "fmt" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/openvpn/pkcs8" ) type OpenVPNProviderSettings struct { Ping int RemoteCertTLS bool Ciphers []string Auth string CAs []string CRLVerify string Cert string Key string RSAKey string TLSAuth string TLSCrypt string MssFix uint16 FastIO bool AuthUserPass bool AuthToken bool Fragment uint16 SndBuf uint32 RcvBuf uint32 // VerifyX509Name can be set to a custom name to verify against. // Note VerifyX509Type has to be set for it to be verified. // If it is left unset, the code will deduce a name to verify against // using the connection hostname and according to VerifyX509Type. VerifyX509Name string // VerifyX509Type can be "name-prefix", "name" VerifyX509Type string TLSCipher string TunMTU uint16 TunMTUExtra uint16 RenegDisabled bool RenegSec uint16 KeyDirection string SetEnv map[string]string ExtraLines []string UDPLines []string IPv6Lines []string } //nolint:gocognit,gocyclo func OpenVPNConfig(provider OpenVPNProviderSettings, connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) []string { var lines openvpnConfigLines lines.add("client") lines.add("nobind") lines.add("tls-exit") // exit OpenVPN on a TLS error lines.add("auth-nocache") // do not cache auth credentials lines.add("mute-replay-warnings") // these are often ignored by some VPN providers lines.add("auth-retry", "nointeract") // retry authenticating without interaction lines.add("suppress-timestamps") // do not log timestamps, the Gluetun logger takes care of it lines.add("dev", settings.Interface) lines.add("verb", fmt.Sprint(*settings.Verbosity)) lines.add("proto", connection.Protocol) lines.add("remote", connection.IP.String(), fmt.Sprint(connection.Port)) if *settings.User != "" { lines.add("auth-user-pass", openvpn.AuthConf) } if !provider.AuthToken { lines.add("pull-filter", "ignore", `"auth-token"`) // prevent auth failed loops } if provider.KeyDirection != "" { lines.add("key-direction", provider.KeyDirection) } if provider.Ping > 0 { lines.add("ping", fmt.Sprint(provider.Ping)) } if provider.RenegDisabled { lines.add("reneg-sec", "0") } else if provider.RenegSec > 0 { lines.add("reneg-sec", fmt.Sprint(provider.RenegSec)) } if provider.RemoteCertTLS { // equivalent to older 'ns-cert-type' option lines.add("remote-cert-tls server") } x509Type := provider.VerifyX509Type if x509Type != "" { x509Name := provider.VerifyX509Name if x509Name == "" { // find name from connection hostname depending on type switch x509Type { case "name": x509Name = connection.Hostname case "name-prefix": x509Name = strings.Split(connection.Hostname, ".")[0] default: panic(fmt.Sprintf("verify-x509-name type not supported: %q", x509Type)) } } lines.add("verify-x509-name", x509Name, x509Type) } if provider.TLSCipher != "" { lines.add("tls-cipher", provider.TLSCipher) } if provider.FastIO { lines.add("fast-io") } ciphers := defaultStringSlice(settings.Ciphers, provider.Ciphers) cipherLines := CipherLines(ciphers) lines.addLines(cipherLines) auth := defaultString(*settings.Auth, provider.Auth) if auth != "" { lines.add("auth", auth) } if provider.TunMTU > 0 { lines.add("tun-mtu", fmt.Sprint(provider.TunMTU)) } if provider.TunMTUExtra > 0 { lines.add("tun-mtu-extra", fmt.Sprint(provider.TunMTUExtra)) } mssFix := defaultUint16(*settings.MSSFix, provider.MssFix) if mssFix > 0 { lines.add("mssfix", fmt.Sprint(mssFix)) } if provider.Fragment > 0 { lines.add("fragment", fmt.Sprint(provider.Fragment)) } if provider.SndBuf > 0 { lines.add("sndbuf", fmt.Sprint(provider.SndBuf)) } if provider.RcvBuf > 0 { lines.add("rcvbuf", fmt.Sprint(provider.RcvBuf)) } if connection.Protocol == constants.UDP { lines.add("explicit-exit-notify") lines.addLines(provider.UDPLines) } if settings.ProcessUser != "root" { lines.add("user", settings.ProcessUser) lines.add("persist-tun") lines.add("persist-key") } if !ipv6Supported { lines.add("pull-filter", "ignore", `"tun-ipv6"`) lines.add("pull-filter", "ignore", `"route-ipv6"`) lines.add("pull-filter", "ignore", `"ifconfig-ipv6"`) lines.addLines(provider.IPv6Lines) } for envKey, envValue := range provider.SetEnv { lines.add("setenv", envKey, envValue) } for _, ca := range provider.CAs { lines.addLines(WrapOpenvpnCA(ca)) } if provider.CRLVerify != "" { lines.addLines(WrapOpenvpnCRLVerify(provider.CRLVerify)) } if provider.Cert != "" { lines.addLines(WrapOpenvpnCert(provider.Cert)) } if provider.Key != "" { lines.addLines(WrapOpenvpnKey(provider.Key)) } if provider.RSAKey != "" { lines.addLines(WrapOpenvpnRSAKey(provider.RSAKey)) } if provider.TLSAuth != "" { lines.addLines(WrapOpenvpnTLSAuth(provider.TLSAuth)) } if provider.TLSCrypt != "" { lines.addLines(WrapOpenvpnTLSCrypt(provider.TLSCrypt)) } if *settings.EncryptedKey != "" { encryptedBase64DERKey := *settings.EncryptedKey // OpenVPN above 2.4 does not support old encryption schemes such as // DES-CBC, so decrypt and reencrypt the key. // This is a workaround for VPN secure. var err error encryptedBase64DERKey, err = pkcs8.UpgradeEncryptedKey(encryptedBase64DERKey, *settings.KeyPassphrase) if err != nil { // TODO return an error instead. panic(fmt.Sprintf("upgrading encrypted key: %s", err)) } lines.add("askpass", openvpn.AskPassPath) lines.addLines(WrapOpenvpnEncryptedKey(encryptedBase64DERKey)) } if *settings.Cert != "" { lines.addLines(WrapOpenvpnCert(*settings.Cert)) } if *settings.Key != "" { lines.addLines(WrapOpenvpnKey(*settings.Key)) } lines.addLines(provider.ExtraLines) // Add a trailing empty line lines.add("") return lines } type openvpnConfigLines []string func (o *openvpnConfigLines) add(words ...string) { *o = append(*o, strings.Join(words, " ")) } func (o *openvpnConfigLines) addLines(lines []string) { for _, line := range lines { o.add(line) } } func defaultString(value, defaultValue string) string { if value == "" { return defaultValue } return value } func defaultUint16(value, defaultValue uint16) uint16 { if value == 0 { return defaultValue } return value } func defaultStringSlice(value, defaultValue []string) ( result []string, ) { if len(value) > 0 { result = make([]string, len(value)) copy(result, value) return result } result = make([]string, len(defaultValue)) copy(result, defaultValue) return result } func WrapOpenvpnCA(certificate string) (lines []string) { return []string{ "", "-----BEGIN CERTIFICATE-----", certificate, "-----END CERTIFICATE-----", "", } } func WrapOpenvpnCert(clientCertificate string) (lines []string) { return []string{ "", "-----BEGIN CERTIFICATE-----", clientCertificate, "-----END CERTIFICATE-----", "", } } func WrapOpenvpnCRLVerify(x509CRL string) (lines []string) { return []string{ "", "-----BEGIN X509 CRL-----", x509CRL, "-----END X509 CRL-----", "", } } func WrapOpenvpnKey(clientKey string) (lines []string) { return []string{ "", "-----BEGIN PRIVATE KEY-----", clientKey, "-----END PRIVATE KEY-----", "", } } func WrapOpenvpnEncryptedKey(encryptedKey string) (lines []string) { return []string{ "", "-----BEGIN ENCRYPTED PRIVATE KEY-----", encryptedKey, "-----END ENCRYPTED PRIVATE KEY-----", "", } } func WrapOpenvpnRSAKey(rsaPrivateKey string) (lines []string) { return []string{ "", "-----BEGIN RSA PRIVATE KEY-----", rsaPrivateKey, "-----END RSA PRIVATE KEY-----", "", } } func WrapOpenvpnTLSAuth(staticKeyV1 string) (lines []string) { return []string{ "", "-----BEGIN OpenVPN Static key V1-----", staticKeyV1, "-----END OpenVPN Static key V1-----", "", } } func WrapOpenvpnTLSCrypt(staticKeyV1 string) (lines []string) { return []string{ "", "-----BEGIN OpenVPN Static key V1-----", staticKeyV1, "-----END OpenVPN Static key V1-----", "", } } ================================================ FILE: internal/provider/utils/pick.go ================================================ package utils import ( "errors" "fmt" "math/rand" "net/netip" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) var ErrNoConnectionToPickFrom = errors.New("no connection to pick from") // pickConnection picks a connection from a pool of connections. // If the VPN protocol is Wireguard and the target IP is set, // it finds the connection corresponding to this target IP. // Otherwise, it picks a random connection from the pool of connections // and sets the target IP address as the IP if this one is set. func pickConnection(connections []models.Connection, selection settings.ServerSelection, randSource rand.Source) ( connection models.Connection, err error, ) { if len(connections) == 0 { return connection, ErrNoConnectionToPickFrom } var targetIP netip.Addr switch selection.VPN { case vpn.OpenVPN: targetIP = selection.OpenVPN.EndpointIP case vpn.Wireguard: targetIP = selection.Wireguard.EndpointIP default: panic("unknown VPN type: " + selection.VPN) } targetIPSet := targetIP.IsValid() && !targetIP.IsUnspecified() if targetIPSet && selection.VPN == vpn.Wireguard { // we need the right public key return getTargetIPConnection(connections, targetIP) } connection = pickRandomConnection(connections, randSource) if targetIPSet { connection.IP = targetIP } return connection, nil } func pickRandomConnection(connections []models.Connection, source rand.Source, ) models.Connection { return connections[rand.New(source).Intn(len(connections))] //nolint:gosec } var errTargetIPNotFound = errors.New("target IP address not found") func getTargetIPConnection(connections []models.Connection, targetIP netip.Addr, ) (connection models.Connection, err error) { for _, connection := range connections { if targetIP == connection.IP { return connection, nil } } return connection, fmt.Errorf("%w: in %d filtered connections", errTargetIPNotFound, len(connections)) } ================================================ FILE: internal/provider/utils/pick_test.go ================================================ package utils import ( "math/rand" "testing" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" ) func Test_pickRandomConnection(t *testing.T) { t.Parallel() connections := []models.Connection{ {Port: 1}, {Port: 2}, {Port: 3}, {Port: 4}, } source := rand.NewSource(0) connection := pickRandomConnection(connections, source) assert.Equal(t, models.Connection{Port: 3}, connection) connection = pickRandomConnection(connections, source) assert.Equal(t, models.Connection{Port: 3}, connection) connection = pickRandomConnection(connections, source) assert.Equal(t, models.Connection{Port: 2}, connection) } ================================================ FILE: internal/provider/utils/port.go ================================================ package utils import ( "fmt" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" ) func getPort(selection settings.ServerSelection, defaultOpenVPNTCP, defaultOpenVPNUDP, defaultWireguard uint16, ) (port uint16) { switch selection.VPN { case vpn.Wireguard: customPort := *selection.Wireguard.EndpointPort if customPort > 0 { return customPort } checkDefined("Wireguard", defaultWireguard) return defaultWireguard default: // OpenVPN customPort := *selection.OpenVPN.CustomPort if customPort > 0 { return customPort } if selection.OpenVPN.Protocol == constants.TCP { checkDefined("OpenVPN TCP", defaultOpenVPNTCP) return defaultOpenVPNTCP } checkDefined("OpenVPN UDP", defaultOpenVPNUDP) return defaultOpenVPNUDP } } func checkDefined(portName string, port uint16) { if port > 0 { return } message := fmt.Sprintf("no default %s port is defined!", portName) panic(message) } ================================================ FILE: internal/provider/utils/port_test.go ================================================ package utils import ( "testing" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/stretchr/testify/assert" ) func boolPtr(b bool) *bool { return &b } func uint16Ptr(n uint16) *uint16 { return &n } func Test_GetPort(t *testing.T) { t.Parallel() const ( defaultOpenVPNTCP = 443 defaultOpenVPNUDP = 1194 defaultWireguard = 51820 ) testCases := map[string]struct { selection settings.ServerSelection defaultOpenVPNTCP uint16 defaultOpenVPNUDP uint16 defaultWireguard uint16 port uint16 panics string }{ "default": { selection: settings.ServerSelection{}.WithDefaults(""), defaultOpenVPNTCP: defaultOpenVPNTCP, defaultOpenVPNUDP: defaultOpenVPNUDP, defaultWireguard: defaultWireguard, port: defaultOpenVPNUDP, }, "OpenVPN UDP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ CustomPort: uint16Ptr(0), Protocol: constants.UDP, }, }, defaultOpenVPNTCP: defaultOpenVPNTCP, defaultOpenVPNUDP: defaultOpenVPNUDP, defaultWireguard: defaultWireguard, port: defaultOpenVPNUDP, }, "OpenVPN UDP no default port defined": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ CustomPort: uint16Ptr(0), Protocol: constants.UDP, }, }, panics: "no default OpenVPN UDP port is defined!", }, "OpenVPN TCP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ CustomPort: uint16Ptr(0), Protocol: constants.TCP, }, }, defaultOpenVPNTCP: defaultOpenVPNTCP, port: defaultOpenVPNTCP, }, "OpenVPN TCP no default port defined": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ CustomPort: uint16Ptr(0), Protocol: constants.TCP, }, }, panics: "no default OpenVPN TCP port is defined!", }, "OpenVPN custom port": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ CustomPort: uint16Ptr(1234), }, }, port: 1234, }, "Wireguard": { selection: settings.ServerSelection{ VPN: vpn.Wireguard, }.WithDefaults(""), defaultWireguard: defaultWireguard, port: defaultWireguard, }, "Wireguard custom port": { selection: settings.ServerSelection{ VPN: vpn.Wireguard, Wireguard: settings.WireguardSelection{ EndpointPort: uint16Ptr(1234), }, }, defaultWireguard: defaultWireguard, port: 1234, }, "Wireguard no default port defined": { selection: settings.ServerSelection{ VPN: vpn.Wireguard, }.WithDefaults(""), panics: "no default Wireguard port is defined!", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() if testCase.panics != "" { assert.PanicsWithValue(t, testCase.panics, func() { _ = getPort(testCase.selection, testCase.defaultOpenVPNTCP, testCase.defaultOpenVPNUDP, testCase.defaultWireguard) }) return } port := getPort(testCase.selection, testCase.defaultOpenVPNTCP, testCase.defaultOpenVPNUDP, testCase.defaultWireguard) assert.Equal(t, testCase.port, port) }) } } ================================================ FILE: internal/provider/utils/portforward.go ================================================ package utils import ( "net/http" "net/netip" ) // PortForwardObjects contains fields that may or may not need to be set // depending on the port forwarding provider code. type PortForwardObjects struct { // Logger is a logger, used by both Private Internet Access and ProtonVPN. Logger Logger // Gateway is the VPN gateway IP address, used by Private Internet Access // and ProtonVPN. Gateway netip.Addr // InternalIP is the VPN internal IP address assigned, used by Perfect Privacy. InternalIP netip.Addr // Client is used to query the VPN gateway for Private Internet Access. Client *http.Client // ServerName is used by Private Internet Access for port forwarding. ServerName string // CanPortForward is used by Private Internet Access for port forwarding. CanPortForward bool // Username is used by Private Internet Access for port forwarding. Username string // Password is used by Private Internet Access for port forwarding. Password string } type Routing interface { VPNLocalGatewayIP(vpnInterface string) (gateway netip.Addr, err error) } ================================================ FILE: internal/provider/utils/protocol.go ================================================ package utils import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" ) func getProtocol(selection settings.ServerSelection) (protocol string) { if selection.VPN == vpn.OpenVPN && selection.OpenVPN.Protocol == constants.TCP { return constants.TCP } return constants.UDP } func filterByProtocol(selection settings.ServerSelection, serverTCP, serverUDP bool, ) (filtered bool) { switch selection.VPN { case vpn.Wireguard: return !serverUDP default: // OpenVPN wantTCP := selection.OpenVPN.Protocol == constants.TCP wantUDP := !wantTCP return (wantTCP && !serverTCP) || (wantUDP && !serverUDP) } } ================================================ FILE: internal/provider/utils/protocol_test.go ================================================ package utils import ( "testing" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/stretchr/testify/assert" ) func Test_getProtocol(t *testing.T) { t.Parallel() testCases := map[string]struct { selection settings.ServerSelection protocol string }{ "default": { protocol: constants.UDP, }, "OpenVPN UDP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ Protocol: constants.UDP, }, }, protocol: constants.UDP, }, "OpenVPN TCP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ Protocol: constants.TCP, }, }, protocol: constants.TCP, }, "Wireguard": { selection: settings.ServerSelection{ VPN: vpn.Wireguard, }, protocol: constants.UDP, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() protocol := getProtocol(testCase.selection) assert.Equal(t, testCase.protocol, protocol) }) } } func Test_filterByProtocol(t *testing.T) { t.Parallel() testCases := map[string]struct { selection settings.ServerSelection serverTCP bool serverUDP bool filtered bool }{ "Wireguard and server has UDP": { selection: settings.ServerSelection{ VPN: vpn.Wireguard, }, serverUDP: true, filtered: false, }, "Wireguard and server has not UDP": { selection: settings.ServerSelection{ VPN: vpn.Wireguard, }, serverUDP: false, filtered: true, }, "OpenVPN UDP and server has UDP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ Protocol: constants.UDP, }, }, serverUDP: true, filtered: false, }, "OpenVPN UDP and server has not UDP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ Protocol: constants.UDP, }, }, serverUDP: false, filtered: true, }, "OpenVPN TCP and server has TCP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ Protocol: constants.TCP, }, }, serverTCP: true, filtered: false, }, "OpenVPN TCP and server has not TCP": { selection: settings.ServerSelection{ VPN: vpn.OpenVPN, OpenVPN: settings.OpenVPNSelection{ Protocol: constants.TCP, }, }, serverTCP: false, filtered: true, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() filtered := filterByProtocol(testCase.selection, testCase.serverTCP, testCase.serverUDP) assert.Equal(t, testCase.filtered, filtered) }) } } ================================================ FILE: internal/provider/vpnsecure/connection.go ================================================ package vpnsecure import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(110, 1282, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/vpnsecure/openvpnconf.go ================================================ package vpnsecure import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, MssFix: 1320, Ping: 10, // note DES-CBC is not added since it's quite unsecure Ciphers: []string{openvpn.AES256cbc, openvpn.AES128cbc}, ExtraLines: []string{ "comp-lzo", "float", }, CAs: []string{"MIIEJjCCAw6gAwIBAgIJAMkzh6p4m6XfMA0GCSqGSIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOWTERMA8GA1UEBxMITmV3IFlvcmsxFTATBgNVBAoTDHZwbnNlY3VyZS5tZTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEB2cG5zZWN1cmUubWUwIBcNMTcwNTA2MTMzMTQyWhgPMjkzODA4MjYxMzMxNDJaMGkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJOWTERMA8GA1UEBxMITmV3IFlvcmsxFTATBgNVBAoTDHZwbnNlY3VyZS5tZTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEB2cG5zZWN1cmUubWUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDiClT1wcZ6oovYjSxUJIQplrBSQRKB44uymC8evohzK7q67x0NE2sLz5Zn9ZiC7RnXQCtEqJfHqjuqjaH5MghjhUDnRbZS/8ElxdGKn9FPvs9b+aTVGSfrQm5KKoVigwAye3ilNiWAyy6MDlBeoKluQ4xW7SGiVZRxLcJbLAmjmfCjBS7eUGbtA8riTkIegFo4WFiy9G76zQWw1V26kDhyzcJNT4xO7USMPUeZthy13g+zi9+rcILhEAnl776sIil6w8UVK8xevFKBlOPk+YyXlo4eZiuppq300ogaS+fX/0mfD7DDE+Gk5/nCeACDNiBlfQ3ol/De8Cm60HWEUtZVAgMBAAGjgc4wgcswHQYDVR0OBBYEFBJyf4mpGT3dIu65/1zAFqCgGxZoMIGbBgNVHSMEgZMwgZCAFBJyf4mpGT3dIu65/1zAFqCgGxZooW2kazBpMQswCQYDVQQGEwJVUzELMAkGA1UECBMCTlkxETAPBgNVBAcTCE5ldyBZb3JrMRUwEwYDVQQKEwx2cG5zZWN1cmUubWUxIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAdnBuc2VjdXJlLm1lggkAyTOHqnibpd8wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEArbTAibGQilY4Lu2RAVPjNx14SfojueBroeN7NIpAFUfbifPQRWvLamzRfxFTO0PXRc2pw/It7oa8yM7BsZj0vOiZY2p1JBHZwKom6tiSUVENDGW6JaYtiaE8XPyjfA5Yhfx4FefmaJ1veDYid18S+VVpt+Y+UIUxNmg1JB3CCUwbjl+dWlcvDBy4+jI+sZ7A1LF3uX64ZucDQ/XrpuopHhvDjw7g1PpKXsRqBYL+cpxUI7GrINBa/rGvXqv/NvFH8bguggknWKxKhd+jyMqkW3Ws258e0OwHz7gQ+tTJ909tR0TxJhZGkHatNSbpwW1Y52A972+9gYJMadSfm4bUHA=="}, //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/vpnsecure/provider.go ================================================ package vpnsecure import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/vpnsecure/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.VPNSecure } ================================================ FILE: internal/provider/vpnsecure/updater/helpers_test.go ================================================ package updater import ( "os" "strings" "testing" "github.com/stretchr/testify/require" "golang.org/x/net/html" ) func parseTestHTML(t *testing.T, htmlString string) *html.Node { t.Helper() rootNode, err := html.Parse(strings.NewReader(htmlString)) require.NoError(t, err) return rootNode } func parseTestDataIndexHTML(t *testing.T) *html.Node { t.Helper() data, err := os.ReadFile("testdata/index.html") require.NoError(t, err) return parseTestHTML(t, string(data)) } ================================================ FILE: internal/provider/vpnsecure/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/models" ) type hostToServer map[string]models.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 } ================================================ FILE: internal/provider/vpnsecure/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxDuration = 5 * time.Second maxFailRatio = 0.1 maxNoNew = 2 maxFails = 3 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/vpnsecure/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { servers, err = fetchServers(ctx, u.client, u.warner) if err != nil { return nil, fmt.Errorf("fetching servers: %w", err) } else if len(servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } hts := make(hostToServer, len(servers)) for _, server := range servers { hts[server.Hostname] = server } hosts := hts.toHostsSlice() resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } 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) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() for i := range servers { servers[i].VPN = vpn.OpenVPN servers[i].UDP = true servers[i].TCP = true } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/vpnsecure/updater/testdata/index.html ================================================ Locations | VPNSecure.me

Encrypted VPN Access World Wide

Our private VPN access servers are monitored. They’re access controlled, and we are the only ones that operate them — no one else.  They do not permanently store IP addresses, nor do they store logs. Each server supports all popular protocols, including: OpenVPN, SSH SOCKS, HTTP Proxy & Smart DNS.  With the very best server locations and low ping times you will always find a fast server close to you.

Server Locations and Status

Australia

au1 up
City: Brisbane
Region: Queensland
Premium: Yes
au2 up
City: Sydney
Region: New South Wales
Premium: No
au3 up
City: Sydney
Region: New South Wales
Premium: No
au4 up
City: Sydney
Region: New South Wales
Premium: Yes

Austria

at1 up
City: Vienna
Region: Vienna
Premium: Yes
at2 up
City: Vienna
Region: Vienna
Premium: No

Brazil

br1 up
City: Sao Paulo
Region: Sao Paulo
Premium: Yes

Belgium

be1 up
City: Zaventem
Region: Flanders
Premium: No
be2 up
City: Brussel
Region: Brussels Hoofdstedelijk Gewest
Premium: No

Canada

ca1 up
City: Richmond Hill
Region: Ontario
Premium: No
ca2 up
City: Richmond Hill
Region: Ontario
Premium: No
ca3 up
City: Montréal
Region: Quebec
Premium: Yes

Denmark

dk1 up
City: Copenhagen
Region: Capital Region
Premium: Yes
dk2 up
City: Copenhagen
Region: Capital Region
Premium: Yes
dk3 up
City: Ballerup
Region: Capital Region
Premium: No

France

fr1 up
City: Paris
Region: Île-de-France
Premium: No
fr2 up
City: Paris
Region: Île-de-France
Premium: No
fr3 up
City: Strasbourg
Region: Grand Est
Premium: No

Germany

de1 up
City: Frankfurt am Main
Region: Hesse
Premium: No
de2 up
City: Frankfurt am Main
Region: Hesse
Premium: No
de3 up
City: Frankfurt am Main
Region: Hesse
Premium: No
de4 up
City: Frankfurt am Main
Region: Hesse
Premium: No
de5 up
City: Limburg an der Lahn
Region: Hesse
Premium: No
de6 up
City: Frankfurt am Main
Region: Hesse
Premium: No

Hungary

hu1 up
City: Budapest
Region: Budapest
Premium: Yes

India

in1 up
City: Doddaballapura
Region: Karnataka
Premium: No

Indonesia

id1 up
City: Jakarta
Region: Special Capital Region of Jakarta
Premium: No

Ireland

ie1 up
City: Dublin
Region: Dublin City
Premium: No

Israel

il1 up
City: Tel Aviv
Region: Tel Aviv
Premium: Yes

Italy

it1 up
City: Milan
Region: Lombardy
Premium: Yes

Japan

jp2 up
City: Tokyo
Region: Tokyo
Premium: Yes

Mexico

mx1 up
City: Ampliación San Mateo (Colonia Solidaridad)
Region: México
Premium: No

Netherlands

nl1 up
City: Haarlem
Region: North Holland
Premium: No
nl2 up
City: Naaldwijk
Region: South Holland
Premium: No

New Zealand

nz1 up
City: Auckland
Region: Auckland
Premium: No

Norway

no1 up
City: Oslo
Region: Oslo
Premium: Yes
no2 up
City: Stockholm
Region: Stockholm
Premium: Yes

Poland

pl1 up
City: Warsaw
Region: Mazovia
Premium: Yes

Romania

ro1 up
City: Bucharest
Region: Bucure?ti
Premium: Yes

Russia

ru1 up
City: Moscow
Region: Moscow
Premium: Yes

Singapore

sg1 up
City: Singapore
Region: Singapore
Premium: Yes

South Africa

za1 up
City: Cape Town
Region: Western Cape
Premium: Yes

Spain

es2 up
City: Madrid
Region: Madrid
Premium: No
se1 up
City: Valencia
Region: Valencia
Premium: No

Sweden

se2 up
City: Stockholm
Region: Stockholm
Premium: Yes
se3 up
City: Stockholm
Region: Stockholm
Premium: No

Switzerland

ch1 up
City: Lausanne
Region: Vaud
Premium: No
ch1 up
City: Geneva
Region: Geneva
Premium: Yes
ch2 up
City: Genève
Region: Geneva
Premium: Yes

Ukraine

ua1 up
City: Kremenchuk
Region: Poltavs'ka Oblast'
Premium: Yes

United Arab Emirates

ae1 up
City: Mumbai
Region: Maharashtra
Premium: Yes

United Kingdom

uk2 up
City: London
Region: England
Premium: No
uk3 up
City: Kent
Region: England
Premium: No
uk4 up
City: London
Region: England
Premium: No
uk5 up
City: London
Region: England
Premium: No
uk6 up
City: Harlesden
Region: Brent
Premium: No
uk7 up
City: Manchester
Region: England
Premium: No

United States

The United States of America flag, produced by Daniel McRae
us1 up
City: Secaucus
Region: New Jersey
Premium: No
The United States of America flag, produced by Daniel McRae
us10 up
City: New York City
Region: New York
Premium: No
The United States of America flag, produced by Daniel McRae
us11 up
City: Los Angeles
Region: California
Premium: No
The United States of America flag, produced by Daniel McRae
us12 up
City: Chicago
Region: Illinois
Premium: No
The United States of America flag, produced by Daniel McRae
us13 up
City: Los Angeles
Region: California
Premium: No
The United States of America flag, produced by Daniel McRae
us14 up
City: Los Angeles
Region: California
Premium: No
The United States of America flag, produced by Daniel McRae
us15 up
City: Los Angeles
Region: California
Premium: No
The United States of America flag, produced by Daniel McRae
us16 up
City: Chicago
Region: Illinois
Premium: No
The United States of America flag, produced by Daniel McRae
us2 up
City: New York City
Region: New York
Premium: No
The United States of America flag, produced by Daniel McRae
us3 up
City: Portland
Region: Oregon
Premium: Yes
The United States of America flag, produced by Daniel McRae
us4 up
City: Chicago
Region: Illinois
Premium: No
The United States of America flag, produced by Daniel McRae
us5 up
City: Los Angeles
Region: California
Premium: No
The United States of America flag, produced by Daniel McRae
us6 up
City: Los Angeles
Region: California
Premium: No
The United States of America flag, produced by Daniel McRae
us7 up
City: Chicago
Region: Illinois
Premium: No
The United States of America flag, produced by Daniel McRae
us8 up
City: Atlanta
Region: Georgia
Premium: No
The United States of America flag, produced by Daniel McRae
us9 up
City: Atlanta
Region: Georgia
Premium: No

Hong Kong

hk1 up
City: Hong Kong
Region: Central and Western
Premium: No

United States West

us3 up
City: Los Angeles
Region: California
Premium: Yes
================================================ FILE: internal/provider/vpnsecure/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client parallelResolver common.ParallelResolver warner common.Warner } func New(client *http.Client, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ client: client, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/vpnsecure/updater/website.go ================================================ package updater import ( "context" "errors" "fmt" "net/http" "strings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" htmlutils "github.com/qdm12/gluetun/internal/updater/html" "golang.org/x/net/html" ) func fetchServers(ctx context.Context, client *http.Client, warner common.Warner, ) (servers []models.Server, err error) { const url = "https://www.vpnsecure.me/vpn-locations/" rootNode, err := htmlutils.Fetch(ctx, client, url) if err != nil { return nil, fmt.Errorf("fetching HTML code: %w", err) } servers, warnings, err := parseHTML(rootNode) for _, warning := range warnings { warner.Warn(warning) } if err != nil { return nil, fmt.Errorf("parsing HTML code: %w", err) } return servers, nil } var ErrHTMLServersDivNotFound = errors.New("HTML servers container div not found") const divString = "div" func parseHTML(rootNode *html.Node) (servers []models.Server, warnings []string, err error, ) { // Find div container for all servers, searching with BFS. serversDiv := findServersDiv(rootNode) if serversDiv == nil { return nil, nil, htmlutils.WrapError(ErrHTMLServersDivNotFound, rootNode) } for countryNode := serversDiv.FirstChild; countryNode != nil; countryNode = countryNode.NextSibling { if countryNode.Data != divString { // empty line(s) and tab(s) continue } country := findCountry(countryNode) if country == "" { warnings = append(warnings, htmlutils.WrapWarning("country not found", countryNode)) continue } grid := htmlutils.BFS(countryNode, matchGridDiv) if grid == nil { warnings = append(warnings, htmlutils.WrapWarning("grid div not found", countryNode)) continue } gridItems := htmlutils.DirectChildren(grid, matchGridItem) if len(gridItems) == 0 { warnings = append(warnings, htmlutils.WrapWarning("no grid item found", grid)) continue } for _, gridItem := range gridItems { server, warning := parseHTMLGridItem(gridItem) if warning != "" { warnings = append(warnings, warning) continue } server.Country = country servers = append(servers, server) } } return servers, warnings, nil } func parseHTMLGridItem(gridItem *html.Node) ( server models.Server, warning string, ) { gridItemDT := htmlutils.DirectChild(gridItem, matchDT) if gridItemDT == nil { return server, htmlutils.WrapWarning("grid item
not found", gridItem) } host := findHost(gridItemDT) host = naToEmpty(host) if host == "" { return server, htmlutils.WrapWarning("host not found", gridItemDT) } status := findStatus(gridItemDT) if !strings.EqualFold(status, "up") { warning := fmt.Sprintf("skipping server with host %s which has status %q", host, status) warning = htmlutils.WrapWarning(warning, gridItemDT) return server, warning } gridItemDD := htmlutils.DirectChild(gridItem, matchDD) if gridItemDD == nil { return server, htmlutils.WrapWarning("grid item dd not found", gridItem) } region := findSpanStrong(gridItemDD, "Region:") if region == "" { warning := fmt.Sprintf("region for host %s not found", host) return server, htmlutils.WrapWarning(warning, gridItemDD) } region = naToEmpty(region) city := findSpanStrong(gridItemDD, "City:") if city == "" { warning := fmt.Sprintf("region for host %s not found", host) return server, htmlutils.WrapWarning(warning, gridItemDD) } city = naToEmpty(city) premiumString := findSpanStrong(gridItemDD, "Premium:") premiumString = naToEmpty(premiumString) if premiumString == "" { warning := fmt.Sprintf("premium for host %s not found", host) return server, htmlutils.WrapWarning(warning, gridItemDD) } return models.Server{ Region: region, City: city, Hostname: host + ".isponeder.com", Premium: strings.EqualFold(premiumString, "yes"), }, "" } func naToEmpty(current string) (output string) { if current == "N / A" { return "" } return current } func findCountry(countryNode *html.Node) (country string) { for node := countryNode.FirstChild; node != nil; node = node.NextSibling { if node.Data != "a" { continue } for subNode := node.FirstChild; subNode != nil; subNode = subNode.NextSibling { if subNode.Data != "h4" { continue } return subNode.FirstChild.Data } } return "" } func findServersDiv(rootNode *html.Node) (serversDiv *html.Node) { locationsDiv := htmlutils.BFS(rootNode, matchLocationsListDiv) if locationsDiv == nil { return nil } return htmlutils.BFS(locationsDiv, matchServersDiv) } func findHost(gridItemDT *html.Node) (host string) { hostNode := htmlutils.DirectChild(gridItemDT, matchText) return strings.TrimSpace(hostNode.Data) } func matchText(node *html.Node) (match bool) { if node.Type != html.TextNode { return false } data := strings.TrimSpace(node.Data) return data != "" } func findStatus(gridItemDT *html.Node) (status string) { statusNode := htmlutils.DirectChild(gridItemDT, matchStatusSpan) return strings.TrimSpace(statusNode.FirstChild.Data) } func matchServersDiv(node *html.Node) (match bool) { return node != nil && node.Data == divString && htmlutils.HasClassStrings(node, "blk__i") } func matchLocationsListDiv(node *html.Node) (match bool) { return node != nil && node.Data == divString && htmlutils.HasClassStrings(node, "locations-list") } func matchGridDiv(node *html.Node) (match bool) { return node != nil && node.Data == divString && htmlutils.HasClassStrings(node, "grid--locations") } func matchGridItem(node *html.Node) (match bool) { return node != nil && node.Data == "dl" && htmlutils.HasClassStrings(node, "grid__i") } func matchDT(node *html.Node) (match bool) { return node != nil && node.Data == "dt" } func matchDD(node *html.Node) (match bool) { return node != nil && node.Data == "dd" } func matchStatusSpan(node *html.Node) (match bool) { return node.Data == "span" && htmlutils.HasClassStrings(node, "status") } func findSpanStrong(gridItemDD *html.Node, spanData string) ( strongValue string, ) { spanFound := false for child := gridItemDD.FirstChild; child != nil; child = child.NextSibling { if !htmlutils.MatchData("div")(child) { continue } for subchild := child.FirstChild; subchild != nil; subchild = subchild.NextSibling { if htmlutils.MatchData("span")(subchild) && subchild.FirstChild.Data == spanData { spanFound = true break } } if !spanFound { continue } for subchild := child.FirstChild; subchild != nil; subchild = subchild.NextSibling { if htmlutils.MatchData("strong")(subchild) { return subchild.FirstChild.Data } } } return "" } ================================================ FILE: internal/provider/vpnsecure/updater/website_test.go ================================================ package updater import ( "context" "io" "net/http" "strings" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/stretchr/testify/assert" "golang.org/x/net/html" ) type roundTripFunc func(r *http.Request) (*http.Response, error) func (f roundTripFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) } func Test_fetchServers(t *testing.T) { t.Parallel() canceledCtx, cancel := context.WithCancel(context.Background()) cancel() testCases := map[string]struct { ctx context.Context responseStatus int responseBody io.ReadCloser servers []models.Server errWrapped error errMessage string }{ "context canceled": { ctx: canceledCtx, errWrapped: context.Canceled, errMessage: `fetching HTML code: Get "https://www.vpnsecure.me/vpn-locations/": context canceled`, }, "success": { ctx: context.Background(), responseStatus: http.StatusOK, responseBody: io.NopCloser(strings.NewReader(`

Australia

au1 up
City: City
Region: Region
Premium: YES
`)), servers: []models.Server{ { Country: "Australia", City: "City", Region: "Region", Hostname: "au1.isponeder.com", Premium: true, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) client := &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, http.MethodGet, r.Method) assert.Equal(t, r.URL.String(), "https://www.vpnsecure.me/vpn-locations/") ctxErr := r.Context().Err() if ctxErr != nil { return nil, ctxErr } return &http.Response{ StatusCode: http.StatusOK, Status: http.StatusText(testCase.responseStatus), Body: testCase.responseBody, }, nil }), } warner := common.NewMockWarner(ctrl) servers, err := fetchServers(testCase.ctx, client, warner) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.servers, servers) }) } } func Test_parseHTML(t *testing.T) { t.Parallel() testCases := map[string]struct { rootNode *html.Node servers []models.Server warnings []string errWrapped error errMessage string }{ "empty html": { rootNode: parseTestHTML(t, ""), errWrapped: ErrHTMLServersDivNotFound, errMessage: `HTML servers container div not found: in HTML code: `, }, "test data": { rootNode: parseTestDataIndexHTML(t), warnings: []string{ "no grid item found: in HTML code:
\n
", }, //nolint:lll servers: []models.Server{ {Country: "Australia", Region: "Queensland", City: "Brisbane", Hostname: "au1.isponeder.com", Premium: true}, {Country: "Australia", Region: "New South Wales", City: "Sydney", Hostname: "au2.isponeder.com"}, {Country: "Australia", Region: "New South Wales", City: "Sydney", Hostname: "au3.isponeder.com"}, {Country: "Australia", Region: "New South Wales", City: "Sydney", Hostname: "au4.isponeder.com", Premium: true}, {Country: "Austria", Region: "Vienna", City: "Vienna", Hostname: "at1.isponeder.com", Premium: true}, {Country: "Austria", Region: "Vienna", City: "Vienna", Hostname: "at2.isponeder.com"}, {Country: "Brazil", Region: "Sao Paulo", City: "Sao Paulo", Hostname: "br1.isponeder.com", Premium: true}, {Country: "Belgium", Region: "Flanders", City: "Zaventem", Hostname: "be1.isponeder.com"}, {Country: "Belgium", Region: "Brussels Hoofdstedelijk Gewest", City: "Brussel", Hostname: "be2.isponeder.com"}, {Country: "Canada", Region: "Ontario", City: "Richmond Hill", Hostname: "ca1.isponeder.com"}, {Country: "Canada", Region: "Ontario", City: "Richmond Hill", Hostname: "ca2.isponeder.com"}, {Country: "Canada", Region: "Quebec", City: "Montréal", Hostname: "ca3.isponeder.com", Premium: true}, {Country: "Denmark", Region: "Capital Region", City: "Copenhagen", Hostname: "dk1.isponeder.com", Premium: true}, {Country: "Denmark", Region: "Capital Region", City: "Copenhagen", Hostname: "dk2.isponeder.com", Premium: true}, {Country: "Denmark", Region: "Capital Region", City: "Ballerup", Hostname: "dk3.isponeder.com"}, {Country: "France", Region: "Île-de-France", City: "Paris", Hostname: "fr1.isponeder.com"}, {Country: "France", Region: "Île-de-France", City: "Paris", Hostname: "fr2.isponeder.com"}, {Country: "France", Region: "Grand Est", City: "Strasbourg", Hostname: "fr3.isponeder.com"}, {Country: "Germany", Region: "Hesse", City: "Frankfurt am Main", Hostname: "de1.isponeder.com"}, {Country: "Germany", Region: "Hesse", City: "Frankfurt am Main", Hostname: "de2.isponeder.com"}, {Country: "Germany", Region: "Hesse", City: "Frankfurt am Main", Hostname: "de3.isponeder.com"}, {Country: "Germany", Region: "Hesse", City: "Frankfurt am Main", Hostname: "de4.isponeder.com"}, {Country: "Germany", Region: "Hesse", City: "Limburg an der Lahn", Hostname: "de5.isponeder.com"}, {Country: "Germany", Region: "Hesse", City: "Frankfurt am Main", Hostname: "de6.isponeder.com"}, {Country: "Hungary", Region: "Budapest", City: "Budapest", Hostname: "hu1.isponeder.com", Premium: true}, {Country: "India", Region: "Karnataka", City: "Doddaballapura", Hostname: "in1.isponeder.com"}, {Country: "Indonesia", Region: "Special Capital Region of Jakarta", City: "Jakarta", Hostname: "id1.isponeder.com"}, {Country: "Ireland", Region: "Dublin City", City: "Dublin", Hostname: "ie1.isponeder.com"}, {Country: "Israel", Region: "Tel Aviv", City: "Tel Aviv", Hostname: "il1.isponeder.com", Premium: true}, {Country: "Italy", Region: "Lombardy", City: "Milan", Hostname: "it1.isponeder.com", Premium: true}, {Country: "Japan", Region: "Tokyo", City: "Tokyo", Hostname: "jp2.isponeder.com", Premium: true}, {Country: "Mexico", Region: "México", City: "Ampliación San Mateo (Colonia Solidaridad)", Hostname: "mx1.isponeder.com"}, {Country: "Netherlands", Region: "North Holland", City: "Haarlem", Hostname: "nl1.isponeder.com"}, {Country: "Netherlands", Region: "South Holland", City: "Naaldwijk", Hostname: "nl2.isponeder.com"}, {Country: "New Zealand", Region: "Auckland", City: "Auckland", Hostname: "nz1.isponeder.com"}, {Country: "Norway", Region: "Oslo", City: "Oslo", Hostname: "no1.isponeder.com", Premium: true}, {Country: "Norway", Region: "Stockholm", City: "Stockholm", Hostname: "no2.isponeder.com", Premium: true}, {Country: "Poland", Region: "Mazovia", City: "Warsaw", Hostname: "pl1.isponeder.com", Premium: true}, {Country: "Romania", Region: "Bucure?ti", City: "Bucharest", Hostname: "ro1.isponeder.com", Premium: true}, {Country: "Russia", Region: "Moscow", City: "Moscow", Hostname: "ru1.isponeder.com", Premium: true}, {Country: "Singapore", Region: "Singapore", City: "Singapore", Hostname: "sg1.isponeder.com", Premium: true}, {Country: "South Africa", Region: "Western Cape", City: "Cape Town", Hostname: "za1.isponeder.com", Premium: true}, {Country: "Spain", Region: "Madrid", City: "Madrid", Hostname: "es2.isponeder.com"}, {Country: "Spain", Region: "Valencia", City: "Valencia", Hostname: "se1.isponeder.com"}, {Country: "Sweden", Region: "Stockholm", City: "Stockholm", Hostname: "se2.isponeder.com", Premium: true}, {Country: "Sweden", Region: "Stockholm", City: "Stockholm", Hostname: "se3.isponeder.com"}, {Country: "Switzerland", Region: "Vaud", City: "Lausanne", Hostname: "ch1.isponeder.com"}, {Country: "Switzerland", Region: "Geneva", City: "Geneva", Hostname: "ch1.isponeder.com", Premium: true}, {Country: "Switzerland", Region: "Geneva", City: "Genève", Hostname: "ch2.isponeder.com", Premium: true}, {Country: "Ukraine", Region: "Poltavs'ka Oblast'", City: "Kremenchuk", Hostname: "ua1.isponeder.com", Premium: true}, {Country: "United Arab Emirates", Region: "Maharashtra", City: "Mumbai", Hostname: "ae1.isponeder.com", Premium: true}, {Country: "United Kingdom", Region: "England", City: "London", Hostname: "uk2.isponeder.com"}, {Country: "United Kingdom", Region: "England", City: "Kent", Hostname: "uk3.isponeder.com"}, {Country: "United Kingdom", Region: "England", City: "London", Hostname: "uk4.isponeder.com"}, {Country: "United Kingdom", Region: "England", City: "London", Hostname: "uk5.isponeder.com"}, {Country: "United Kingdom", Region: "Brent", City: "Harlesden", Hostname: "uk6.isponeder.com"}, {Country: "United Kingdom", Region: "England", City: "Manchester", Hostname: "uk7.isponeder.com"}, {Country: "United States", Region: "New Jersey", City: "Secaucus", Hostname: "us1.isponeder.com"}, {Country: "United States", Region: "New York", City: "New York City", Hostname: "us10.isponeder.com"}, {Country: "United States", Region: "California", City: "Los Angeles", Hostname: "us11.isponeder.com"}, {Country: "United States", Region: "Illinois", City: "Chicago", Hostname: "us12.isponeder.com"}, {Country: "United States", Region: "California", City: "Los Angeles", Hostname: "us13.isponeder.com"}, {Country: "United States", Region: "California", City: "Los Angeles", Hostname: "us14.isponeder.com"}, {Country: "United States", Region: "California", City: "Los Angeles", Hostname: "us15.isponeder.com"}, {Country: "United States", Region: "Illinois", City: "Chicago", Hostname: "us16.isponeder.com"}, {Country: "United States", Region: "New York", City: "New York City", Hostname: "us2.isponeder.com"}, {Country: "United States", Region: "Oregon", City: "Portland", Hostname: "us3.isponeder.com", Premium: true}, {Country: "United States", Region: "Illinois", City: "Chicago", Hostname: "us4.isponeder.com"}, {Country: "United States", Region: "California", City: "Los Angeles", Hostname: "us5.isponeder.com"}, {Country: "United States", Region: "California", City: "Los Angeles", Hostname: "us6.isponeder.com"}, {Country: "United States", Region: "Illinois", City: "Chicago", Hostname: "us7.isponeder.com"}, {Country: "United States", Region: "Georgia", City: "Atlanta", Hostname: "us8.isponeder.com"}, {Country: "United States", Region: "Georgia", City: "Atlanta", Hostname: "us9.isponeder.com"}, {Country: "Hong Kong", Region: "Central and Western", City: "Hong Kong", Hostname: "hk1.isponeder.com"}, {Country: "United States West", Region: "California", City: "Los Angeles", Hostname: "us3.isponeder.com", Premium: true}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() servers, warnings, err := parseHTML(testCase.rootNode) assert.Equal(t, testCase.servers, servers) assert.Equal(t, testCase.warnings, warnings) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/provider/vpnunlimited/connection.go ================================================ package vpnunlimited import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(1197, 1197, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/vpnunlimited/openvpnconf.go ================================================ package vpnunlimited import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: false, MssFix: 1320, Ping: 5, RenegDisabled: true, Ciphers: []string{openvpn.AES256cbc}, Auth: openvpn.SHA512, CAs: []string{ "MIIECjCCA2ygAwIBAgIRAJ/aLZu0PCO7LlOTcPQE9UwwCgYIKoZIzj0EAwQwgasxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOWTERMA8GA1UEBwwITmV3IFlvcmsxFzAVBgNVBAoMDktlZXBTb2xpZCBJbmMuMR4wHAYDVQQLDBVLZWVwU29saWQgVlBOIFJvb3QgQ0ExHjAcBgNVBAMMFUtlZXBTb2xpZCBWUE4gUm9vdCBDQTEjMCEGCSqGSIb3DQEJARYUYWRtaW5zQGtlZXBzb2xpZC5jb20wHhcNMjUwMzMxMTQ0OTU4WhcNMzAwNjEzMTQ0OTU4WjCBqTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5ZMREwDwYDVQQHDAhOZXcgWW9yazEXMBUGA1UECgwOS2VlcFNvbGlkIEluYy4xHTAbBgNVBAsMFEtlZXBTb2xpZCBPcGVuVlBOIENBMR0wGwYDVQQDDBRLZWVwU29saWQgT3BlblZQTiBDQTEjMCEGCSqGSIb3DQEJARYUYWRtaW5zQGtlZXBzb2xpZC5jb20wgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABAEHfJRyn9MZ7HQctQULIxVUNFFw+tWetokml5PvIsS1i3mM4NQnj0HHL5zCCQRKUmSiiWtGvbGlsHEWX/hz+NiVoQGjMqBD2ykdLimiFrceonIofEBZW8to6jTjG3wmJkRykDqsuLyBLUKGc2F5dR3YFGgwyDoRz0NaAYI+qgqWfE+cVaOCASwwggEoMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFB4IhTj1gStDx+fNq+ubBcr+lEbwMIHrBgNVHSMEgeMwgeCAFOEcFx6OcN8T1R8lTdCLhFlYuk5joYGxpIGuMIGrMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTlkxETAPBgNVBAcMCE5ldyBZb3JrMRcwFQYDVQQKDA5LZWVwU29saWQgSW5jLjEeMBwGA1UECwwVS2VlcFNvbGlkIFZQTiBSb290IENBMR4wHAYDVQQDDBVLZWVwU29saWQgVlBOIFJvb3QgQ0ExIzAhBgkqhkiG9w0BCQEWFGFkbWluc0BrZWVwc29saWQuY29tghRnfb8jJuxu5dJzLm5ZdurkedrxzjALBgNVHQ8EBAMCAQYwCgYIKoZIzj0EAwQDgYsAMIGHAkIBg8Cdu474VlljCoP8WEr6xErKL6Bygy5+SO1Ey0Uu3B7q8R22F0EWvrOmqmyNZ3oRyqhpUGaEBqB2aqDGT7u7wGsCQUP3nyMlDbXqCF05byMbhQrBsCz1nyqDNnfzM2uGmT09XwWXGCYTIGdynyJJLzdOlpf3T19ZLvqLSf6Kvq45u6si", //nolint:lll "MIIEEDCCA3GgAwIBAgIUZ32/IybsbuXScy5uWXbq5Hna8c4wCgYIKoZIzj0EAwQwgasxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOWTERMA8GA1UEBwwITmV3IFlvcmsxFzAVBgNVBAoMDktlZXBTb2xpZCBJbmMuMR4wHAYDVQQLDBVLZWVwU29saWQgVlBOIFJvb3QgQ0ExHjAcBgNVBAMMFUtlZXBTb2xpZCBWUE4gUm9vdCBDQTEjMCEGCSqGSIb3DQEJARYUYWRtaW5zQGtlZXBzb2xpZC5jb20wHhcNMjUwMzMxMTQ0NTUzWhcNMzUwODI2MTQ0NTUzWjCBqzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5ZMREwDwYDVQQHDAhOZXcgWW9yazEXMBUGA1UECgwOS2VlcFNvbGlkIEluYy4xHjAcBgNVBAsMFUtlZXBTb2xpZCBWUE4gUm9vdCBDQTEeMBwGA1UEAwwVS2VlcFNvbGlkIFZQTiBSb290IENBMSMwIQYJKoZIhvcNAQkBFhRhZG1pbnNAa2VlcHNvbGlkLmNvbTCBmzAQBgcqhkjOPQIBBgUrgQQAIwOBhgAEAN77xqCz3wrFDnRMtggwScgvO6wPFZYECTUu5WW0JaowgmuIgo+BiQQyTeUzJEICulc1Hg7EaUEV+z8jsSrB+4/EAWazn/ufWOx/51fa5FCv4YooCbgLPb1CzYDuTc7MUR5PLQ88o3W01wCCgT8RoNH8uChyPBLUBh2f4rUfpzl20Bqdo4IBLDCCASgwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQU4RwXHo5w3xPVHyVN0IuEWVi6TmMwgesGA1UdIwSB4zCB4IAU4RwXHo5w3xPVHyVN0IuEWVi6TmOhgbGkga4wgasxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOWTERMA8GA1UEBwwITmV3IFlvcmsxFzAVBgNVBAoMDktlZXBTb2xpZCBJbmMuMR4wHAYDVQQLDBVLZWVwU29saWQgVlBOIFJvb3QgQ0ExHjAcBgNVBAMMFUtlZXBTb2xpZCBWUE4gUm9vdCBDQTEjMCEGCSqGSIb3DQEJARYUYWRtaW5zQGtlZXBzb2xpZC5jb22CFGd9vyMm7G7l0nMubll26uR52vHOMAsGA1UdDwQEAwIBBjAKBggqhkjOPQQDBAOBjAAwgYgCQgCZtqE+wXwH0ixjWafX3SClp8O3bYeyB/7jbzf8MprXRYBVQ8JjvugjaZTvX82Uy++LaN3oHqK+NUhJUdfZx/eIuQJCAad7HpsKyTYuUUkgAgWXJma4MstxyO9PVRNYozi1oc45Z8deSvwy404n3u1kY5QXLZQaaMY7m2pF+ECs4WkKCh5s", //nolint:lll }, ExtraLines: []string{ "route-metric 1", }, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/vpnunlimited/provider.go ================================================ package vpnunlimited import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/vpnunlimited/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.VPNUnlimited } ================================================ FILE: internal/provider/vpnunlimited/updater/constants.go ================================================ package updater import ( "strings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) func getHostToServer() (hts hostToServer, warnings []string) { shortHTS := map[string]models.Server{ "ae": {}, "at": {}, "au-syd": { City: "Sydney", }, "ba": {}, "be": {}, "bg": {}, "br": {}, "ca-tr": { City: "Toronto", }, "ca-vn": { City: "Vancouver", }, "ca": {}, "ch": {}, "cz": {}, "de-dus": { City: "Düsseldorf", }, "ee": {}, "es": {}, "fi": {}, "fr-rbx": { City: "Roubaix", }, "fr": {}, "gr": {}, "hr": {}, "hu": {}, "ie-dub": { City: "Dublin", }, "il": {}, "in": {}, "is": {}, "it-mil": { City: "Milan", }, "jp": {}, "kr": {}, "lt": {}, "md": {}, "mx": {}, "nl": {}, "no": {}, "nz": {}, "pl": {}, "pt": {}, "ro": {}, "se": {}, "sg-free": { Free: true, }, "sg": {}, "si": {}, "sk": {}, "uk-cv": { City: "London", }, "uk-lon": { City: "London", }, "uk": {}, "us-chi": { City: "Chicago", }, "us-dal": { City: "Dallas", }, "us-den": { City: "Denver", }, "us-hou": { City: "Houston", }, "us-la": { City: "Los Angeles", }, "us-lv": { City: "Las Vegas", }, "us-mia": { City: "Miami", }, "us-ny-free": { City: "New York", Free: true, }, "us-ny": { City: "New York", }, "us-sea": { City: "Seattle", }, "us-sf": { City: "San Francisco", }, "us-slc": { City: "Salt Lake City", }, "us-stream": { Stream: true, }, "us": {}, "vn": {}, "za": {}, } hts = make(hostToServer, len(shortHTS)) countryCodesMap := constants.CountryCodes() for shortHost, server := range shortHTS { server.VPN = vpn.OpenVPN server.UDP = true server.Hostname = shortHost + ".vpnunlimitedapp.com" countryCode := strings.Split(shortHost, "-")[0] country, ok := countryCodesMap[countryCode] if !ok { warnings = append(warnings, "country code not found: "+countryCode) continue } server.Country = country hts[server.Hostname] = server } return hts, warnings } ================================================ FILE: internal/provider/vpnunlimited/updater/hosttoserver.go ================================================ package updater import ( "net/netip" "github.com/qdm12/gluetun/internal/models" ) type hostToServer map[string]models.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 } ================================================ FILE: internal/provider/vpnunlimited/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 20 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/vpnunlimited/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { // Hardcoded data from a user provided ZIP file since it's behind a login wall hts, warnings := getHostToServer() for _, warning := range warnings { u.warner.Warn(warning) } hosts := hts.toHostsSlice() resolveSettings := parallelResolverSettings(hosts) hostToIPs, warnings, err := u.parallelResolver.Resolve(ctx, resolveSettings) for _, warning := range warnings { u.warner.Warn(warning) } 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) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/vpnunlimited/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/vyprvpn/connection.go ================================================ package vyprvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(0, 443, 0) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/vyprvpn/openvpnconf.go ================================================ package vyprvpn import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256cbc, }, Auth: openvpn.SHA256, MssFix: 1320, Ping: 10, CAs: []string{"MIIGDjCCA/agAwIBAgIJAL2ON5xbane/MA0GCSqGSIb3DQEBDQUAMIGTMQswCQYDVQQGEwJDSDEQMA4GA1UECAwHTHVjZXJuZTEPMA0GA1UEBwwGTWVnZ2VuMRkwFwYDVQQKDBBHb2xkZW4gRnJvZyBHbWJIMSEwHwYDVQQDDBhHb2xkZW4gRnJvZyBHbWJIIFJvb3QgQ0ExIzAhBgkqhkiG9w0BCQEWFGFkbWluQGdvbGRlbmZyb2cuY29tMB4XDTE5MTAxNzIwMTQxMFoXDTM5MTAxMjIwMTQxMFowgZMxCzAJBgNVBAYTAkNIMRAwDgYDVQQIDAdMdWNlcm5lMQ8wDQYDVQQHDAZNZWdnZW4xGTAXBgNVBAoMEEdvbGRlbiBGcm9nIEdtYkgxITAfBgNVBAMMGEdvbGRlbiBGcm9nIEdtYkggUm9vdCBDQTEjMCEGCSqGSIb3DQEJARYUYWRtaW5AZ29sZGVuZnJvZy5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCtuddaZrpWZ+nUuJpG+ohTquO3XZtq6d4U0E2oiPeIiwm+WWLY49G+GNJb5aVrlrBojaykCAc2sU6NeUlpg3zuqrDqLcz7PAE4OdNiOdrLBF1o9ZHrcITDZN304eAY5nbyHx5V6x/QoDVCi4g+5OVTA+tZjpcl4wRIpgknWznO73IKCJ6YckpLn1BsFrVCb2ehHYZLg7Js58FzMySIxBmtkuPeHQXL61DFHh3cTFcMxqJjzh7EGsWRyXfbAaBGYnT+TZwzpLXXt8oBGpNXG8YBDrPdK0A+lzMnJ4nS0rgHDSRF0brx+QYk/6CgM510uFzB7zytw9UTD3/5TvKlCUmTGGgI84DbJ3DEvjxbgiQnJXCUZKKYSHwrK79Y4Qn+lXu4Bu0ZTCJBje0GUVMTPAvBCeDvzSe0iRcVSNMJVM68d4kD1PpSY/zWfCz5hiOjHWuXinaoZ0JJqRF8kGbJsbDlDYDtVvh/Cd4aWN6Q/2XLpszBsG5i8sdkS37nzkdlRwNEIZwsKfcXwdTOlDinR1LUG68LmzJAwfNE47xbrZUsdGGfG+HSPsrqFFiLGe7Y4e2+a7vGdSY9qR9PAzyx0ijCCrYzZDIsb2dwjLctUx6a3LNV8cpfhKX+s6tfMldGufPI7byHT1Ybf0NtMS1d1RjD6IbqedXQdCKtaw68kTX//wIDAQABo2MwYTAdBgNVHQ4EFgQU2EbQvBd1r/EADr2jCPMXsH7zEXEwHwYDVR0jBBgwFoAU2EbQvBd1r/EADr2jCPMXsH7zEXEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQENBQADggIBAAViCPieIronV+9asjZyo5oSZSNWUkWRYdezjezsf49+fwT12iRgnkSEQeoj5caqcOfNm/eRpN4G7jhhCcxy9RGF+GurIlZ4v0mChZbx1jcxqr9/3/Z2TqvHALyWngBYDv6pv1iWcd9a4+QL9kj1Tlp8vUDIcHMtDQkEHnkhC+MnjyrdsdNE5wjlLljjFR2Qy5a6/kWwZ1JQVYof1J1EzY6mU7YLMHOdjfmeci5i0vg8+9kGMsc/7Wm69L1BeqpDB3ZEAgmOtda2jwOevJ4sABmRoSThFp4DeMcxb62HW1zZCCpgzWv/33+pZdPvnZHSz7RGoxH4Ln7eBf3oo2PMlu7wCsid3HUdgkRf2Og1RJIrFfEjb7jga1JbKX2Qo/FH3txzdUimKiDRv3ccFmEOqjndUG6hP+7/EsI43oCPYOvZR+u5GdOkhYrDGZlvjXeJ1CpQxTR/EX+Vt7F8YG+i2LkO7lhPLb+LzgPAxVPCcEMHruuUlE1BYxxzRMOW4X4kjHvJjZGISxa9lgTY3e0mnoQNQVBHKfzI2vGLwvcrFcCIrVxeEbj2dryfByyhZlrNPFbXyf7P4OSfk+fVh6Is1IF1wksfLY/6gWvcmXB8JwmKFDa9s5NfzXnzP3VMrNUWXN3G8Eee6qzKKTDsJ70OrgAx9j9a+dMLfe1vP5t6GQj5"}, //nolint:lll TLSCipher: "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA", //nolint:lll ExtraLines: []string{ "comp-lzo", }, // VerifyX509Name: []string{"lu1.vyprvpn.com","name"}, } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/vyprvpn/provider.go ================================================ package vyprvpn import ( "math/rand" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/vyprvpn/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, unzipper common.Unzipper, updaterWarner common.Warner, parallelResolver common.ParallelResolver, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(unzipper, updaterWarner, parallelResolver), } } func (p *Provider) Name() string { return providers.Vyprvpn } ================================================ FILE: internal/provider/vyprvpn/updater/filename.go ================================================ package updater import ( "errors" "fmt" "strings" ) var errNotOvpnExt = errors.New("filename does not have the openvpn file extension") func parseFilename(fileName string) ( region string, err error, ) { const suffix = ".ovpn" if !strings.HasSuffix(fileName, suffix) { return "", fmt.Errorf("%w: %s", errNotOvpnExt, fileName) } region = strings.TrimSuffix(fileName, suffix) region = strings.ReplaceAll(region, " - ", " ") return region, nil } ================================================ FILE: internal/provider/vyprvpn/updater/hosttoserver.go ================================================ 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, region string, tcp, udp bool) { server, ok := hts[host] if !ok { server.VPN = vpn.OpenVPN server.Hostname = host server.Region = region } if tcp { server.TCP = true } if udp { 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 } ================================================ FILE: internal/provider/vyprvpn/updater/resolve.go ================================================ package updater import ( "time" "github.com/qdm12/gluetun/internal/updater/resolver" ) func parallelResolverSettings(hosts []string) (settings resolver.ParallelSettings) { const ( maxFailRatio = 0.1 maxDuration = 5 * time.Second betweenDuration = time.Second maxNoNew = 2 maxFails = 2 ) return resolver.ParallelSettings{ Hosts: hosts, MaxFailRatio: maxFailRatio, Repeat: resolver.RepeatSettings{ MaxDuration: maxDuration, BetweenDuration: betweenDuration, MaxNoNew: maxNoNew, MaxFails: maxFails, SortIPs: true, }, } } ================================================ FILE: internal/provider/vyprvpn/updater/servers.go ================================================ package updater import ( "context" "fmt" "sort" "strings" "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, ) { const url = "https://support.vyprvpn.com/hc/article_attachments/360052617332/Vypr_OpenVPN_20200320.zip" contents, err := u.unzipper.FetchAndExtract(ctx, url) 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) } 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 } tcp, udp, err := openvpn.ExtractProto(content) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error() + " in " + fileName) continue } region, err := parseFilename(fileName) if err != nil { // treat error as warning and go to next file u.warner.Warn(err.Error()) continue } hts.add(host, region, tcp, udp) } 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) } 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) } hts.adaptWithIPs(hostToIPs) servers = hts.toServersSlice() sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/vyprvpn/updater/updater.go ================================================ package updater import ( "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { unzipper common.Unzipper parallelResolver common.ParallelResolver warner common.Warner } func New(unzipper common.Unzipper, warner common.Warner, parallelResolver common.ParallelResolver, ) *Updater { return &Updater{ unzipper: unzipper, parallelResolver: parallelResolver, warner: warner, } } ================================================ FILE: internal/provider/windscribe/connection.go ================================================ package windscribe import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) GetConnection(selection settings.ServerSelection, ipv6Supported bool) ( connection models.Connection, err error, ) { defaults := utils.NewConnectionDefaults(443, 1194, 1194) //nolint:mnd return utils.GetConnection(p.Name(), p.storage, selection, defaults, ipv6Supported, p.randSource) } ================================================ FILE: internal/provider/windscribe/connection_test.go ================================================ package windscribe import ( "errors" "math/rand" "net/http" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" "github.com/stretchr/testify/assert" ) func Test_Provider_GetConnection(t *testing.T) { t.Parallel() const provider = providers.Windscribe errTest := errors.New("test error") testCases := map[string]struct { filteredServers []models.Server storageErr error selection settings.ServerSelection ipv6Supported bool connection models.Connection errWrapped error errMessage string panicMessage string }{ "error": { storageErr: errTest, errWrapped: errTest, errMessage: "filtering servers: test error", }, "default OpenVPN TCP port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}}, }, selection: settings.ServerSelection{ OpenVPN: settings.OpenVPNSelection{ Protocol: constants.TCP, }, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 443, Protocol: constants.TCP, }, }, "default OpenVPN UDP port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}}, }, selection: settings.ServerSelection{ OpenVPN: settings.OpenVPNSelection{ Protocol: constants.UDP, }, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.OpenVPN, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 1194, Protocol: constants.UDP, }, }, "default Wireguard port": { filteredServers: []models.Server{ {IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, WgPubKey: "x"}, }, selection: settings.ServerSelection{ VPN: vpn.Wireguard, }.WithDefaults(provider), connection: models.Connection{ Type: vpn.Wireguard, IP: netip.AddrFrom4([4]byte{1, 1, 1, 1}), Port: 1194, Protocol: constants.UDP, PubKey: "x", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) storage := common.NewMockStorage(ctrl) storage.EXPECT().FilterServers(provider, testCase.selection). Return(testCase.filteredServers, testCase.storageErr) randSource := rand.NewSource(0) client := (*http.Client)(nil) warner := (common.Warner)(nil) provider := New(storage, randSource, client, warner) if testCase.panicMessage != "" { assert.PanicsWithValue(t, testCase.panicMessage, func() { _, _ = provider.GetConnection(testCase.selection, testCase.ipv6Supported) }) return } connection, err := provider.GetConnection(testCase.selection, testCase.ipv6Supported) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.connection, connection) }) } } ================================================ FILE: internal/provider/windscribe/openvpnconf.go ================================================ package windscribe import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/openvpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/utils" ) func (p *Provider) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool, ) (lines []string) { //nolint:mnd providerSettings := utils.OpenVPNProviderSettings{ RemoteCertTLS: true, AuthUserPass: true, Ciphers: []string{ openvpn.AES256gcm, openvpn.AES256cbc, openvpn.AES128gcm, }, Auth: openvpn.SHA512, MssFix: 1320, Ping: 10, VerifyX509Type: "name", KeyDirection: "1", RenegDisabled: true, CAs: []string{"MIIF5zCCA8+gAwIBAgIUXKzAwOtQBNDoTXcnwR7GxbVkRqAwDQYJKoZIhvcNAQELBQAwezELMAkGA1UEBhMCQ0ExCzAJBgNVBAgMAk9OMRAwDgYDVQQHDAdUb3JvbnRvMRswGQYDVQQKDBJXaW5kc2NyaWJlIExpbWl0ZWQxEDAOBgNVBAsMB1N5c3RlbXMxHjAcBgNVBAMMFVdpbmRzY3JpYmUgTm9kZSBDQSBYMTAeFw0yMTA3MDYyMTM5NDNaFw0zNzA3MDIyMTM5NDNaMHsxCzAJBgNVBAYTAkNBMQswCQYDVQQIDAJPTjEQMA4GA1UEBwwHVG9yb250bzEbMBkGA1UECgwSV2luZHNjcmliZSBMaW1pdGVkMRAwDgYDVQQLDAdTeXN0ZW1zMR4wHAYDVQQDDBVXaW5kc2NyaWJlIE5vZGUgQ0EgWDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDg/79XeOvthNbhtocxaJ6raIsrlSrnUJ9xAyYHJV+auT4ZlACNE54NVhrGPBEVdNttUdezHaPUlQA+XTWUPlHMayIg9dsQEFdHH3StnFrjYBzeCO76trPZ8McU6PzW+LqNEvFAwtdKjYMgHISkt0YPUPdB7vED6yqbyiIAlmN5u/uLG441ImnEq5kjIQxVB+IHhkV4O7EuiKOEXvsKdFzdRACi4rFOq9Z6zK2Yscdg89JvFOwIm1nY5PMYpZgUKkvdYMcvZQ8aFDaArniu+kUZiVyUtcKRaCUCyyMM7iiN+5YV0vQ0Etv59ldOYPqL9aJ6QeRG9Plq5rP8ltbmXJRBO/kdjQTBrP4gYddt5W0uv5rcMclZ9te0/JGl3Os3Gps5w7bYHeVdYb3j0PfsJAQ5WrM+hS5/GaX3ltiJKXOA9kwtDG3YpPqvpMVAqpM6PFdRwTH62lOemVAOHRrThOVbclqpEbe3zH59jwSML5WXgVIfwrpcpndj2uEyKS50y30GzVBIn5M1pcQJJplYuBp8nVGCqA9AVV+JHffVP/JrkvEJzhui8M5SVnkzmAK3i+rwL0NMRJKwKaSm1uJVvJyoXMMNTEcu1lqnSl+i2UlIYAgeqeT//D9zcNgcOdP8ix6NhFChjE1dvNFv8mXxkezmu+etPpQZTpgc1eBZvAAojwIDAQABo2MwYTAdBgNVHQ4EFgQUVLNKLT/c9fTG4BJ+6rTZkPjS4RgwHwYDVR0jBBgwFoAUVLNKLT/c9fTG4BJ+6rTZkPjS4RgwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAF4Bpc0XdBsgF3WSeRLJ6t2J7vOjjMXBePwSL0g6GDjLpKW9sz9F3wfXaK5cKjY5tj5NEwmkVbqa+BXg4FWic0uLinI7tx7sLtvqHrKUFke35L8gjgIEpErg8nmBPokEVsmCcfYYutwOi2IGikurpY29O4HniDY9baXp8kvwn1T92ZwF9G5SGzxc9Y0rGs+BwmDZu58IhID3aqAJ16aHw5FHQWGUxje5uNbEUFdVaj7ODvznM6ef/5sAFVL15mftsRokLhCnDdEjI/9QOYQoPrKJAudZzbWeOux3k93SehS7UWDZW4AFz/7XTaWL79tLqqtTI6LiuHn73enHgH6BlsH3ESB+Has6Rn7aH0wBByLQ9+NYIfAwXUCd4nevUXeJ3r/aORi367ATj1yb3J8llFCsoc/PT7a+PxDT8co2m6TtcRK3mFT/71svWB0zy7qAtSWT1C82W5JFkhkP44UMLwGUuJsrYy2qAZVru6Jp6vU/zOghLp5kwa1cO1GEbYinvoyTw4XkOuaIfEMUZA10QCCW8uocxqIZXTzvF7LaqqsTCcAMcviKGXS5lvxLtqTEDO5rYbf8n71J2qUyUQ5yYTE0UFQYiYTuvCbtRg2TJdQy05nisw1O8Hm2erAmUveSTr3CWZ/av7Dtup352gRS6qxW4w0jRN3NLfLyazK/JjTX"}, //nolint:lll TLSAuth: "5801926a57ac2ce27e3dfd1dd6ef82042d82bd4f3f0021296f57734f6f1ea714a6623845541c4b0c3dea0a050fe6746cb66dfab14cda27e5ae09d7c155aa554f399fa4a863f0e8c1af787e5c602a801d3a2ec41e395a978d56729457fe6102d7d9e9119aa83643210b33c678f9d4109e3154ac9c759e490cb309b319cf708cae83ddadc3060a7a26564d1a24411cd552fe6620ea16b755697a4fc5e6e9d0cfc0c5c4a1874685429046a424c026db672e4c2c492898052ba59128d46200b40f880027a8b6610a4d559bdc9346d33a0a6b08e75c7fd43192b162bfd0aef0c716b31584827693f676f9a5047123466f0654eade34972586b31c6ce7e395f4b478cb", //nolint:lll } return utils.OpenVPNConfig(providerSettings, connection, settings, ipv6Supported) } ================================================ FILE: internal/provider/windscribe/provider.go ================================================ package windscribe import ( "math/rand" "net/http" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/provider/windscribe/updater" ) type Provider struct { storage common.Storage randSource rand.Source common.Fetcher } func New(storage common.Storage, randSource rand.Source, client *http.Client, updaterWarner common.Warner, ) *Provider { return &Provider{ storage: storage, randSource: randSource, Fetcher: updater.New(client, updaterWarner), } } func (p *Provider) Name() string { return providers.Windscribe } ================================================ FILE: internal/provider/windscribe/updater/api.go ================================================ package updater import ( "context" "encoding/json" "errors" "fmt" "net/http" "net/netip" "strconv" "time" ) var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") type apiData struct { Data []regionData `json:"data"` } type regionData struct { Region string `json:"name"` Groups []groupData `json:"groups"` } type groupData struct { City string `json:"city"` Nodes []serverData `json:"nodes"` OvpnX509 string `json:"ovpn_x509"` WgPubKey string `json:"wg_pubkey"` } type serverData struct { Hostname string `json:"hostname"` IP netip.Addr `json:"ip"` IP2 netip.Addr `json:"ip2"` IP3 netip.Addr `json:"ip3"` } func fetchAPI(ctx context.Context, client *http.Client) ( data apiData, err error, ) { const baseURL = "https://assets.windscribe.com/serverlist/mob-v2/1/" cacheBreaker := time.Now().Unix() url := baseURL + strconv.Itoa(int(cacheBreaker)) request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return data, err } response, err := client.Do(request) if err != nil { return data, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { return data, fmt.Errorf("%w: %d %s", ErrHTTPStatusCodeNotOK, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&data); err != nil { return data, fmt.Errorf("decoding response body: %w", err) } return data, nil } ================================================ FILE: internal/provider/windscribe/updater/servers.go ================================================ package updater import ( "context" "errors" "fmt" "net/netip" "sort" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) var ErrNoWireguardKey = errors.New("no wireguard public key found") func (u *Updater) FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error, ) { data, err := fetchAPI(ctx, u.client) if err != nil { return nil, err } for _, regionData := range data.Data { region := regionData.Region for _, group := range regionData.Groups { city := group.City x5090Name := group.OvpnX509 wgPubKey := group.WgPubKey for _, node := range group.Nodes { ips := make([]netip.Addr, 0, 2) //nolint:mnd if node.IP.IsValid() { ips = append(ips, node.IP) } if node.IP2.IsValid() { ips = append(ips, node.IP2) } server := models.Server{ VPN: vpn.OpenVPN, TCP: true, UDP: true, Region: region, City: city, Hostname: node.Hostname, OvpnX509: x5090Name, IPs: ips, } servers = append(servers, server) if !node.IP3.IsValid() { // Wireguard + Stealth continue } else if wgPubKey == "" { return nil, fmt.Errorf("%w: for node %s", ErrNoWireguardKey, node.Hostname) } server.VPN = vpn.Wireguard server.UDP = false server.TCP = false server.OvpnX509 = "" server.WgPubKey = wgPubKey server.IPs = []netip.Addr{node.IP3} servers = append(servers, server) } } } if len(servers) < minServers { return nil, fmt.Errorf("%w: %d and expected at least %d", common.ErrNotEnoughServers, len(servers), minServers) } sort.Sort(models.SortableServers(servers)) return servers, nil } ================================================ FILE: internal/provider/windscribe/updater/updater.go ================================================ package updater import ( "net/http" "github.com/qdm12/gluetun/internal/provider/common" ) type Updater struct { client *http.Client warner common.Warner } func New(client *http.Client, warner common.Warner) *Updater { return &Updater{ client: client, warner: warner, } } ================================================ FILE: internal/publicip/api/api.go ================================================ package api import ( "errors" "fmt" "maps" "net/http" "net/url" "regexp" "slices" "strings" ) type Provider string const ( Cloudflare Provider = "cloudflare" IfConfigCo Provider = "ifconfigco" IPInfo Provider = "ipinfo" IP2Location Provider = "ip2location" ) const echoipPrefix = "echoip#" type NameToken struct { Name string Token string } func New(nameTokenPairs []NameToken, client *http.Client) ( fetchers []Fetcher, err error, ) { fetchers = make([]Fetcher, len(nameTokenPairs)) for i, nameTokenPair := range nameTokenPairs { provider, err := ParseProvider(nameTokenPair.Name) if err != nil { return nil, fmt.Errorf("parsing API name: %w", err) } switch { case provider == Cloudflare: fetchers[i] = newCloudflare(client) case provider == IfConfigCo: const ifConfigCoURL = "https://ifconfig.co" fetchers[i] = newEchoip(client, ifConfigCoURL) case provider == IPInfo: fetchers[i] = newIPInfo(client, nameTokenPair.Token) case provider == IP2Location: fetchers[i] = newIP2Location(client, nameTokenPair.Token) case strings.HasPrefix(string(provider), echoipPrefix): url := strings.TrimPrefix(string(provider), echoipPrefix) fetchers[i] = newEchoip(client, url) default: panic("provider not valid: " + provider) } } return fetchers, nil } var regexEchoipURL = regexp.MustCompile(`^http(s|):\/\/.+$`) var ErrProviderNotValid = errors.New("API name is not valid") func ParseProvider(s string) (provider Provider, err error) { possibleProviders := []Provider{ Cloudflare, IfConfigCo, IP2Location, IPInfo, } stringToProvider := make(map[string]Provider, len(possibleProviders)) for _, provider := range possibleProviders { stringToProvider[string(provider)] = provider } provider, ok := stringToProvider[strings.ToLower(s)] if ok { return provider, nil } customPrefixToURLRegex := map[string]*regexp.Regexp{ echoipPrefix: regexEchoipURL, } for prefix, urlRegex := range customPrefixToURLRegex { match, err := checkCustomURL(s, prefix, urlRegex) if !match { continue } else if err != nil { return "", err } return Provider(s), nil } providerStrings := make([]string, 0, len(stringToProvider)+len(customPrefixToURLRegex)) for _, providerString := range slices.Sorted(maps.Keys(stringToProvider)) { providerStrings = append(providerStrings, `"`+providerString+`"`) } for _, prefix := range slices.Sorted(maps.Keys(customPrefixToURLRegex)) { providerStrings = append(providerStrings, "a custom "+prefix+" url") } return "", fmt.Errorf(`%w: %q can only be %s`, ErrProviderNotValid, s, orStrings(providerStrings)) } var ErrCustomURLNotValid = errors.New("custom URL is not valid") func checkCustomURL(s, prefix string, regex *regexp.Regexp) (match bool, err error) { if !strings.HasPrefix(s, prefix) { return false, nil } s = strings.TrimPrefix(s, prefix) _, err = url.Parse(s) if err != nil { return true, fmt.Errorf("%s %w: %w", prefix, ErrCustomURLNotValid, err) } if regex.MatchString(s) { return true, nil } return true, fmt.Errorf("%s %w: %q does not match regular expression: %s", prefix, ErrCustomURLNotValid, s, regex) } func orStrings(strings []string) (result string) { return joinStrings(strings, "or") } func joinStrings(strings []string, lastJoin string) (result string) { if len(strings) == 0 { return "" } result = strings[0] for i := 1; i < len(strings); i++ { if i < len(strings)-1 { result += ", " + strings[i] } else { result += " " + lastJoin + " " + strings[i] } } return result } ================================================ FILE: internal/publicip/api/api_test.go ================================================ package api import ( "testing" "github.com/stretchr/testify/assert" ) func Test_ParseProvider(t *testing.T) { t.Parallel() testCases := map[string]struct { s string provider Provider errWrapped error errMessage string }{ "empty": { errWrapped: ErrProviderNotValid, errMessage: `API name is not valid: "" can only be ` + `"cloudflare", "ifconfigco", "ip2location", "ipinfo" or a custom echoip# url`, }, "invalid": { s: "xyz", errWrapped: ErrProviderNotValid, errMessage: `API name is not valid: "xyz" can only be ` + `"cloudflare", "ifconfigco", "ip2location", "ipinfo" or a custom echoip# url`, }, "ipinfo": { s: "ipinfo", provider: IPInfo, }, "IpInfo": { s: "IpInfo", provider: IPInfo, }, "echoip_url_empty": { s: "echoip#", errWrapped: ErrCustomURLNotValid, errMessage: `echoip# custom URL is not valid: "" ` + `does not match regular expression: ^http(s|):\/\/.+$`, }, "echoip_url_invalid": { s: "echoip#postgres://localhost:3451", errWrapped: ErrCustomURLNotValid, errMessage: `echoip# custom URL is not valid: "postgres://localhost:3451" ` + `does not match regular expression: ^http(s|):\/\/.+$`, }, "echoip_url_valid": { s: "echoip#http://localhost:3451", provider: Provider("echoip#http://localhost:3451"), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() provider, err := ParseProvider(testCase.s) assert.Equal(t, testCase.provider, provider) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/publicip/api/cloudflare.go ================================================ package api import ( "context" "encoding/json" "fmt" "net/http" "net/netip" "strings" "time" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) type cloudflare struct { client *http.Client } func newCloudflare(client *http.Client) *cloudflare { return &cloudflare{ client: client, } } func (c *cloudflare) String() string { return string(Cloudflare) } func (c *cloudflare) CanFetchAnyIP() bool { return false } func (c *cloudflare) Token() (token string) { return "" } // FetchInfo obtains information on the public IP address of the machine, // and returns an error if the `ip` argument is set since the Cloudflare API // can only be used to provide details about the current machine public IP. func (c *cloudflare) FetchInfo(ctx context.Context, ip netip.Addr) ( result models.PublicIP, err error, ) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 15 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() urlBase := "https://speed.cloudflare.com" url := urlBase + "/meta" if ip.IsValid() { return result, fmt.Errorf("%w: cloudflare cannot provide information on the arbitrary IP address %s", ErrServiceLimited, ip) } request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return result, err } request.Header.Add("Referer", urlBase) // returns HTTP 403 otherwise response, err := c.client.Do(request) if err != nil { return result, err } defer response.Body.Close() switch response.StatusCode { case http.StatusOK: case http.StatusTooManyRequests: return result, fmt.Errorf("%w from %s: %d %s", ErrTooManyRequests, url, response.StatusCode, response.Status) default: return result, fmt.Errorf("%w from %s: %d %s", ErrBadHTTPStatus, url, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) var data struct { Hostname string `json:"hostname,omitempty"` ClientIP netip.Addr `json:"clientIp,omitempty"` ASOrganization string `json:"asOrganization,omitempty"` Country string `json:"country,omitempty"` City string `json:"city,omitempty"` Region string `json:"region,omitempty"` PostalCode string `json:"postalCode,omitempty"` Latitude string `json:"latitude,omitempty"` Longitude string `json:"longitude,omitempty"` } if err := decoder.Decode(&data); err != nil { return result, fmt.Errorf("decoding response: %w", err) } countryCode := strings.ToLower(data.Country) country, ok := constants.CountryCodes()[countryCode] if ok { data.Country = country } result = models.PublicIP{ IP: data.ClientIP, Region: data.Region, Country: data.Country, City: data.City, Hostname: data.Hostname, Location: data.Latitude + "," + data.Longitude, Organization: data.ASOrganization, PostalCode: data.PostalCode, Timezone: "", // no timezone } return result, nil } ================================================ FILE: internal/publicip/api/echoip.go ================================================ package api import ( "context" "encoding/json" "fmt" "net/http" "net/netip" "strings" "time" "github.com/qdm12/gluetun/internal/models" ) type echoip struct { client *http.Client url string } func newEchoip(client *http.Client, url string) *echoip { return &echoip{ client: client, url: url, } } func (e *echoip) String() string { s := e.url s = strings.TrimPrefix(s, "http://") s = strings.TrimPrefix(s, "https://") return s } func (e *echoip) CanFetchAnyIP() bool { return true } func (e *echoip) Token() string { return "" } // FetchInfo obtains information on the ip address provided // using the echoip API at the url given. If the ip is the zero value, // the public IP address of the machine is used as the IP. func (e *echoip) FetchInfo(ctx context.Context, ip netip.Addr) ( result models.PublicIP, err error, ) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 15 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() url := e.url + "/json" if ip.IsValid() { url += "?ip=" + ip.String() } request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return result, err } response, err := e.client.Do(request) if err != nil { return result, err } defer response.Body.Close() switch response.StatusCode { case http.StatusOK: case http.StatusTooManyRequests: return result, fmt.Errorf("%w from %s: %s", ErrTooManyRequests, url, response.Status) default: return result, fmt.Errorf("%w from %s: %s", ErrBadHTTPStatus, url, response.Status) } decoder := json.NewDecoder(response.Body) var data struct { IP netip.Addr `json:"ip,omitempty"` Country string `json:"country,omitempty"` RegionName string `json:"region_name,omitempty"` ZipCode string `json:"zip_code,omitempty"` City string `json:"city,omitempty"` Latitude float32 `json:"latitude,omitempty"` Longitude float32 `json:"longitude,omitempty"` Hostname string `json:"hostname,omitempty"` // Timezone in the form America/Montreal Timezone string `json:"time_zone,omitempty"` AsnOrg string `json:"asn_org,omitempty"` } err = decoder.Decode(&data) if err != nil { return result, fmt.Errorf("decoding response: %w", err) } result = models.PublicIP{ IP: data.IP, Region: data.RegionName, Country: data.Country, City: data.City, Hostname: data.Hostname, Location: fmt.Sprintf("%f,%f", data.Latitude, data.Longitude), Organization: data.AsnOrg, PostalCode: data.ZipCode, Timezone: data.Timezone, } return result, nil } ================================================ FILE: internal/publicip/api/errors.go ================================================ package api import "errors" var ( ErrTokenNotValid = errors.New("token is not valid") ErrTooManyRequests = errors.New("too many requests sent for this month") ErrBadHTTPStatus = errors.New("bad HTTP status received") ErrServiceLimited = errors.New("service is limited") ) ================================================ FILE: internal/publicip/api/interfaces.go ================================================ package api import ( "context" "net/netip" "github.com/qdm12/gluetun/internal/models" ) type Fetcher interface { String() string CanFetchAnyIP() bool Token() (token string) InfoFetcher } type InfoFetcher interface { FetchInfo(ctx context.Context, ip netip.Addr) ( result models.PublicIP, err error) } type Warner interface { Warn(message string) } ================================================ FILE: internal/publicip/api/ip2location.go ================================================ package api import ( "context" "encoding/json" "fmt" "net/http" "net/netip" "strings" "time" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) type ip2Location struct { client *http.Client token string countryCodes map[string]string } func newIP2Location(client *http.Client, token string) *ip2Location { return &ip2Location{ client: client, token: token, countryCodes: constants.CountryCodes(), } } func (i *ip2Location) String() string { return string(IP2Location) } func (i *ip2Location) CanFetchAnyIP() bool { return true } func (i *ip2Location) Token() string { return i.token } // FetchInfo obtains information on the ip address provided // using the api.ip2location.io API. If the ip is the zero value, // the public IP address of the machine is used as the IP. func (i *ip2Location) FetchInfo(ctx context.Context, ip netip.Addr) ( result models.PublicIP, err error, ) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 15 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() url := "https://api.ip2location.io/" if ip.IsValid() { url += "?ip=" + ip.String() } if i.token != "" { if !strings.Contains(url, "?") { url += "?" } url += "&key=" + i.token } request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return result, err } response, err := i.client.Do(request) if err != nil { return result, err } defer response.Body.Close() if i.token != "" && response.StatusCode == http.StatusUnauthorized { return result, fmt.Errorf("%w: %s", ErrTokenNotValid, response.Status) } switch response.StatusCode { case http.StatusOK: case http.StatusTooManyRequests, http.StatusForbidden: return result, fmt.Errorf("%w from %s: %d %s", ErrTooManyRequests, url, response.StatusCode, response.Status) default: return result, fmt.Errorf("%w from %s: %d %s", ErrBadHTTPStatus, url, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) var data struct { IP netip.Addr `json:"ip,omitempty"` CountryName string `json:"country_name,omitempty"` RegionName string `json:"region_name,omitempty"` CityName string `json:"city_name,omitempty"` Latitude float32 `json:"latitude,omitempty"` Longitude float32 `json:"longitude,omitempty"` ZipCode string `json:"zip_code,omitempty"` // Timezone in the form -07:00 Timezone string `json:"time_zone,omitempty"` As string `json:"as,omitempty"` } if err := decoder.Decode(&data); err != nil { return result, fmt.Errorf("decoding response: %w", err) } // Remove parentheses from country name idx := strings.Index(data.CountryName, " (") if idx != -1 { data.CountryName = data.CountryName[:idx] } // Rename country to match country string obtained from other IP data sources countryRenames := map[string]string{ "Netherlands": i.countryCodes["nl"], "United States of America": i.countryCodes["us"], "United Kingdom of Great Britain and Northern Ireland": i.countryCodes["gb"], "Czechia": i.countryCodes["cz"], "Korea": i.countryCodes["kr"], } if newName, ok := countryRenames[data.CountryName]; ok { data.CountryName = newName } result = models.PublicIP{ IP: data.IP, Region: data.RegionName, Country: data.CountryName, City: data.CityName, Hostname: "", // no hostname Location: fmt.Sprintf("%f,%f", data.Latitude, data.Longitude), Organization: data.As, PostalCode: data.ZipCode, Timezone: data.Timezone, } return result, nil } ================================================ FILE: internal/publicip/api/ipinfo.go ================================================ package api import ( "context" "encoding/json" "fmt" "net/http" "net/netip" "strings" "time" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) type ipInfo struct { client *http.Client token string } func newIPInfo(client *http.Client, token string) *ipInfo { return &ipInfo{ client: client, token: token, } } func (i *ipInfo) String() string { return string(IPInfo) } func (i *ipInfo) CanFetchAnyIP() bool { return true } func (i *ipInfo) Token() string { return i.token } // FetchInfo obtains information on the ip address provided // using the ipinfo.io API. If the ip is the zero value, the public IP address // of the machine is used as the IP. func (i *ipInfo) FetchInfo(ctx context.Context, ip netip.Addr) ( result models.PublicIP, err error, ) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 15 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() url := "https://ipinfo.io/" switch { case ip.Is6(): url = "https://v6.ipinfo.io/" + ip.String() case ip.Is4(): url = "https://ipinfo.io/" + ip.String() } request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return result, err } request.Header.Set("Authorization", "Bearer "+i.token) response, err := i.client.Do(request) if err != nil { return result, err } defer response.Body.Close() if i.token != "" && response.StatusCode == http.StatusUnauthorized { return result, fmt.Errorf("%w: %s", ErrTokenNotValid, response.Status) } switch response.StatusCode { case http.StatusOK: case http.StatusTooManyRequests, http.StatusForbidden: return result, fmt.Errorf("%w from %s: %d %s", ErrTooManyRequests, url, response.StatusCode, response.Status) default: return result, fmt.Errorf("%w from %s: %d %s", ErrBadHTTPStatus, url, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) var data struct { IP netip.Addr `json:"ip,omitempty"` Region string `json:"region,omitempty"` Country string `json:"country,omitempty"` City string `json:"city,omitempty"` Hostname string `json:"hostname,omitempty"` Loc string `json:"loc,omitempty"` Org string `json:"org,omitempty"` Postal string `json:"postal,omitempty"` Timezone string `json:"timezone,omitempty"` } if err := decoder.Decode(&data); err != nil { return result, fmt.Errorf("decoding response: %w", err) } countryCode := strings.ToLower(data.Country) country, ok := constants.CountryCodes()[countryCode] if ok { data.Country = country } result = models.PublicIP{ IP: data.IP, Region: data.Region, Country: data.Country, City: data.City, Hostname: data.Hostname, Location: data.Loc, Organization: data.Org, PostalCode: data.Postal, Timezone: data.Timezone, } return result, nil } ================================================ FILE: internal/publicip/api/multi.go ================================================ package api import ( "context" "net/netip" "github.com/qdm12/gluetun/internal/models" ) // FetchMultiInfo obtains the public IP address information for every IP // addresses provided and returns a slice of results with the corresponding // order as to the IP addresses slice order. // If an error is encountered, all the operations are canceled and // an error is returned, so the results returned should be considered // incomplete in this case. func FetchMultiInfo(ctx context.Context, fetcher InfoFetcher, ips []netip.Addr) ( results []models.PublicIP, err error, ) { ctx, cancel := context.WithCancel(ctx) type asyncResult struct { index int result models.PublicIP err error } resultsCh := make(chan asyncResult) for i, ip := range ips { go func(index int, ip netip.Addr) { aResult := asyncResult{ index: index, } aResult.result, aResult.err = fetcher.FetchInfo(ctx, ip) resultsCh <- aResult }(i, ip) } results = make([]models.PublicIP, len(ips)) for range ips { aResult := <-resultsCh if aResult.err != nil { if err == nil { // Cancel on the first error encountered err = aResult.err cancel() } continue // ignore errors after the first one } results[aResult.index] = aResult.result } close(resultsCh) cancel() return results, err } ================================================ FILE: internal/publicip/api/resilient.go ================================================ package api import ( "context" "errors" "fmt" "net/netip" "strings" "sync" "time" "unicode" "github.com/qdm12/gluetun/internal/models" "golang.org/x/text/runes" "golang.org/x/text/transform" "golang.org/x/text/unicode/norm" ) // ResilientFetcher is a fetcher implementation using multiple fetchers. // If a fetcher fails, it tries the next one. // To fetch public IP information for a specific IP address, // it fetches from all sources to find the best result, since data // from a single source can be wrong. type ResilientFetcher struct { fetchers []Fetcher logger Warner fetcherToBanTime map[Fetcher]time.Time banMutex sync.RWMutex mutex sync.RWMutex timeNow func() time.Time } // NewResilient creates a 'resilient' fetcher given multiple fetchers. func NewResilient(fetchers []Fetcher, logger Warner) *ResilientFetcher { return &ResilientFetcher{ fetchers: fetchers, logger: logger, fetcherToBanTime: make(map[Fetcher]time.Time, len(fetchers)), timeNow: time.Now, } } func (r *ResilientFetcher) setBanned(fetcher Fetcher) { r.banMutex.Lock() defer r.banMutex.Unlock() r.fetcherToBanTime[fetcher] = r.timeNow() } func (r *ResilientFetcher) isBanned(fetcher Fetcher) (banned bool) { r.banMutex.Lock() defer r.banMutex.Unlock() banTime, banned := r.fetcherToBanTime[fetcher] if !banned { return false } const banDuration = 30 * 24 * time.Hour banExpiryTime := banTime.Add(banDuration) now := r.timeNow() if now.After(banExpiryTime) { delete(r.fetcherToBanTime, fetcher) return false } return true } func (r *ResilientFetcher) String() string { r.mutex.RLock() defer r.mutex.RUnlock() names := make([]string, 0, len(r.fetchers)) for _, fetcher := range r.fetchers { if r.isBanned(fetcher) { continue } names = append(names, fetcher.String()) } if len(names) == 0 { return "" } return strings.Join(names, "+") } func (r *ResilientFetcher) Token() string { panic("invalid call") } // CanFetchAnyIP returns true if any of the fetchers // can fetch any IP address and is not banned. func (r *ResilientFetcher) CanFetchAnyIP() bool { r.mutex.RLock() defer r.mutex.RUnlock() for _, fetcher := range r.fetchers { if !fetcher.CanFetchAnyIP() || r.isBanned(fetcher) { continue } return true } return false } // FetchInfo obtains information on the ip address provided. // If the ip is the zero value, the public IP address of the machine // is used as the IP. // It queries all non-banned fetchers in parallel to obtain the most popular result. // It only returns an error if all fetchers fail to return information. func (r *ResilientFetcher) FetchInfo(ctx context.Context, ip netip.Addr) ( result models.PublicIP, err error, ) { r.mutex.RLock() defer r.mutex.RUnlock() type resultData struct { i int result models.PublicIP err error } resultsCh := make(chan resultData) fetchersStarted := 0 for range r.fetchers { fetcher := r.fetchers[fetchersStarted] if r.isBanned(fetcher) || (ip.IsValid() && !fetcher.CanFetchAnyIP()) { continue } go func(i int, fetcher Fetcher) { result, err := fetcher.FetchInfo(ctx, ip) resultsCh <- resultData{ i: i, result: result, err: err, } }(fetchersStarted, fetcher) fetchersStarted++ } // Collect resultDatas from goroutines first, which takes I/O time // so that we don't lock the ban map mutex for too long. resultDatas := make([]resultData, fetchersStarted) for range resultDatas { data := <-resultsCh resultDatas[data.i] = data } // Mutex lock ban map and process results results := make([]models.PublicIP, 0, fetchersStarted) errs := make([]error, 0, fetchersStarted) for _, data := range resultDatas { fetcher := r.fetchers[data.i] if data.err != nil { if errors.Is(data.err, ErrTooManyRequests) { r.setBanned(fetcher) } errs = append(errs, fmt.Errorf("%s: %w", fetcher, data.err)) continue } results = append(results, data.result) } if len(results) == 0 { // all failed return models.PublicIP{}, fmt.Errorf("all fetchers failed: %w", errors.Join(errs...)) } return getMostPopularResult(results), nil } // getMostPopularResult finds the most popular [models.PublicIP] from // a slice of results. It does so by first checking the country, then // region, then city fields. The other fields are ignored in this comparison. func getMostPopularResult(results []models.PublicIP) models.PublicIP { if len(results) == 0 { panic("no results to choose from") } // 1. Filter by Country countries := make([]string, len(results)) for i, r := range results { countries[i] = r.Country } _, countryMembers := getMostPopularString(countries) results = filterInPlace(results, countryMembers) // 2. Filter by Region regions := make([]string, len(results)) for i, r := range results { regions[i] = r.Region } _, regionMembers := getMostPopularString(regions) results = filterInPlace(results, regionMembers) // 3. Filter by City cities := make([]string, len(results)) for i, r := range results { cities[i] = r.City } winnerIdx, _ := getMostPopularString(cities) return results[winnerIdx] } // filterInPlace moves selected indices to the front and trims the slice. func filterInPlace(results []models.PublicIP, indices []int) []models.PublicIP { for i, originalIdx := range indices { results[i] = results[originalIdx] } return results[:len(indices)] } // getMostPopularString returns the index of the representative winner // and a slice of all indexes that belong to that winner's cluster. func getMostPopularString(values []string) (winnerIdx int, memberIdxs []int) { if len(values) == 0 { return -1, nil } type cluster struct { firstIndex int normRep string members []int } var groups []cluster for i, value := range values { normP := normalize(value) found := false for j := range groups { if levenshteinDistance(normP, groups[j].normRep) <= 1 { groups[j].members = append(groups[j].members, i) found = true break } } if !found { groups = append(groups, cluster{ firstIndex: i, normRep: normP, members: []int{i}, }) } } maxCount := -1 var bestGroup cluster for _, g := range groups { if len(g.members) > maxCount { maxCount = len(g.members) bestGroup = g } } return bestGroup.firstIndex, bestGroup.members } func (r *ResilientFetcher) UpdateFetchers(fetchers []Fetcher) { newFetcherNameToFetcher := make(map[string]Fetcher, len(fetchers)) for _, fetcher := range fetchers { newFetcherNameToFetcher[fetcher.String()] = fetcher } r.mutex.Lock() defer r.mutex.Unlock() newFetcherToBanTime := make(map[Fetcher]time.Time, len(r.fetcherToBanTime)) for bannedFetcher, banTime := range r.fetcherToBanTime { if !r.isBanned(bannedFetcher) { // fetcher is no longer in its ban period. continue } bannedName := bannedFetcher.String() newFetcher, isNewFetcher := newFetcherNameToFetcher[bannedName] if isNewFetcher && newFetcher.Token() == bannedFetcher.Token() { newFetcherToBanTime[newFetcher] = banTime } } r.fetchers = fetchers r.fetcherToBanTime = newFetcherToBanTime } // normalize removes accents, trims space, and lowercases the string. func normalize(s string) string { firstParentheseIndex := strings.Index(s, " (") if firstParentheseIndex != -1 { s = s[:firstParentheseIndex] } transformer := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC) result, _, err := transform.String(transformer, s) if err != nil { panic(err) } return strings.ToLower(strings.TrimSpace(result)) } // levenshteinDistance calculates the edit distance // between two strings a and b. func levenshteinDistance(a, b string) int { switch { case len(a) == 0: return len(b) case len(b) == 0: return len(a) } column := make([]int, len(b)+1) for i := 0; i <= len(b); i++ { column[i] = i } for i := 1; i <= len(a); i++ { column[0] = i lastValue := i - 1 for j := 1; j <= len(b); j++ { oldValue := column[j] cost := 0 if a[i-1] != b[j-1] { cost = 1 } column[j] = min(column[j]+1, min(column[j-1]+1, lastValue+cost)) lastValue = oldValue } } return column[len(b)] } ================================================ FILE: internal/publicip/api/resilient_test.go ================================================ package api import ( "testing" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" ) func Test_GetMostPopularResult(t *testing.T) { t.Parallel() testCases := map[string]struct { input []models.PublicIP expected models.PublicIP }{ "exact_matches": { input: []models.PublicIP{ {Country: "France", City: "Paris"}, {Country: "USA", City: "New York"}, {Country: "France", City: "Paris"}, }, expected: models.PublicIP{Country: "France", City: "Paris"}, }, "fuzzy_country_matching": { input: []models.PublicIP{ {Country: "Germany", Region: "Bavaria", City: "Munich"}, {Country: "Germani", Region: "Bavaria", City: "Munich"}, {Country: "France", Region: "IDF", City: "Paris"}, }, expected: models.PublicIP{Country: "Germany", Region: "Bavaria", City: "Munich"}, }, "hierarchy_priority": { input: []models.PublicIP{ {Country: "Italy", Region: "Sicily", City: "Syracuse"}, {Country: "Italy", Region: "Sicily", City: "Syracuse"}, {Country: "USA", Region: "New York", City: "Syracuse"}, {Country: "Italy", Region: "Sicily", City: "Syracuse"}, }, expected: models.PublicIP{Country: "Italy", Region: "Sicily", City: "Syracuse"}, }, "normalization_check": { input: []models.PublicIP{ {Country: "Canada", City: "Montréal"}, {Country: "Canada", City: "Montreal "}, {Country: "UK", City: "London"}, }, expected: models.PublicIP{Country: "Canada", City: "Montréal"}, }, "all_different": { input: []models.PublicIP{ {Country: "Canada", City: "Montréal"}, {Country: "US", City: "New York"}, {Country: "UK", City: "London"}, }, expected: models.PublicIP{Country: "US", City: "New York"}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() result := getMostPopularResult(testCase.input) assert.Equal(t, testCase.expected.Country, result.Country) assert.Equal(t, testCase.expected.Region, result.Region) assert.Equal(t, testCase.expected.City, result.City) }) } } ================================================ FILE: internal/publicip/data.go ================================================ package publicip import "github.com/qdm12/gluetun/internal/models" // GetData returns the public IP data obtained from the last // fetch. It is notably used by the HTTP control server. func (l *Loop) GetData() (data models.PublicIP) { l.ipDataMutex.RLock() defer l.ipDataMutex.RUnlock() return l.ipData } // ClearData is used when the VPN connection goes down // and the public IP is not known anymore. func (l *Loop) ClearData() (err error) { l.ipDataMutex.Lock() defer l.ipDataMutex.Unlock() l.ipData = models.PublicIP{} l.settingsMutex.RLock() filepath := *l.settings.IPFilepath l.settingsMutex.RUnlock() return persistPublicIP(filepath, "", l.puid, l.pgid) } ================================================ FILE: internal/publicip/fs.go ================================================ package publicip import ( "io/fs" "os" ) func persistPublicIP(path string, content string, puid, pgid int) error { const permission = fs.FileMode(0o644) file, err := os.OpenFile(path, os.O_TRUNC|os.O_WRONLY|os.O_CREATE, permission) if err != nil { return err } _, err = file.WriteString(content) if err != nil { _ = file.Close() return err } if err := file.Chown(puid, pgid); err != nil { _ = file.Close() return err } return file.Close() } ================================================ FILE: internal/publicip/interfaces.go ================================================ package publicip type Logger interface { Info(s string) Warn(s string) Error(s string) } ================================================ FILE: internal/publicip/loop.go ================================================ package publicip import ( "context" "fmt" "net/http" "net/netip" "sync" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/publicip/api" ) type Loop struct { // State settings settings.PublicIP settingsMutex sync.RWMutex ipData models.PublicIP ipDataMutex sync.RWMutex fetcher *api.ResilientFetcher // Fixed injected objects httpClient *http.Client logger Logger // Fixed parameters puid int pgid int // Internal channels and locks // runCtx is used to detect when the loop has exited // when performing an update runCtx context.Context //nolint:containedctx runCancel context.CancelFunc runTrigger chan<- context.Context runResult <-chan error updateTrigger chan<- settings.PublicIP updatedResult <-chan error runDone <-chan struct{} // Mock functions timeNow func() time.Time } func NewLoop(settings settings.PublicIP, puid, pgid int, httpClient *http.Client, logger Logger, ) (loop *Loop, err error) { fetchers, err := api.New(makeNameTokenPairs(settings.APIs), httpClient) if err != nil { return nil, fmt.Errorf("creating fetchers: %w", err) } return &Loop{ settings: settings, httpClient: httpClient, fetcher: api.NewResilient(fetchers, logger), logger: logger, puid: puid, pgid: pgid, timeNow: time.Now, }, nil } func makeNameTokenPairs(apis []settings.PublicIPAPI) (nameTokenPairs []api.NameToken) { nameTokenPairs = make([]api.NameToken, len(apis)) for i := range apis { nameTokenPairs[i] = api.NameToken{ Name: apis[i].Name, Token: apis[i].Token, } } return nameTokenPairs } func (l *Loop) String() string { return "public ip loop" } func (l *Loop) Start(_ context.Context) (_ <-chan error, err error) { l.runCtx, l.runCancel = context.WithCancel(context.Background()) runDone := make(chan struct{}) l.runDone = runDone runTrigger := make(chan context.Context) l.runTrigger = runTrigger runResult := make(chan error) l.runResult = runResult updateTrigger := make(chan settings.PublicIP) l.updateTrigger = updateTrigger updatedResult := make(chan error) l.updatedResult = updatedResult go l.run(l.runCtx, runDone, runTrigger, runResult, updateTrigger, updatedResult) return nil, nil //nolint:nilnil } func (l *Loop) run(runCtx context.Context, runDone chan<- struct{}, runTrigger <-chan context.Context, runResult chan<- error, updateTrigger <-chan settings.PublicIP, updatedResult chan<- error, ) { defer close(runDone) for { var singleRunCtx context.Context var singleRunResult chan<- error select { case <-runCtx.Done(): return case singleRunCtx = <-runTrigger: // Note singleRunCtx is canceled if runCtx is canceled. singleRunResult = runResult case partialUpdate := <-updateTrigger: var err error err = l.update(partialUpdate) updatedResult <- err continue } if !*l.settings.Enabled { singleRunResult <- nil continue } result, err := l.fetcher.FetchInfo(singleRunCtx, netip.Addr{}) if err != nil { err = fmt.Errorf("fetching information: %w", err) singleRunResult <- err continue } message := "Public IP address is " + result.IP.String() message += " (" + result.Country + ", " + result.Region + ", " + result.City + " - source: " + l.fetcher.String() + ")" l.logger.Info(message) l.ipDataMutex.Lock() l.ipData = result l.ipDataMutex.Unlock() filepath := *l.settings.IPFilepath err = persistPublicIP(filepath, result.IP.String(), l.puid, l.pgid) if err != nil { err = fmt.Errorf("persisting public ip address: %w", err) } singleRunResult <- err } } func (l *Loop) RunOnce(ctx context.Context) (err error) { singleRunCtx, singleRunCancel := context.WithCancel(ctx) select { case l.runTrigger <- singleRunCtx: case <-ctx.Done(): // in case writing to run trigger is blocking singleRunCancel() return ctx.Err() } select { case err = <-l.runResult: singleRunCancel() return err case <-l.runCtx.Done(): singleRunCancel() <-l.runResult return l.runCtx.Err() } } func (l *Loop) UpdateWith(partialUpdate settings.PublicIP) (err error) { select { case l.updateTrigger <- partialUpdate: select { case err = <-l.updatedResult: return err case <-l.runCtx.Done(): return l.runCtx.Err() } case <-l.runCtx.Done(): // loop has been stopped, no update can be done return l.runCtx.Err() } } func (l *Loop) Stop() (err error) { l.runCancel() <-l.runDone return l.ClearData() } func (l *Loop) Fetcher() (fetcher *api.ResilientFetcher) { return l.fetcher } ================================================ FILE: internal/publicip/update.go ================================================ package publicip import ( "fmt" "os" "reflect" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/publicip/api" ) func (l *Loop) update(partialUpdate settings.PublicIP) (err error) { l.settingsMutex.Lock() defer l.settingsMutex.Unlock() updatedSettings, err := l.settings.UpdateWith(partialUpdate) if err != nil { return err } if *l.settings.IPFilepath != *updatedSettings.IPFilepath { switch { case *l.settings.IPFilepath == "": err = persistPublicIP(*updatedSettings.IPFilepath, l.ipData.IP.String(), l.puid, l.pgid) if err != nil { return fmt.Errorf("persisting ip data: %w", err) } case *updatedSettings.IPFilepath == "": err = os.Remove(*l.settings.IPFilepath) if err != nil { return fmt.Errorf("removing ip data file path: %w", err) } default: err = os.Rename(*l.settings.IPFilepath, *updatedSettings.IPFilepath) if err != nil { return fmt.Errorf("renaming ip data file path: %w", err) } } } if !reflect.DeepEqual(l.settings.APIs, updatedSettings.APIs) { newFetchers, err := api.New(makeNameTokenPairs(updatedSettings.APIs), l.httpClient) if err != nil { return fmt.Errorf("creating fetchers: %w", err) } l.fetcher.UpdateFetchers(newFetchers) } l.settings = updatedSettings return nil } ================================================ FILE: internal/routing/conversion.go ================================================ package routing import ( "fmt" "net" "net/netip" ) func netIPToNetipAddress(ip net.IP) (address netip.Addr) { address, ok := netip.AddrFromSlice(ip) if !ok { panic(fmt.Sprintf("converting %#v to netip.Addr failed", ip)) } return address.Unmap() } ================================================ FILE: internal/routing/conversion_test.go ================================================ package routing import ( "net" "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_netIPToNetipAddress(t *testing.T) { t.Parallel() testCases := map[string]struct { ip net.IP address netip.Addr panicMessage string }{ "nil ip": { panicMessage: "converting net.IP(nil) to netip.Addr failed", }, "IPv4": { ip: net.IPv4(1, 2, 3, 4), address: netip.AddrFrom4([4]byte{1, 2, 3, 4}), }, "IPv6": { ip: net.IPv6zero, address: netip.AddrFrom16([16]byte{}), }, "IPv4 prefixed with 0xffff": { ip: net.IP{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 1, 2, 3, 4}, address: netip.AddrFrom4([4]byte{1, 2, 3, 4}), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() if testCase.panicMessage != "" { assert.PanicsWithValue(t, testCase.panicMessage, func() { netIPToNetipAddress(testCase.ip) }) return } address := netIPToNetipAddress(testCase.ip) assert.Equal(t, testCase.address, address) }) } } ================================================ FILE: internal/routing/default.go ================================================ package routing import ( "errors" "fmt" "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) var ErrRouteDefaultNotFound = errors.New("default route not found") type DefaultRoute struct { NetInterface string Gateway netip.Addr AssignedIP netip.Addr Family uint8 } func (d DefaultRoute) String() string { return fmt.Sprintf("interface %s, gateway %s, assigned IP %s and family %s", d.NetInterface, d.Gateway, d.AssignedIP, netlink.FamilyToString(d.Family)) } func (r *Routing) DefaultRoutes() (defaultRoutes []DefaultRoute, err error) { routes, err := r.netLinker.RouteList(netlink.FamilyAll) if err != nil { return nil, fmt.Errorf("listing routes: %w", err) } for _, route := range routes { if route.Table != tableMain { // ignore non-main table continue } if route.Dst.IsValid() && !route.Dst.Addr().IsUnspecified() { continue } defaultRoute := DefaultRoute{ Gateway: route.Gw, Family: route.Family, } linkIndex := route.LinkIndex link, err := r.netLinker.LinkByIndex(linkIndex) if err != nil { return nil, fmt.Errorf("obtaining link by index: for default route at index %d: %w", linkIndex, err) } defaultRoute.NetInterface = link.Name family := netlink.FamilyV6 if route.Gw.Is4() { family = netlink.FamilyV4 } defaultRoute.AssignedIP, err = r.AssignedIP(defaultRoute.NetInterface, family) if err != nil { return nil, fmt.Errorf("getting assigned IP of %s: %w", defaultRoute.NetInterface, err) } r.logger.Info("default route found: " + defaultRoute.String()) defaultRoutes = append(defaultRoutes, defaultRoute) } if len(defaultRoutes) == 0 { return nil, fmt.Errorf("%w: in %d route(s)", ErrRouteDefaultNotFound, len(routes)) } return defaultRoutes, nil } func DefaultRoutesInterfaces(defaultRoutes []DefaultRoute) (interfaces []string) { interfaces = make([]string, len(defaultRoutes)) for i := range defaultRoutes { interfaces[i] = defaultRoutes[i].NetInterface } return interfaces } ================================================ FILE: internal/routing/enable.go ================================================ package routing import ( "fmt" ) func (r *Routing) Setup() (err error) { defaultRoutes, err := r.DefaultRoutes() if err != nil { return fmt.Errorf("getting default routes: %w", err) } touched := false defer func() { if err != nil && touched { if tearDownErr := r.TearDown(); tearDownErr != nil { r.logger.Error("cannot reverse routing changes: " + tearDownErr.Error()) } } }() touched = true err = r.routeInboundFromDefault(defaultRoutes) if err != nil { return fmt.Errorf("adding routes for inbound traffic from default IP: %w", err) } r.stateMutex.RLock() outboundSubnets := r.outboundSubnets r.stateMutex.RUnlock() if err := r.setOutboundRoutes(outboundSubnets, defaultRoutes); err != nil { return fmt.Errorf("setting outbound subnets routes: %w", err) } return nil } func (r *Routing) TearDown() error { defaultRoutes, err := r.DefaultRoutes() if err != nil { return fmt.Errorf("getting default route: %w", err) } err = r.unrouteInboundFromDefault(defaultRoutes) if err != nil { return fmt.Errorf("removing routes for inbound traffic from default IP: %w", err) } if err := r.setOutboundRoutes(nil, defaultRoutes); err != nil { return fmt.Errorf("setting outbound subnets routes: %w", err) } return nil } ================================================ FILE: internal/routing/errors.go ================================================ package routing import ( "errors" ) var ErrLinkDefaultNotFound = errors.New("default link not found") ================================================ FILE: internal/routing/inbound.go ================================================ package routing import ( "fmt" "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) const ( inboundTable uint32 = 200 inboundPriority uint32 = 100 ) func (r *Routing) routeInboundFromDefault(defaultRoutes []DefaultRoute) (err error) { if err := r.addRuleInboundFromDefault(inboundTable, defaultRoutes); err != nil { return fmt.Errorf("adding rule: %w", err) } const bits = 0 defaultDestinationIPv4 := netip.PrefixFrom(netip.AddrFrom4([4]byte{}), bits) defaultDestinationIPv6 := netip.PrefixFrom(netip.AddrFrom16([16]byte{}), bits) for _, defaultRoute := range defaultRoutes { defaultDestination := defaultDestinationIPv4 if defaultRoute.Family == netlink.FamilyV6 { defaultDestination = defaultDestinationIPv6 } err := r.addRouteVia(defaultDestination, defaultRoute.Gateway, defaultRoute.NetInterface, inboundTable) if err != nil { return fmt.Errorf("adding route: %w", err) } } return nil } func (r *Routing) unrouteInboundFromDefault(defaultRoutes []DefaultRoute) (err error) { const bits = 0 defaultDestinationIPv4 := netip.PrefixFrom(netip.AddrFrom4([4]byte{}), bits) defaultDestinationIPv6 := netip.PrefixFrom(netip.AddrFrom16([16]byte{}), bits) for _, defaultRoute := range defaultRoutes { defaultDestination := defaultDestinationIPv4 if defaultRoute.Family == netlink.FamilyV6 { defaultDestination = defaultDestinationIPv6 } err := r.deleteRouteVia(defaultDestination, defaultRoute.Gateway, defaultRoute.NetInterface, inboundTable) if err != nil { return fmt.Errorf("deleting route: %w", err) } } if err := r.delRuleInboundFromDefault(inboundTable, defaultRoutes); err != nil { return fmt.Errorf("deleting rule: %w", err) } return nil } func (r *Routing) addRuleInboundFromDefault(table uint32, defaultRoutes []DefaultRoute) (err error) { for _, defaultRoute := range defaultRoutes { assignedIP := defaultRoute.AssignedIP bits := 32 if assignedIP.Is6() { bits = 128 } defaultIPMasked := netip.PrefixFrom(assignedIP, bits) ruleDstNet := netip.Prefix{} err = r.addIPRule(defaultIPMasked, ruleDstNet, table, inboundPriority) if err != nil { return fmt.Errorf("adding rule for default route %s: %w", defaultRoute, err) } } return nil } func (r *Routing) delRuleInboundFromDefault(table uint32, defaultRoutes []DefaultRoute) (err error) { for _, defaultRoute := range defaultRoutes { assignedIP := defaultRoute.AssignedIP bits := 32 if assignedIP.Is6() { bits = 128 } defaultIPMasked := netip.PrefixFrom(assignedIP, bits) ruleDstNet := netip.Prefix{} err = r.deleteIPRule(defaultIPMasked, ruleDstNet, table, inboundPriority) if err != nil { return fmt.Errorf("deleting rule for default route %s: %w", defaultRoute, err) } } return nil } ================================================ FILE: internal/routing/ip.go ================================================ package routing import ( "errors" "fmt" "net" "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) func ipIsPrivate(ip netip.Addr) bool { return ip.IsPrivate() || ip.IsLoopback() || ip.IsLinkLocalUnicast() || ip.IsLinkLocalMulticast() } var errInterfaceIPNotFound = errors.New("IP address not found for interface") func ipMatchesFamily(ip netip.Addr, family uint8) bool { return (family == netlink.FamilyV4 && ip.Is4()) || (family == netlink.FamilyV6 && ip.Is6()) } func (r *Routing) AssignedIP(interfaceName string, family uint8) (ip netip.Addr, err error) { iface, err := net.InterfaceByName(interfaceName) if err != nil { return ip, fmt.Errorf("network interface %s not found: %w", interfaceName, err) } addresses, err := iface.Addrs() if err != nil { return ip, fmt.Errorf("listing interface %s addresses: %w", interfaceName, err) } for _, address := range addresses { switch value := address.(type) { case *net.IPAddr: ip = netIPToNetipAddress(value.IP) case *net.IPNet: ip = netIPToNetipAddress(value.IP) default: continue } if !ipMatchesFamily(ip, family) { continue } return ip, nil } return ip, fmt.Errorf("%w: interface %s in %d addresses", errInterfaceIPNotFound, interfaceName, len(addresses)) } ================================================ FILE: internal/routing/ip_test.go ================================================ package routing import ( "net/netip" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_ipIsPrivate(t *testing.T) { t.Parallel() testCases := map[string]struct { ipString string isPrivate bool }{ "loopback 127.0.0.1": { ipString: "127.0.0.1", isPrivate: true, }, "loopback 127.0.0.10": { ipString: "127.0.0.10", isPrivate: true, }, "loopback ::1": { ipString: "::1", isPrivate: true, }, "private 10.0.0.1": { ipString: "10.0.0.1", isPrivate: true, }, "private 10.255.255.255": { ipString: "10.255.255.255", isPrivate: true, }, "private 172.16.0.1": { ipString: "172.16.0.1", isPrivate: true, }, "private 172.31.255.255": { ipString: "172.31.255.255", isPrivate: true, }, "private 192.168.0.0": { ipString: "192.168.0.0", isPrivate: true, }, "private 192.168.255.255": { ipString: "192.168.255.255", isPrivate: true, }, "private fc00::": { ipString: "fc00::", isPrivate: true, }, "private fc00::af": { ipString: "fc00::af", isPrivate: true, }, "local unicast 169.254.0.0": { ipString: "169.254.0.0", isPrivate: true, }, "local unicast 169.254.255.255": { ipString: "169.254.255.255", isPrivate: true, }, "local unicast fe80::": { ipString: "fe80::", isPrivate: true, }, "local unicast fe80::ae": { ipString: "fe80::ae", isPrivate: true, }, "public IPv4": { ipString: "11.5.6.7", }, "public IPv6": { ipString: "af6d::", }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ip, err := netip.ParseAddr(testCase.ipString) require.NoError(t, err) isPrivate := ipIsPrivate(ip) assert.Equal(t, testCase.isPrivate, isPrivate) }) } } ================================================ FILE: internal/routing/local.go ================================================ package routing import ( "errors" "fmt" "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) var ( ErrLinkLocalNotFound = errors.New("local link not found") ErrSubnetDefaultNotFound = errors.New("default subnet not found") ErrSubnetLocalNotFound = errors.New("local subnet not found") ) type LocalNetwork struct { IPNet netip.Prefix InterfaceName string IP netip.Addr } func (r *Routing) LocalNetworks() (localNetworks []LocalNetwork, err error) { links, err := r.netLinker.LinkList() if err != nil { return localNetworks, fmt.Errorf("listing links: %w", err) } localLinks := make(map[uint32]struct{}) for _, link := range links { if link.DeviceType != netlink.DeviceTypeEthernet { continue } localLinks[link.Index] = struct{}{} r.logger.Info("local ethernet link found: " + link.Name) } if len(localLinks) == 0 { return localNetworks, fmt.Errorf("%w: in %d links", ErrLinkLocalNotFound, len(links)) } routes, err := r.netLinker.RouteList(netlink.FamilyAll) if err != nil { return localNetworks, fmt.Errorf("listing routes: %w", err) } for _, route := range routes { if route.Table != tableMain || (route.Gw.IsValid() && !route.Gw.IsUnspecified()) || (route.Dst.IsValid() && route.Dst.Addr().IsUnspecified()) { continue } else if _, ok := localLinks[route.LinkIndex]; !ok { continue } var localNet LocalNetwork localNet.IPNet = route.Dst r.logger.Info("local ipnet found: " + localNet.IPNet.String()) link, err := r.netLinker.LinkByIndex(route.LinkIndex) if err != nil { return localNetworks, fmt.Errorf("finding link at index %d: %w", route.LinkIndex, err) } localNet.InterfaceName = link.Name family := netlink.FamilyV6 if localNet.IPNet.Addr().Is4() { family = netlink.FamilyV4 } ip, err := r.AssignedIP(localNet.InterfaceName, family) if err != nil { return localNetworks, err } localNet.IP = ip localNetworks = append(localNetworks, localNet) } if len(localNetworks) == 0 { return localNetworks, fmt.Errorf("%w: in %d routes", ErrSubnetLocalNotFound, len(routes)) } return localNetworks, nil } func (r *Routing) AddLocalRules(subnets []LocalNetwork) (err error) { for _, subnet := range subnets { // The main table is a built-in value for Linux, see "man 8 ip-route" const mainTable = 254 // Local has higher priority then outbound(99) and inbound(100) as the // local routes might be necessary to reach the outbound/inbound routes. const localPriority uint32 = 98 // Main table was setup correctly by Docker, just need to add rules to use it src := netip.Prefix{} err = r.addIPRule(src, subnet.IPNet, mainTable, localPriority) if err != nil { return fmt.Errorf("adding rule: %v: %w", subnet.IPNet, err) } } return nil } ================================================ FILE: internal/routing/logger.go ================================================ package routing type Logger interface { Debug(s string) Info(s string) Warn(s string) Error(s string) } ================================================ FILE: internal/routing/mocks_generate_test.go ================================================ package routing //go:generate mockgen -destination=mocks_test.go -package=$GOPACKAGE . NetLinker ================================================ FILE: internal/routing/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/routing (interfaces: NetLinker) // Package routing is a generated GoMock package. package routing import ( netip "net/netip" reflect "reflect" gomock "github.com/golang/mock/gomock" netlink "github.com/qdm12/gluetun/internal/netlink" ) // MockNetLinker is a mock of NetLinker interface. type MockNetLinker struct { ctrl *gomock.Controller recorder *MockNetLinkerMockRecorder } // MockNetLinkerMockRecorder is the mock recorder for MockNetLinker. type MockNetLinkerMockRecorder struct { mock *MockNetLinker } // NewMockNetLinker creates a new mock instance. func NewMockNetLinker(ctrl *gomock.Controller) *MockNetLinker { mock := &MockNetLinker{ctrl: ctrl} mock.recorder = &MockNetLinkerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockNetLinker) EXPECT() *MockNetLinkerMockRecorder { return m.recorder } // AddrList mocks base method. func (m *MockNetLinker) AddrList(arg0 uint32, arg1 byte) ([]netip.Prefix, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AddrList", arg0, arg1) ret0, _ := ret[0].([]netip.Prefix) ret1, _ := ret[1].(error) return ret0, ret1 } // AddrList indicates an expected call of AddrList. func (mr *MockNetLinkerMockRecorder) AddrList(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrList", reflect.TypeOf((*MockNetLinker)(nil).AddrList), arg0, arg1) } // AddrReplace mocks base method. func (m *MockNetLinker) AddrReplace(arg0 uint32, arg1 netip.Prefix) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AddrReplace", arg0, arg1) ret0, _ := ret[0].(error) return ret0 } // AddrReplace indicates an expected call of AddrReplace. func (mr *MockNetLinkerMockRecorder) AddrReplace(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrReplace", reflect.TypeOf((*MockNetLinker)(nil).AddrReplace), arg0, arg1) } // LinkAdd mocks base method. func (m *MockNetLinker) LinkAdd(arg0 netlink.Link) (uint32, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkAdd", arg0) ret0, _ := ret[0].(uint32) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkAdd indicates an expected call of LinkAdd. func (mr *MockNetLinkerMockRecorder) LinkAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkAdd", reflect.TypeOf((*MockNetLinker)(nil).LinkAdd), arg0) } // LinkByIndex mocks base method. func (m *MockNetLinker) LinkByIndex(arg0 uint32) (netlink.Link, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkByIndex", arg0) ret0, _ := ret[0].(netlink.Link) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkByIndex indicates an expected call of LinkByIndex. func (mr *MockNetLinkerMockRecorder) LinkByIndex(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkByIndex", reflect.TypeOf((*MockNetLinker)(nil).LinkByIndex), arg0) } // LinkByName mocks base method. func (m *MockNetLinker) LinkByName(arg0 string) (netlink.Link, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkByName", arg0) ret0, _ := ret[0].(netlink.Link) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkByName indicates an expected call of LinkByName. func (mr *MockNetLinkerMockRecorder) LinkByName(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkByName", reflect.TypeOf((*MockNetLinker)(nil).LinkByName), arg0) } // LinkDel mocks base method. func (m *MockNetLinker) LinkDel(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkDel", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkDel indicates an expected call of LinkDel. func (mr *MockNetLinkerMockRecorder) LinkDel(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkDel", reflect.TypeOf((*MockNetLinker)(nil).LinkDel), arg0) } // LinkList mocks base method. func (m *MockNetLinker) LinkList() ([]netlink.Link, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkList") ret0, _ := ret[0].([]netlink.Link) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkList indicates an expected call of LinkList. func (mr *MockNetLinkerMockRecorder) LinkList() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkList", reflect.TypeOf((*MockNetLinker)(nil).LinkList)) } // LinkSetDown mocks base method. func (m *MockNetLinker) LinkSetDown(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkSetDown", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkSetDown indicates an expected call of LinkSetDown. func (mr *MockNetLinkerMockRecorder) LinkSetDown(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkSetDown", reflect.TypeOf((*MockNetLinker)(nil).LinkSetDown), arg0) } // LinkSetUp mocks base method. func (m *MockNetLinker) LinkSetUp(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkSetUp", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkSetUp indicates an expected call of LinkSetUp. func (mr *MockNetLinkerMockRecorder) LinkSetUp(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkSetUp", reflect.TypeOf((*MockNetLinker)(nil).LinkSetUp), arg0) } // RouteAdd mocks base method. func (m *MockNetLinker) RouteAdd(arg0 netlink.Route) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteAdd", arg0) ret0, _ := ret[0].(error) return ret0 } // RouteAdd indicates an expected call of RouteAdd. func (mr *MockNetLinkerMockRecorder) RouteAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteAdd", reflect.TypeOf((*MockNetLinker)(nil).RouteAdd), arg0) } // RouteDel mocks base method. func (m *MockNetLinker) RouteDel(arg0 netlink.Route) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteDel", arg0) ret0, _ := ret[0].(error) return ret0 } // RouteDel indicates an expected call of RouteDel. func (mr *MockNetLinkerMockRecorder) RouteDel(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteDel", reflect.TypeOf((*MockNetLinker)(nil).RouteDel), arg0) } // RouteList mocks base method. func (m *MockNetLinker) RouteList(arg0 byte) ([]netlink.Route, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteList", arg0) ret0, _ := ret[0].([]netlink.Route) ret1, _ := ret[1].(error) return ret0, ret1 } // RouteList indicates an expected call of RouteList. func (mr *MockNetLinkerMockRecorder) RouteList(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteList", reflect.TypeOf((*MockNetLinker)(nil).RouteList), arg0) } // RouteReplace mocks base method. func (m *MockNetLinker) RouteReplace(arg0 netlink.Route) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteReplace", arg0) ret0, _ := ret[0].(error) return ret0 } // RouteReplace indicates an expected call of RouteReplace. func (mr *MockNetLinkerMockRecorder) RouteReplace(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteReplace", reflect.TypeOf((*MockNetLinker)(nil).RouteReplace), arg0) } // RuleAdd mocks base method. func (m *MockNetLinker) RuleAdd(arg0 netlink.Rule) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RuleAdd", arg0) ret0, _ := ret[0].(error) return ret0 } // RuleAdd indicates an expected call of RuleAdd. func (mr *MockNetLinkerMockRecorder) RuleAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuleAdd", reflect.TypeOf((*MockNetLinker)(nil).RuleAdd), arg0) } // RuleDel mocks base method. func (m *MockNetLinker) RuleDel(arg0 netlink.Rule) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RuleDel", arg0) ret0, _ := ret[0].(error) return ret0 } // RuleDel indicates an expected call of RuleDel. func (mr *MockNetLinkerMockRecorder) RuleDel(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuleDel", reflect.TypeOf((*MockNetLinker)(nil).RuleDel), arg0) } // RuleList mocks base method. func (m *MockNetLinker) RuleList(arg0 byte) ([]netlink.Rule, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RuleList", arg0) ret0, _ := ret[0].([]netlink.Rule) ret1, _ := ret[1].(error) return ret0, ret1 } // RuleList indicates an expected call of RuleList. func (mr *MockNetLinkerMockRecorder) RuleList(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuleList", reflect.TypeOf((*MockNetLinker)(nil).RuleList), arg0) } ================================================ FILE: internal/routing/outbound.go ================================================ package routing import ( "fmt" "net/netip" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/subnet" ) const ( outboundTable uint32 = 199 outboundPriority uint32 = 99 ) func (r *Routing) SetOutboundRoutes(outboundSubnets []netip.Prefix) error { defaultRoutes, err := r.DefaultRoutes() if err != nil { return err } return r.setOutboundRoutes(outboundSubnets, defaultRoutes) } func (r *Routing) setOutboundRoutes(outboundSubnets []netip.Prefix, defaultRoutes []DefaultRoute, ) (err error) { r.stateMutex.Lock() defer r.stateMutex.Unlock() subnetsToAdd, subnetsToRemove := subnet.FindSubnetsToChange( r.outboundSubnets, outboundSubnets) if len(subnetsToAdd) == 0 && len(subnetsToRemove) == 0 { return nil } warnings := r.removeOutboundSubnets(subnetsToRemove, defaultRoutes) for _, warning := range warnings { r.logger.Warn("cannot remove outdated outbound subnet from routing: " + warning) } err = r.addOutboundSubnets(subnetsToAdd, defaultRoutes) if err != nil { return fmt.Errorf("adding outbound subnet to routes: %w", err) } return nil } func (r *Routing) removeOutboundSubnets(subnets []netip.Prefix, defaultRoutes []DefaultRoute, ) (warnings []string) { for i, subNet := range subnets { for _, defaultRoute := range defaultRoutes { err := r.deleteRouteVia(subNet, defaultRoute.Gateway, defaultRoute.NetInterface, outboundTable) if err != nil { warnings = append(warnings, err.Error()) continue } } ruleSrcNet := netip.Prefix{} ruleDstNet := subnets[i] err := r.deleteIPRule(ruleSrcNet, ruleDstNet, outboundTable, outboundPriority) if err != nil { warnings = append(warnings, "cannot delete rule: for subnet "+subNet.String()+": "+err.Error()) continue } r.outboundSubnets = subnet.RemoveSubnetFromSubnets(r.outboundSubnets, subNet) } return warnings } func (r *Routing) addOutboundSubnets(subnets []netip.Prefix, defaultRoutes []DefaultRoute, ) (err error) { for i, subnet := range subnets { subnetIsIPv6 := subnet.Addr().Is6() subnetRouteAdded := false for _, defaultRoute := range defaultRoutes { defaultRouteIsIPv6 := defaultRoute.Family == netlink.FamilyV6 ipFamilyMatch := subnetIsIPv6 == defaultRouteIsIPv6 if !ipFamilyMatch { continue } err = r.addRouteVia(subnet, defaultRoute.Gateway, defaultRoute.NetInterface, outboundTable) if err != nil { return fmt.Errorf("adding route for subnet %s: %w", subnet, err) } subnetRouteAdded = true } if !subnetRouteAdded { continue } ruleSrcNet := netip.Prefix{} ruleDstNet := subnets[i] err = r.addIPRule(ruleSrcNet, ruleDstNet, outboundTable, outboundPriority) if err != nil { return fmt.Errorf("adding rule: for subnet %s: %w", subnet, err) } r.outboundSubnets = append(r.outboundSubnets, subnet) } return nil } ================================================ FILE: internal/routing/routes.go ================================================ package routing import ( "fmt" "net/netip" "strconv" "github.com/qdm12/gluetun/internal/netlink" ) func (r *Routing) addRouteVia(destination netip.Prefix, gateway netip.Addr, iface string, table uint32, ) error { destinationStr := destination.String() r.logger.Info("adding route for " + destinationStr) r.logger.Debug("ip route replace " + destinationStr + " via " + gateway.String() + " dev " + iface + " table " + strconv.Itoa(int(table))) link, err := r.netLinker.LinkByName(iface) if err != nil { return fmt.Errorf("finding link for interface %s: %w", iface, err) } family := netlink.FamilyV4 if destination.Addr().Is6() { family = netlink.FamilyV6 } route := netlink.Route{ Dst: destination, Gw: gateway, LinkIndex: link.Index, Family: family, Table: table, Type: netlink.RouteTypeUnicast, Scope: netlink.ScopeUniverse, Proto: netlink.ProtoStatic, } if err := r.netLinker.RouteReplace(route); err != nil { return fmt.Errorf("replacing route for subnet %s at interface %s: %w", destinationStr, iface, err) } return nil } func (r *Routing) deleteRouteVia(destination netip.Prefix, gateway netip.Addr, iface string, table uint32, ) (err error) { destinationStr := destination.String() r.logger.Info("deleting route for " + destinationStr) r.logger.Debug("ip route delete " + destinationStr + " via " + gateway.String() + " dev " + iface + " table " + strconv.Itoa(int(table))) link, err := r.netLinker.LinkByName(iface) if err != nil { return fmt.Errorf("finding link for interface %s: %w", iface, err) } family := netlink.FamilyV4 if destination.Addr().Is6() { family = netlink.FamilyV6 } route := netlink.Route{ Dst: destination, Gw: gateway, LinkIndex: link.Index, Family: family, Table: table, } if err := r.netLinker.RouteDel(route); err != nil { return fmt.Errorf("deleting route: for subnet %s at interface %s: %w", destinationStr, iface, err) } return nil } ================================================ FILE: internal/routing/routing.go ================================================ package routing import ( "net/netip" "sync" "github.com/qdm12/gluetun/internal/netlink" ) type NetLinker interface { Addresser Router Ruler Linker } type Addresser interface { AddrList(linkIndex uint32, family uint8) ( addresses []netip.Prefix, err error) AddrReplace(linkIndex uint32, prefix netip.Prefix) error } type Router interface { RouteList(family uint8) (routes []netlink.Route, err error) RouteAdd(route netlink.Route) error RouteDel(route netlink.Route) error RouteReplace(route netlink.Route) error } type Ruler interface { RuleList(family uint8) (rules []netlink.Rule, err error) RuleAdd(rule netlink.Rule) error RuleDel(rule netlink.Rule) error } type Linker interface { LinkList() (links []netlink.Link, err error) LinkByName(name string) (link netlink.Link, err error) LinkByIndex(index uint32) (link netlink.Link, err error) LinkAdd(link netlink.Link) (linkIndex uint32, err error) LinkDel(index uint32) (err error) LinkSetUp(index uint32) (err error) LinkSetDown(index uint32) (err error) } type Routing struct { netLinker NetLinker logger Logger outboundSubnets []netip.Prefix stateMutex sync.RWMutex } // New creates a new routing instance. func New(netLinker NetLinker, logger Logger) *Routing { return &Routing{ netLinker: netLinker, logger: logger, } } ================================================ FILE: internal/routing/rules.go ================================================ package routing import ( "fmt" "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) func (r *Routing) addIPRule(src, dst netip.Prefix, table, priority uint32) error { family := netlink.FamilyV4 if (src.IsValid() && src.Addr().Is6()) || (dst.IsValid() && dst.Addr().Is6()) { family = netlink.FamilyV6 } rule := netlink.Rule{ Priority: &priority, Family: family, Table: table, Src: src, Dst: dst, Action: netlink.ActionToTable, } existingRules, err := r.netLinker.RuleList(netlink.FamilyAll) if err != nil { return fmt.Errorf("listing rules: %w", err) } for i := range existingRules { if !rulesAreEqual(existingRules[i], rule) { continue } return nil // already exists } if err := r.netLinker.RuleAdd(rule); err != nil { return fmt.Errorf("adding %s: %w", rule, err) } return nil } func (r *Routing) deleteIPRule(src, dst netip.Prefix, table uint32, priority uint32) error { family := netlink.FamilyV4 if (src.IsValid() && src.Addr().Is6()) || (dst.IsValid() && dst.Addr().Is6()) { family = netlink.FamilyV6 } rule := netlink.Rule{ Priority: &priority, Family: family, Table: table, Src: src, Dst: dst, Action: netlink.ActionToTable, } existingRules, err := r.netLinker.RuleList(netlink.FamilyAll) if err != nil { return fmt.Errorf("listing rules: %w", err) } for i := range existingRules { if !rulesAreEqual(existingRules[i], rule) { continue } if err := r.netLinker.RuleDel(rule); err != nil { return fmt.Errorf("deleting rule %s: %w", rule, err) } } return nil } // rulesAreEqual checks whether two rules are equal // only according to src, dst, priority and table. func rulesAreEqual(a, b netlink.Rule) bool { return ipPrefixesAreEqual(a.Src, b.Src) && ipPrefixesAreEqual(a.Dst, b.Dst) && ptrsEqual(a.Priority, b.Priority) && a.Table == b.Table } func ipPrefixesAreEqual(a, b netip.Prefix) bool { if !a.IsValid() && !b.IsValid() { return true } if !a.IsValid() || !b.IsValid() { return false } return a.Bits() == b.Bits() && a.Addr().Compare(b.Addr()) == 0 } func ptrsEqual(a, b *uint32) bool { if a == nil && b == nil { return true } if a == nil || b == nil { return false } return *a == *b } ================================================ FILE: internal/routing/rules_test.go ================================================ package routing import ( "errors" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/netlink" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func makeNetipPrefix(n byte) netip.Prefix { const bits = 24 return netip.PrefixFrom(netip.AddrFrom4([4]byte{n, n, n, 0}), bits) } func makeIPRule(src, dst netip.Prefix, table uint32, priority uint32, ) netlink.Rule { family := netlink.FamilyV4 if (src.IsValid() && src.Addr().Is6()) || (dst.IsValid() && dst.Addr().Is6()) { family = netlink.FamilyV6 } return netlink.Rule{ Priority: &priority, Family: family, Table: table, Src: src, Dst: dst, Action: netlink.ActionToTable, } } func Test_Routing_addIPRule(t *testing.T) { t.Parallel() errDummy := errors.New("dummy error") type ruleListCall struct { rules []netlink.Rule err error } type ruleAddCall struct { expected bool ruleToAdd netlink.Rule err error } testCases := map[string]struct { src netip.Prefix dst netip.Prefix table uint32 priority uint32 ruleList ruleListCall ruleAdd ruleAddCall err error }{ "list error": { ruleList: ruleListCall{ err: errDummy, }, err: errors.New("listing rules: dummy error"), }, "rule already exists": { src: makeNetipPrefix(1), dst: makeNetipPrefix(2), table: 99, priority: 99, ruleList: ruleListCall{ rules: []netlink.Rule{ makeIPRule(makeNetipPrefix(2), makeNetipPrefix(2), 99, 99), makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), }, }, }, "add rule error": { src: makeNetipPrefix(1), dst: makeNetipPrefix(2), table: 99, priority: 99, ruleAdd: ruleAddCall{ expected: true, ruleToAdd: makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), err: errDummy, }, err: errors.New("adding ip rule 99: from 1.1.1.0/24 to 2.2.2.0/24 table 99: dummy error"), }, "add rule success": { src: makeNetipPrefix(1), dst: makeNetipPrefix(2), table: 99, priority: 99, ruleList: ruleListCall{ rules: []netlink.Rule{ makeIPRule(makeNetipPrefix(2), makeNetipPrefix(2), 99, 99), makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 101, 101), }, }, ruleAdd: ruleAddCall{ expected: true, ruleToAdd: makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) netLinker := NewMockNetLinker(ctrl) netLinker.EXPECT().RuleList(netlink.FamilyAll). Return(testCase.ruleList.rules, testCase.ruleList.err) if testCase.ruleAdd.expected { netLinker.EXPECT().RuleAdd(testCase.ruleAdd.ruleToAdd). Return(testCase.ruleAdd.err) } r := Routing{ netLinker: netLinker, } err := r.addIPRule(testCase.src, testCase.dst, testCase.table, testCase.priority) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } }) } } func Test_Routing_deleteIPRule(t *testing.T) { t.Parallel() errDummy := errors.New("dummy error") type ruleListCall struct { rules []netlink.Rule err error } type ruleDelCall struct { expected bool ruleToDel netlink.Rule err error } testCases := map[string]struct { src netip.Prefix dst netip.Prefix table uint32 priority uint32 ruleList ruleListCall ruleDel ruleDelCall err error }{ "list error": { ruleList: ruleListCall{ err: errDummy, }, err: errors.New("listing rules: dummy error"), }, "rule delete error": { src: makeNetipPrefix(1), dst: makeNetipPrefix(2), table: 99, priority: 99, ruleList: ruleListCall{ rules: []netlink.Rule{ makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), }, }, ruleDel: ruleDelCall{ expected: true, ruleToDel: makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), err: errDummy, }, err: errors.New("deleting rule ip rule 99: from 1.1.1.0/24 to 2.2.2.0/24 table 99: dummy error"), }, "rule deleted": { src: makeNetipPrefix(1), dst: makeNetipPrefix(2), table: 99, priority: 99, ruleList: ruleListCall{ rules: []netlink.Rule{ makeIPRule(makeNetipPrefix(2), makeNetipPrefix(2), 99, 99), makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), }, }, ruleDel: ruleDelCall{ expected: true, ruleToDel: makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 99, 99), }, }, "rule does not exist": { src: makeNetipPrefix(1), dst: makeNetipPrefix(2), table: 99, priority: 99, ruleList: ruleListCall{ rules: []netlink.Rule{ makeIPRule(makeNetipPrefix(2), makeNetipPrefix(2), 99, 99), makeIPRule(makeNetipPrefix(1), makeNetipPrefix(2), 101, 101), }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) netLinker := NewMockNetLinker(ctrl) netLinker.EXPECT().RuleList(netlink.FamilyAll). Return(testCase.ruleList.rules, testCase.ruleList.err) if testCase.ruleDel.expected { netLinker.EXPECT().RuleDel(testCase.ruleDel.ruleToDel). Return(testCase.ruleDel.err) } r := Routing{ netLinker: netLinker, } err := r.deleteIPRule(testCase.src, testCase.dst, testCase.table, testCase.priority) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } }) } } func ptrTo[T any](v T) *T { return &v } func Test_rulesAreEqual(t *testing.T) { t.Parallel() testCases := map[string]struct { a netlink.Rule b netlink.Rule equal bool }{ "both_empty": { equal: true, }, "not_equal_by_src": { a: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{9, 9, 9, 9}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, b: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, }, "not_equal_by_dst": { a: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{9, 9, 9, 9}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, b: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, }, "not_equal_by_priority": { a: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(999)), Table: 101, }, b: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, }, "not_equal_by_table": { a: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 102, }, b: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, }, "equal": { a: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, b: netlink.Rule{ Src: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), Dst: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), Priority: ptrTo(uint32(100)), Table: 101, }, equal: true, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() equal := rulesAreEqual(testCase.a, testCase.b) assert.Equal(t, testCase.equal, equal) }) } } func Test_ipPrefixesAreEqual(t *testing.T) { t.Parallel() testCases := map[string]struct { a netip.Prefix b netip.Prefix equal bool }{ "both_not_valid": { equal: true, }, "first_not_valid": { b: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), }, "second_not_valid": { a: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), }, "both_equal": { a: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), b: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), equal: true, }, "both_not_equal_by_IP": { a: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), b: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 24), }, "both_not_equal_by_bits": { a: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), b: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 32), }, "both_not_equal_by_IP_and_bits": { a: netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), b: netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() equal := ipPrefixesAreEqual(testCase.a, testCase.b) assert.Equal(t, testCase.equal, equal) }) } } ================================================ FILE: internal/routing/tables_linux.go ================================================ package routing import "golang.org/x/sys/unix" const ( tableMain = unix.RT_TABLE_MAIN tableLocal = unix.RT_TABLE_LOCAL ) ================================================ FILE: internal/routing/tables_unspecified.go ================================================ //go:build !linux package routing const ( tableMain = 0 tableLocal = 0 ) ================================================ FILE: internal/routing/vpn.go ================================================ package routing import ( "errors" "fmt" "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) var ( ErrVPNLocalGatewayIPNotFound = errors.New("VPN local gateway IP address not found") ErrVPNLocalGatewayIPv6NotSupported = errors.New("VPN local gateway IPv6 address not supported") ) func (r *Routing) VPNLocalGatewayIP(vpnIntf string) (ip netip.Addr, err error) { vpnLink, err := r.netLinker.LinkByName(vpnIntf) if err != nil { return ip, fmt.Errorf("finding link %s: %w", vpnIntf, err) } vpnLinkIndex := vpnLink.Index routes, err := r.netLinker.RouteList(netlink.FamilyAll) if err != nil { return ip, fmt.Errorf("listing routes: %w", err) } for _, route := range routes { if route.LinkIndex != vpnLinkIndex { continue } switch { case route.Dst.IsValid() && route.Dst.Addr().IsUnspecified() && route.Gw.IsValid(): // OpenVPN return route.Gw, nil case route.Dst.IsSingleIP() && route.Dst.Addr().Compare(route.Src.Addr()) == 0 && route.Table == tableLocal: // Wireguard if route.Src.Addr().Is6() { return netip.Addr{}, fmt.Errorf("%w: %s", ErrVPNLocalGatewayIPv6NotSupported, route.Src) } bytes := route.Src.Addr().As4() // force last byte to 1 to get the VPN gateway IP // This is not necessarily bullet proof but it seems to work. bytes[3] = 1 return netip.AddrFrom4(bytes), nil } } return ip, fmt.Errorf("%w: in %d routes", ErrVPNLocalGatewayIPNotFound, len(routes)) } var ErrVPNRouteNotFound = errors.New("VPN route not found") // VPNRoutes returns the routes that are using the VPN interface, excluding local routes // and link-local multicast and unicast routes. func (r *Routing) VPNRoutes(vpnIntf string) (routes []netlink.Route, err error) { vpnLink, err := r.netLinker.LinkByName(vpnIntf) if err != nil { return nil, fmt.Errorf("finding link %s: %w", vpnIntf, err) } vpnLinkIndex := vpnLink.Index allRoutes, err := r.netLinker.RouteList(netlink.FamilyAll) if err != nil { return nil, fmt.Errorf("listing routes: %w", err) } routes = make([]netlink.Route, 0, len(allRoutes)) for _, route := range allRoutes { const localTable = 255 switch { case route.LinkIndex != vpnLinkIndex, route.Table == localTable: continue case !route.Dst.IsValid(), route.Dst.Addr().IsUnspecified(): routes = append(routes, route) case route.Dst.Addr().IsLinkLocalMulticast(), route.Dst.Addr().IsLinkLocalUnicast(): continue case !route.Dst.Addr().IsPrivate(): routes = append(routes, route) } } if len(routes) == 0 { return nil, fmt.Errorf("%w: for interface %s in %d routes", ErrVPNRouteNotFound, vpnIntf, len(allRoutes)) } return routes, nil } ================================================ FILE: internal/server/dns.go ================================================ package server import ( "context" "encoding/json" "net/http" "strings" ) func newDNSHandler(ctx context.Context, loop DNSLoop, warner warner, ) http.Handler { return &dnsHandler{ ctx: ctx, loop: loop, warner: warner, } } type dnsHandler struct { ctx context.Context //nolint:containedctx loop DNSLoop warner warner } func (h *dnsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { r.RequestURI = strings.TrimPrefix(r.RequestURI, "/dns") switch r.RequestURI { case "/status": switch r.Method { case http.MethodGet: h.getStatus(w) case http.MethodPut: h.setStatus(w, r) default: errMethodNotSupported(w, r.Method) } default: errRouteNotSupported(w, r.RequestURI) } } func (h *dnsHandler) getStatus(w http.ResponseWriter) { status := h.loop.GetStatus() encoder := json.NewEncoder(w) data := statusWrapper{Status: string(status)} if err := encoder.Encode(data); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) return } } func (h *dnsHandler) setStatus(w http.ResponseWriter, r *http.Request) { decoder := json.NewDecoder(r.Body) var data statusWrapper if err := decoder.Decode(&data); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } status, err := data.getStatus() if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } outcome, err := h.loop.ApplyStatus(h.ctx, status) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } encoder := json.NewEncoder(w) if err := encoder.Encode(outcomeWrapper{Outcome: outcome}); err != nil { h.warner.Warn(err.Error()) http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) return } } ================================================ FILE: internal/server/handler.go ================================================ package server import ( "context" "fmt" "net/http" "strings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/server/middlewares/auth" "github.com/qdm12/gluetun/internal/server/middlewares/log" ) func newHandler(ctx context.Context, logger Logger, logging bool, authSettings auth.Settings, buildInfo models.BuildInformation, vpnLooper VPNLooper, pf PortForwarding, dnsLooper DNSLoop, updaterLooper UpdaterLooper, publicIPLooper PublicIPLoop, storage Storage, ipv6Supported bool, ) (httpHandler http.Handler, err error) { handler := &handler{} vpn := newVPNHandler(ctx, vpnLooper, storage, ipv6Supported, logger) openvpn := newOpenvpnHandler(ctx, vpnLooper, logger) dns := newDNSHandler(ctx, dnsLooper, logger) updater := newUpdaterHandler(ctx, updaterLooper, logger) publicip := newPublicIPHandler(publicIPLooper, logger) portForward := newPortForwardHandler(ctx, pf, logger) handler.v0 = newHandlerV0(ctx, logger, vpnLooper, dnsLooper, updaterLooper) handler.v1 = newHandlerV1(logger, buildInfo, vpn, openvpn, dns, updater, publicip, portForward) authMiddleware, err := auth.New(authSettings, logger) if err != nil { return nil, fmt.Errorf("creating auth middleware: %w", err) } middlewares := []func(http.Handler) http.Handler{ authMiddleware, log.New(logger, logging), } httpHandler = handler for _, middleware := range middlewares { httpHandler = middleware(httpHandler) } return httpHandler, nil } type handler struct { v0 http.Handler v1 http.Handler } func (h *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { r.RequestURI = strings.TrimSuffix(r.RequestURI, "/") if !strings.HasPrefix(r.RequestURI, "/v1/") && r.RequestURI != "/v1" { h.v0.ServeHTTP(w, r) return } r.RequestURI = strings.TrimPrefix(r.RequestURI, "/v1") h.v1.ServeHTTP(w, r) } ================================================ FILE: internal/server/handlerv0.go ================================================ package server import ( "context" "net/http" "github.com/qdm12/gluetun/internal/constants" ) func newHandlerV0(ctx context.Context, logger infoWarner, vpn VPNLooper, dns DNSLoop, updater UpdaterLooper, ) http.Handler { return &handlerV0{ ctx: ctx, logger: logger, vpn: vpn, dns: dns, updater: updater, } } type handlerV0 struct { ctx context.Context //nolint:containedctx logger infoWarner vpn VPNLooper dns DNSLoop updater UpdaterLooper } func (h *handlerV0) ServeHTTP(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { http.Error(w, "unversioned API: only supports GET method", http.StatusBadRequest) return } switch r.RequestURI { case "/version": http.Redirect(w, r, "/v1/version", http.StatusPermanentRedirect) case "/openvpn/actions/restart": outcome, _ := h.vpn.ApplyStatus(h.ctx, constants.Stopped) h.logger.Info("openvpn: " + outcome) outcome, _ = h.vpn.ApplyStatus(h.ctx, constants.Running) h.logger.Info("openvpn: " + outcome) if _, err := w.Write([]byte("openvpn restarted, please consider using the /v1/ API in the future.")); err != nil { h.logger.Warn(err.Error()) } case "/unbound/actions/restart": // TODO v4 change to /dns/ outcome, _ := h.dns.ApplyStatus(h.ctx, constants.Stopped) h.logger.Info("dns: " + outcome) outcome, _ = h.dns.ApplyStatus(h.ctx, constants.Running) h.logger.Info("dns: " + outcome) if _, err := w.Write([]byte("dns restarted, please consider using the /v1/ API in the future.")); err != nil { h.logger.Warn(err.Error()) } case "/openvpn/portforwarded": http.Redirect(w, r, "/v1/portforward", http.StatusPermanentRedirect) case "/openvpn/settings": http.Redirect(w, r, "/v1/openvpn/settings", http.StatusPermanentRedirect) case "/updater/restart": outcome, _ := h.updater.SetStatus(h.ctx, constants.Stopped) h.logger.Info("updater: " + outcome) outcome, _ = h.updater.SetStatus(h.ctx, constants.Running) h.logger.Info("updater: " + outcome) if _, err := w.Write([]byte("updater restarted, please consider using the /v1/ API in the future.")); err != nil { h.logger.Warn(err.Error()) } default: http.Error(w, "unversioned API: requested URI not found", http.StatusBadRequest) } } ================================================ FILE: internal/server/handlerv1.go ================================================ package server import ( "encoding/json" "fmt" "net/http" "strings" "github.com/qdm12/gluetun/internal/models" ) func newHandlerV1(w warner, buildInfo models.BuildInformation, vpn, openvpn, dns, updater, publicip, portForward http.Handler, ) http.Handler { return &handlerV1{ warner: w, buildInfo: buildInfo, vpn: vpn, openvpn: openvpn, dns: dns, updater: updater, publicip: publicip, portForward: portForward, } } type handlerV1 struct { warner warner buildInfo models.BuildInformation vpn http.Handler openvpn http.Handler dns http.Handler updater http.Handler publicip http.Handler portForward http.Handler } func (h *handlerV1) ServeHTTP(w http.ResponseWriter, r *http.Request) { switch { case r.RequestURI == "/version" && r.Method == http.MethodGet: h.getVersion(w) case strings.HasPrefix(r.RequestURI, "/vpn"): h.vpn.ServeHTTP(w, r) case strings.HasPrefix(r.RequestURI, "/openvpn"): h.openvpn.ServeHTTP(w, r) case strings.HasPrefix(r.RequestURI, "/dns"): h.dns.ServeHTTP(w, r) case strings.HasPrefix(r.RequestURI, "/updater"): h.updater.ServeHTTP(w, r) case strings.HasPrefix(r.RequestURI, "/publicip"): h.publicip.ServeHTTP(w, r) case strings.HasPrefix(r.RequestURI, "/portforward"): h.portForward.ServeHTTP(w, r) default: errString := fmt.Sprintf("%s %s not found", r.Method, r.RequestURI) http.Error(w, errString, http.StatusBadRequest) } } func (h *handlerV1) getVersion(w http.ResponseWriter) { encoder := json.NewEncoder(w) if err := encoder.Encode(h.buildInfo); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) } } ================================================ FILE: internal/server/helpers.go ================================================ package server import ( "net/http" ) func errMethodNotSupported(w http.ResponseWriter, method string) { http.Error(w, "method "+method+" not supported", http.StatusBadRequest) } func errRouteNotSupported(w http.ResponseWriter, route string) { http.Error(w, "route "+route+" not supported", http.StatusBadRequest) } ================================================ FILE: internal/server/interfaces.go ================================================ package server import ( "context" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) type VPNLooper interface { GetStatus() (status models.LoopStatus) ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) GetSettings() (settings settings.VPN) SetSettings(ctx context.Context, settings settings.VPN) (outcome string) } type DNSLoop interface { ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) GetStatus() (status models.LoopStatus) } type PortForwarding interface { GetPortsForwarded() (ports []uint16) SetPortsForwarded(ports []uint16) (err error) } type PublicIPLoop interface { GetData() (data models.PublicIP) } type Storage interface { GetFilterChoices(provider string) models.FilterChoices } ================================================ FILE: internal/server/logger.go ================================================ package server type Logger interface { Debugf(format string, args ...any) infoer warner Warnf(format string, args ...any) errorer } type infoWarner interface { infoer warner } type infoer interface { Info(s string) Infof(format string, args ...any) } type warner interface { Warn(s string) } type errorer interface { Error(s string) } ================================================ FILE: internal/server/middlewares/auth/apikey.go ================================================ package auth import ( "crypto/sha256" "crypto/subtle" "net/http" ) type apiKeyMethod struct { apiKeyDigest [32]byte } func newAPIKeyMethod(apiKey string) *apiKeyMethod { return &apiKeyMethod{ apiKeyDigest: sha256.Sum256([]byte(apiKey)), } } // equal returns true if another auth checker is equal. // This is used to deduplicate checkers for a particular route. func (a *apiKeyMethod) equal(other authorizationChecker) bool { otherTokenMethod, ok := other.(*apiKeyMethod) if !ok { return false } return a.apiKeyDigest == otherTokenMethod.apiKeyDigest } func (a *apiKeyMethod) isAuthorized(_ http.Header, request *http.Request) bool { xAPIKey := request.Header.Get("X-API-Key") if xAPIKey == "" { xAPIKey = request.URL.Query().Get("api_key") } xAPIKeyDigest := sha256.Sum256([]byte(xAPIKey)) return subtle.ConstantTimeCompare(xAPIKeyDigest[:], a.apiKeyDigest[:]) == 1 } ================================================ FILE: internal/server/middlewares/auth/basic.go ================================================ package auth import ( "crypto/sha256" "crypto/subtle" "net/http" ) type basicAuthMethod struct { authDigest [32]byte } func newBasicAuthMethod(username, password string) *basicAuthMethod { return &basicAuthMethod{ authDigest: sha256.Sum256([]byte(username + password)), } } // equal returns true if another auth checker is equal. // This is used to deduplicate checkers for a particular route. func (a *basicAuthMethod) equal(other authorizationChecker) bool { otherBasicMethod, ok := other.(*basicAuthMethod) if !ok { return false } return a.authDigest == otherBasicMethod.authDigest } func (a *basicAuthMethod) isAuthorized(headers http.Header, request *http.Request) bool { username, password, ok := request.BasicAuth() if !ok { headers.Set("WWW-Authenticate", `Basic realm="restricted", charset="UTF-8"`) return false } requestAuthDigest := sha256.Sum256([]byte(username + password)) return subtle.ConstantTimeCompare(a.authDigest[:], requestAuthDigest[:]) == 1 } ================================================ FILE: internal/server/middlewares/auth/configfile.go ================================================ package auth import ( "errors" "fmt" "os" "github.com/pelletier/go-toml/v2" ) // Read reads the toml file specified by the filepath given. // If the file does not exist, it returns empty settings and no error. func Read(filepath string) (settings Settings, err error) { file, err := os.Open(filepath) if err != nil { return settings, fmt.Errorf("opening file: %w", err) } decoder := toml.NewDecoder(file) decoder.DisallowUnknownFields() err = decoder.Decode(&settings) if err == nil { return settings, nil } strictErr := new(toml.StrictMissingError) ok := errors.As(err, &strictErr) if !ok { return settings, fmt.Errorf("toml decoding file: %w", err) } return settings, fmt.Errorf("toml decoding file: %w:\n%s", strictErr, strictErr.String()) } ================================================ FILE: internal/server/middlewares/auth/configfile_test.go ================================================ package auth import ( "io/fs" "os" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) // Read reads the toml file specified by the filepath given. func Test_Read(t *testing.T) { t.Parallel() testCases := map[string]struct { fileContent string settings Settings errMessage string }{ "empty_file": {}, "malformed_toml": { fileContent: "this is not a toml file", errMessage: `toml decoding file: toml: expected character =`, }, "unknown_field": { fileContent: `unknown = "what is this"`, errMessage: `toml decoding file: strict mode: fields in the document are missing in the target struct: 1| unknown = "what is this" | ~~~~~~~ missing field`, }, "filled_settings": { fileContent: `[[roles]] name = "public" auth = "none" routes = ["GET /v1/vpn/status", "PUT /v1/vpn/status"] [[roles]] name = "client" auth = "apikey" apikey = "xyz" routes = ["GET /v1/vpn/status"] `, settings: Settings{ Roles: []Role{{ Name: "public", Auth: AuthNone, Routes: []string{"GET /v1/vpn/status", "PUT /v1/vpn/status"}, }, { Name: "client", Auth: AuthAPIKey, APIKey: "xyz", Routes: []string{"GET /v1/vpn/status"}, }}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() tempDir := t.TempDir() filepath := tempDir + "/config.toml" const permissions fs.FileMode = 0o600 err := os.WriteFile(filepath, []byte(testCase.fileContent), permissions) require.NoError(t, err) settings, err := Read(filepath) assert.Equal(t, testCase.settings, settings) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } }) } } ================================================ FILE: internal/server/middlewares/auth/format.go ================================================ package auth func andStrings(strings []string) (result string) { return joinStrings(strings, "and") } func joinStrings(strings []string, lastJoin string) (result string) { if len(strings) == 0 { return "" } result = strings[0] for i := 1; i < len(strings); i++ { if i < len(strings)-1 { result += ", " + strings[i] } else { result += " " + lastJoin + " " + strings[i] } } return result } ================================================ FILE: internal/server/middlewares/auth/interfaces.go ================================================ package auth type DebugLogger interface { Debugf(format string, args ...any) Warnf(format string, args ...any) } ================================================ FILE: internal/server/middlewares/auth/interfaces_local.go ================================================ package auth import "net/http" type authorizationChecker interface { equal(other authorizationChecker) bool isAuthorized(headers http.Header, request *http.Request) bool } ================================================ FILE: internal/server/middlewares/auth/lookup.go ================================================ package auth import ( "fmt" ) type internalRole struct { name string checker authorizationChecker } func settingsToLookupMap(settings Settings) (routeToRoles map[string][]internalRole, err error) { routeToRoles = make(map[string][]internalRole) for _, role := range settings.Roles { var checker authorizationChecker switch role.Auth { case AuthNone: checker = newNoneMethod() case AuthAPIKey: checker = newAPIKeyMethod(role.APIKey) case AuthBasic: checker = newBasicAuthMethod(role.Username, role.Password) default: return nil, fmt.Errorf("%w: %s", ErrMethodNotSupported, role.Auth) } iRole := internalRole{ name: role.Name, checker: checker, } for _, route := range role.Routes { checkerExists := false for _, role := range routeToRoles[route] { if role.checker.equal(iRole.checker) { checkerExists = true break } } if checkerExists { // even if the role name is different, if the checker is the same, skip it. continue } routeToRoles[route] = append(routeToRoles[route], iRole) } } return routeToRoles, nil } ================================================ FILE: internal/server/middlewares/auth/lookup_test.go ================================================ package auth import ( "testing" "github.com/stretchr/testify/assert" ) // Read reads the toml file specified by the filepath given. func Test_settingsToLookupMap(t *testing.T) { t.Parallel() testCases := map[string]struct { settings Settings routeToRoles map[string][]internalRole errWrapped error errMessage string }{ "empty_settings": { routeToRoles: map[string][]internalRole{}, }, "auth_method_not_supported": { settings: Settings{ Roles: []Role{{Name: "a", Auth: "bad"}}, }, errWrapped: ErrMethodNotSupported, errMessage: "authentication method not supported: bad", }, "success": { settings: Settings{ Roles: []Role{ {Name: "a", Auth: AuthNone, Routes: []string{"GET /path"}}, {Name: "b", Auth: AuthNone, Routes: []string{"GET /path", "PUT /path"}}, }, }, routeToRoles: map[string][]internalRole{ "GET /path": { {name: "a", checker: newNoneMethod()}, // deduplicated method }, "PUT /path": { {name: "b", checker: newNoneMethod()}, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() routeToRoles, err := settingsToLookupMap(testCase.settings) assert.Equal(t, testCase.routeToRoles, routeToRoles) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } ================================================ FILE: internal/server/middlewares/auth/middleware.go ================================================ package auth import ( "fmt" "net/http" ) func New(settings Settings, debugLogger DebugLogger) ( middleware func(http.Handler) http.Handler, err error, ) { routeToRoles, err := settingsToLookupMap(settings) if err != nil { return nil, fmt.Errorf("converting settings to lookup maps: %w", err) } return func(handler http.Handler) http.Handler { return &authHandler{ childHandler: handler, routeToRoles: routeToRoles, logger: debugLogger, } }, nil } type authHandler struct { childHandler http.Handler routeToRoles map[string][]internalRole logger DebugLogger } func (h *authHandler) ServeHTTP(writer http.ResponseWriter, request *http.Request) { route := request.Method + " " + request.URL.Path roles := h.routeToRoles[route] if len(roles) == 0 { h.logger.Debugf("no authentication role defined for route %s", route) http.Error(writer, http.StatusText(http.StatusUnauthorized), http.StatusUnauthorized) return } responseHeader := make(http.Header, 0) for _, role := range roles { if !role.checker.isAuthorized(responseHeader, request) { continue } h.logger.Debugf("access to route %s authorized for role %s", route, role.name) h.childHandler.ServeHTTP(writer, request) return } // Flush out response headers if all roles failed to authenticate for headerKey, headerValues := range responseHeader { for _, headerValue := range headerValues { writer.Header().Add(headerKey, headerValue) } } allRoleNames := make([]string, len(roles)) for i, role := range roles { allRoleNames[i] = role.name } h.logger.Debugf("access to route %s unauthorized after checking for roles %s", route, andStrings(allRoleNames)) http.Error(writer, http.StatusText(http.StatusUnauthorized), http.StatusUnauthorized) } ================================================ FILE: internal/server/middlewares/auth/middleware_test.go ================================================ package auth import ( "context" "io" "net/http" "net/http/httptest" "net/url" "testing" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_authHandler_ServeHTTP(t *testing.T) { t.Parallel() testCases := map[string]struct { settings Settings makeLogger func(ctrl *gomock.Controller) *MockDebugLogger requestMethod string requestPath string statusCode int responseBody string }{ "route_has_no_role": { settings: Settings{ Roles: []Role{ {Name: "role1", Auth: AuthNone, Routes: []string{"GET /a"}}, }, }, makeLogger: func(ctrl *gomock.Controller) *MockDebugLogger { logger := NewMockDebugLogger(ctrl) logger.EXPECT().Debugf("no authentication role defined for route %s", "GET /b") return logger }, requestMethod: http.MethodGet, requestPath: "/b", statusCode: http.StatusUnauthorized, responseBody: "Unauthorized\n", }, "authorized_none": { settings: Settings{ Roles: []Role{ {Name: "role1", Auth: AuthNone, Routes: []string{"GET /a"}}, }, }, makeLogger: func(ctrl *gomock.Controller) *MockDebugLogger { logger := NewMockDebugLogger(ctrl) logger.EXPECT().Debugf("access to route %s authorized for role %s", "GET /a", "role1") return logger }, requestMethod: http.MethodGet, requestPath: "/a", statusCode: http.StatusOK, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) var debugLogger DebugLogger if testCase.makeLogger != nil { debugLogger = testCase.makeLogger(ctrl) } middleware, err := New(testCase.settings, debugLogger) require.NoError(t, err) childHandler := http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { w.WriteHeader(http.StatusOK) }) handler := middleware(childHandler) server := httptest.NewServer(handler) t.Cleanup(server.Close) client := server.Client() requestURL, err := url.JoinPath(server.URL, testCase.requestPath) require.NoError(t, err) request, err := http.NewRequestWithContext(context.Background(), testCase.requestMethod, requestURL, nil) require.NoError(t, err) response, err := client.Do(request) require.NoError(t, err) t.Cleanup(func() { err = response.Body.Close() assert.NoError(t, err) }) assert.Equal(t, testCase.statusCode, response.StatusCode) body, err := io.ReadAll(response.Body) require.NoError(t, err) assert.Equal(t, testCase.responseBody, string(body)) }) } } ================================================ FILE: internal/server/middlewares/auth/mocks_generate_test.go ================================================ package auth //go:generate mockgen -destination=mocks_test.go -package=$GOPACKAGE . DebugLogger ================================================ FILE: internal/server/middlewares/auth/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/server/middlewares/auth (interfaces: DebugLogger) // Package auth is a generated GoMock package. package auth import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockDebugLogger is a mock of DebugLogger interface. type MockDebugLogger struct { ctrl *gomock.Controller recorder *MockDebugLoggerMockRecorder } // MockDebugLoggerMockRecorder is the mock recorder for MockDebugLogger. type MockDebugLoggerMockRecorder struct { mock *MockDebugLogger } // NewMockDebugLogger creates a new mock instance. func NewMockDebugLogger(ctrl *gomock.Controller) *MockDebugLogger { mock := &MockDebugLogger{ctrl: ctrl} mock.recorder = &MockDebugLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockDebugLogger) EXPECT() *MockDebugLoggerMockRecorder { return m.recorder } // Debugf mocks base method. func (m *MockDebugLogger) Debugf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Debugf", varargs...) } // Debugf indicates an expected call of Debugf. func (mr *MockDebugLoggerMockRecorder) Debugf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debugf", reflect.TypeOf((*MockDebugLogger)(nil).Debugf), varargs...) } // Warnf mocks base method. func (m *MockDebugLogger) Warnf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Warnf", varargs...) } // Warnf indicates an expected call of Warnf. func (mr *MockDebugLoggerMockRecorder) Warnf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warnf", reflect.TypeOf((*MockDebugLogger)(nil).Warnf), varargs...) } ================================================ FILE: internal/server/middlewares/auth/none.go ================================================ package auth import "net/http" type noneMethod struct{} func newNoneMethod() *noneMethod { return &noneMethod{} } // equal returns true if another auth checker is equal. // This is used to deduplicate checkers for a particular route. func (n *noneMethod) equal(other authorizationChecker) bool { _, ok := other.(*noneMethod) return ok } func (n *noneMethod) isAuthorized(_ http.Header, _ *http.Request) bool { return true } ================================================ FILE: internal/server/middlewares/auth/settings.go ================================================ package auth import ( "bytes" "encoding/json" "errors" "fmt" "net/http" "slices" "github.com/qdm12/gosettings" "github.com/qdm12/gosettings/validate" "github.com/qdm12/gotree" ) type Settings struct { // Roles is a list of roles with their associated authentication // and routes. Roles []Role } // SetDefaultRole sets a default role to apply to all routes without a // previously user-defined role assigned to. Note the role argument // routes are ignored. This should be called BEFORE calling [Settings.SetDefaults]. func (s *Settings) SetDefaultRole(jsonRole string) error { var role Role decoder := json.NewDecoder(bytes.NewBufferString(jsonRole)) decoder.DisallowUnknownFields() err := decoder.Decode(&role) if err != nil { return fmt.Errorf("decoding default role: %w", err) } if role.Auth == "" { return nil // no default role to set } err = role.Validate() if err != nil { return fmt.Errorf("validating default role: %w", err) } authenticatedRoutes := make(map[string]struct{}, len(validRoutes)) for _, role := range s.Roles { for _, route := range role.Routes { authenticatedRoutes[route] = struct{}{} } } if len(authenticatedRoutes) == len(validRoutes) { return nil } unauthenticatedRoutes := make([]string, 0, len(validRoutes)) for route := range validRoutes { _, authenticated := authenticatedRoutes[route] if !authenticated { unauthenticatedRoutes = append(unauthenticatedRoutes, route) } } slices.Sort(unauthenticatedRoutes) role.Routes = unauthenticatedRoutes s.Roles = append(s.Roles, role) return nil } func (s Settings) Validate() (err error) { for i, role := range s.Roles { err = role.Validate() if err != nil { return fmt.Errorf("role %s (%d of %d): %w", role.Name, i+1, len(s.Roles), err) } } return nil } const ( AuthNone = "none" AuthAPIKey = "apikey" AuthBasic = "basic" ) // Role contains the role name, authentication method name and // routes that the role can access. type Role struct { // Name is the role name and is only used for documentation // and in the authentication middleware debug logs. Name string `json:"name"` // Auth is the authentication method to use, which can be 'none', 'basic' or 'apikey'. Auth string `json:"auth"` // APIKey is the API key to use when using the 'apikey' authentication. APIKey string `json:"apikey"` // Username for HTTP Basic authentication method. Username string `json:"username"` // Password for HTTP Basic authentication method. Password string `json:"password"` // Routes is a list of routes that the role can access in the format // "HTTP_METHOD PATH", for example "GET /v1/vpn/status" Routes []string `json:"-"` } var ( ErrMethodNotSupported = errors.New("authentication method not supported") ErrAPIKeyEmpty = errors.New("api key is empty") ErrBasicUsernameEmpty = errors.New("username is empty") ErrBasicPasswordEmpty = errors.New("password is empty") ErrRouteNotSupported = errors.New("route not supported by the control server") ) func (r Role) Validate() (err error) { err = validate.IsOneOf(r.Auth, AuthNone, AuthAPIKey, AuthBasic) if err != nil { return fmt.Errorf("%w: %s", ErrMethodNotSupported, r.Auth) } switch { case r.Auth == AuthAPIKey && r.APIKey == "": return fmt.Errorf("for role %s: %w", r.Name, ErrAPIKeyEmpty) case r.Auth == AuthBasic && r.Username == "": return fmt.Errorf("for role %s: %w", r.Name, ErrBasicUsernameEmpty) case r.Auth == AuthBasic && r.Password == "": return fmt.Errorf("for role %s: %w", r.Name, ErrBasicPasswordEmpty) } for i, route := range r.Routes { _, ok := validRoutes[route] if !ok { return fmt.Errorf("route %d of %d: %w: %s", i+1, len(r.Routes), ErrRouteNotSupported, route) } } return nil } // WARNING: do not mutate programmatically. var validRoutes = map[string]struct{}{ //nolint:gochecknoglobals http.MethodGet + " /openvpn/actions/restart": {}, http.MethodGet + " /openvpn/portforwarded": {}, http.MethodGet + " /openvpn/settings": {}, http.MethodGet + " /unbound/actions/restart": {}, http.MethodGet + " /updater/restart": {}, http.MethodGet + " /v1/version": {}, http.MethodGet + " /v1/vpn/status": {}, http.MethodPut + " /v1/vpn/status": {}, http.MethodGet + " /v1/vpn/settings": {}, http.MethodPut + " /v1/vpn/settings": {}, http.MethodGet + " /v1/openvpn/status": {}, http.MethodPut + " /v1/openvpn/status": {}, http.MethodGet + " /v1/openvpn/portforwarded": {}, http.MethodGet + " /v1/openvpn/settings": {}, http.MethodGet + " /v1/dns/status": {}, http.MethodPut + " /v1/dns/status": {}, http.MethodGet + " /v1/updater/status": {}, http.MethodPut + " /v1/updater/status": {}, http.MethodGet + " /v1/publicip/ip": {}, http.MethodGet + " /v1/portforward": {}, http.MethodPut + " /v1/portforward": {}, } func (r Role) ToLinesNode() (node *gotree.Node) { node = gotree.New("Role " + r.Name) node.Appendf("Authentication method: %s", r.Auth) switch r.Auth { case AuthNone: case AuthBasic: node.Appendf("Username: %s", r.Username) node.Appendf("Password: %s", gosettings.ObfuscateKey(r.Password)) case AuthAPIKey: node.Appendf("API key: %s", gosettings.ObfuscateKey(r.APIKey)) default: panic("missing code for authentication method: " + r.Auth) } node.Appendf("Number of routes covered: %d", len(r.Routes)) return node } ================================================ FILE: internal/server/middlewares/log/interfaces.go ================================================ package log type Logger interface { Info(message string) } ================================================ FILE: internal/server/middlewares/log/middleware.go ================================================ package log import ( "net/http" "strconv" "sync" "time" ) func New(logger Logger, enabled bool) ( middleware func(http.Handler) http.Handler, ) { return func(handler http.Handler) http.Handler { return &logMiddleware{ childHandler: handler, logger: logger, timeNow: time.Now, enabled: enabled, } } } type logMiddleware struct { childHandler http.Handler logger Logger timeNow func() time.Time enabled bool enabledMu sync.RWMutex } func (m *logMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request) { if !m.isEnabled() { m.childHandler.ServeHTTP(w, r) return } tStart := m.timeNow() statefulWriter := &statefulResponseWriter{httpWriter: w} m.childHandler.ServeHTTP(statefulWriter, r) duration := m.timeNow().Sub(tStart) m.logger.Info(strconv.Itoa(statefulWriter.statusCode) + " " + r.Method + " " + r.URL.String() + " wrote " + strconv.Itoa(statefulWriter.length) + "B to " + r.RemoteAddr + " in " + duration.String()) } func (m *logMiddleware) SetEnabled(enabled bool) { m.enabledMu.Lock() defer m.enabledMu.Unlock() m.enabled = enabled } func (m *logMiddleware) isEnabled() (enabled bool) { m.enabledMu.RLock() defer m.enabledMu.RUnlock() return m.enabled } type statefulResponseWriter struct { httpWriter http.ResponseWriter statusCode int length int } func (w *statefulResponseWriter) Write(b []byte) (n int, err error) { n, err = w.httpWriter.Write(b) if w.statusCode == 0 { w.statusCode = http.StatusOK } w.length += n return n, err } func (w *statefulResponseWriter) WriteHeader(statusCode int) { w.statusCode = statusCode w.httpWriter.WriteHeader(statusCode) } func (w *statefulResponseWriter) Header() http.Header { return w.httpWriter.Header() } ================================================ FILE: internal/server/openvpn.go ================================================ package server import ( "context" "encoding/json" "net/http" "strings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" ) func newOpenvpnHandler(ctx context.Context, looper VPNLooper, w warner) http.Handler { return &openvpnHandler{ ctx: ctx, looper: looper, warner: w, } } type openvpnHandler struct { ctx context.Context //nolint:containedctx looper VPNLooper warner warner } func (h *openvpnHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { r.RequestURI = strings.TrimPrefix(r.RequestURI, "/openvpn") switch r.RequestURI { case "/status": switch r.Method { case http.MethodGet: h.getStatus(w) case http.MethodPut: h.setStatus(w, r) default: errMethodNotSupported(w, r.Method) } case "/settings": switch r.Method { case http.MethodGet: h.getSettings(w) default: errMethodNotSupported(w, r.Method) } case "/portforwarded": // TODO v4 remove switch r.Method { case http.MethodGet: http.Redirect(w, r, "/v1/portforward", http.StatusMovedPermanently) default: errMethodNotSupported(w, r.Method) } default: errRouteNotSupported(w, r.RequestURI) } } func (h *openvpnHandler) getStatus(w http.ResponseWriter) { vpnStatus := h.looper.GetStatus() openVPNStatus := vpnStatus if vpnStatus != constants.Stopped { vpnSettings := h.looper.GetSettings() if vpnSettings.Type != vpn.OpenVPN { openVPNStatus = constants.Stopped } } encoder := json.NewEncoder(w) data := statusWrapper{Status: string(openVPNStatus)} if err := encoder.Encode(data); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) return } } func (h *openvpnHandler) setStatus(w http.ResponseWriter, r *http.Request) { decoder := json.NewDecoder(r.Body) var data statusWrapper if err := decoder.Decode(&data); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } status, err := data.getStatus() if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } var outcome string loopSettings := h.looper.GetSettings() if status == constants.Running && loopSettings.Type != vpn.OpenVPN { // Stop Wireguard if it was the selected type and we want to start OpenVPN loopSettings.Type = vpn.OpenVPN outcome = h.looper.SetSettings(h.ctx, loopSettings) } else { // Only update status of OpenVPN outcome, err = h.looper.ApplyStatus(h.ctx, status) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } } encoder := json.NewEncoder(w) if err := encoder.Encode(outcomeWrapper{Outcome: outcome}); err != nil { h.warner.Warn(err.Error()) http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) return } } func (h *openvpnHandler) getSettings(w http.ResponseWriter) { vpnSettings := h.looper.GetSettings() settings := vpnSettings.OpenVPN encoder := json.NewEncoder(w) if err := encoder.Encode(settings); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) return } } ================================================ FILE: internal/server/portforward.go ================================================ package server import ( "context" "encoding/json" "fmt" "net/http" ) func newPortForwardHandler(ctx context.Context, portForward PortForwarding, warner warner, ) http.Handler { return &portForwardHandler{ ctx: ctx, portForward: portForward, warner: warner, } } type portForwardHandler struct { ctx context.Context //nolint:containedctx portForward PortForwarding warner warner } func (h *portForwardHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { switch r.Method { case http.MethodGet: h.getPortForwarded(w) case http.MethodPut: h.setPortForwarded(w, r) default: errMethodNotSupported(w, r.Method) } } func (h *portForwardHandler) getPortForwarded(w http.ResponseWriter) { ports := h.portForward.GetPortsForwarded() encoder := json.NewEncoder(w) var data any switch len(ports) { case 0: data = portWrapper{Port: 0} // TODO v4 change to portsWrapper case 1: data = portWrapper{Port: ports[0]} // TODO v4 change to portsWrapper default: data = portsWrapper{Ports: ports} } err := encoder.Encode(data) if err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) } } func (h *portForwardHandler) setPortForwarded(w http.ResponseWriter, r *http.Request) { var data portsWrapper decoder := json.NewDecoder(r.Body) err := decoder.Decode(&data) if err != nil { h.warner.Warn(fmt.Sprintf("failed setting forwarded ports: %s", err)) http.Error(w, "failed setting forwarded ports", http.StatusBadRequest) return } err = h.portForward.SetPortsForwarded(data.Ports) if err != nil { h.warner.Warn(fmt.Sprintf("failed setting forwarded ports: %s", err)) http.Error(w, "failed setting forwarded ports", http.StatusInternalServerError) return } w.WriteHeader(http.StatusOK) } ================================================ FILE: internal/server/publicip.go ================================================ package server import ( "encoding/json" "net/http" "strings" ) func newPublicIPHandler(loop PublicIPLoop, w warner) http.Handler { return &publicIPHandler{ loop: loop, warner: w, } } type publicIPHandler struct { loop PublicIPLoop warner warner } func (h *publicIPHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { r.RequestURI = strings.TrimPrefix(r.RequestURI, "/publicip") switch r.RequestURI { case "/ip": switch r.Method { case http.MethodGet: h.getPublicIP(w) default: errMethodNotSupported(w, r.Method) } default: errRouteNotSupported(w, r.RequestURI) } } func (h *publicIPHandler) getPublicIP(w http.ResponseWriter) { data := h.loop.GetData() encoder := json.NewEncoder(w) if err := encoder.Encode(data); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) return } } ================================================ FILE: internal/server/server.go ================================================ package server import ( "context" "errors" "fmt" "os" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/httpserver" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/server/middlewares/auth" ) func New(ctx context.Context, settings settings.ControlServer, logger Logger, buildInfo models.BuildInformation, openvpnLooper VPNLooper, pf PortForwarding, dnsLooper DNSLoop, updaterLooper UpdaterLooper, publicIPLooper PublicIPLoop, storage Storage, ipv6Supported bool) ( server *httpserver.Server, err error, ) { authSettings, err := setupAuthMiddleware(settings.AuthFilePath, settings.AuthDefaultRole, logger) if err != nil { return nil, fmt.Errorf("building authentication middleware settings: %w", err) } handler, err := newHandler(ctx, logger, *settings.Log, authSettings, buildInfo, openvpnLooper, pf, dnsLooper, updaterLooper, publicIPLooper, storage, ipv6Supported) if err != nil { return nil, fmt.Errorf("creating handler: %w", err) } httpServerSettings := httpserver.Settings{ Address: *settings.Address, Handler: handler, Logger: logger, } server, err = httpserver.New(httpServerSettings) if err != nil { return nil, fmt.Errorf("creating server: %w", err) } return server, nil } func setupAuthMiddleware(authPath, jsonDefaultRole string, logger Logger) ( authSettings auth.Settings, err error, ) { authSettings, err = auth.Read(authPath) switch { case errors.Is(err, os.ErrNotExist): // no auth file present case err != nil: return auth.Settings{}, fmt.Errorf("reading auth settings: %w", err) default: logger.Infof("read %d roles from authentication file", len(authSettings.Roles)) } err = authSettings.SetDefaultRole(jsonDefaultRole) if err != nil { return auth.Settings{}, fmt.Errorf("setting default role: %w", err) } err = authSettings.Validate() if err != nil { return auth.Settings{}, fmt.Errorf("validating auth settings: %w", err) } return authSettings, nil } ================================================ FILE: internal/server/updater.go ================================================ package server import ( "context" "encoding/json" "net/http" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) type UpdaterLooper interface { GetStatus() (status models.LoopStatus) SetStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) SetSettings(settings settings.Updater) (outcome string) } func newUpdaterHandler( ctx context.Context, looper UpdaterLooper, warner warner, ) http.Handler { return &updaterHandler{ ctx: ctx, looper: looper, warner: warner, } } type updaterHandler struct { ctx context.Context //nolint:containedctx looper UpdaterLooper warner warner } func (h *updaterHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { r.RequestURI = strings.TrimPrefix(r.RequestURI, "/updater") switch r.RequestURI { case "/status": switch r.Method { case http.MethodGet: h.getStatus(w) case http.MethodPut: h.setStatus(w, r) default: errMethodNotSupported(w, r.Method) } default: errRouteNotSupported(w, r.RequestURI) } } func (h *updaterHandler) getStatus(w http.ResponseWriter) { status := h.looper.GetStatus() encoder := json.NewEncoder(w) data := statusWrapper{Status: string(status)} if err := encoder.Encode(data); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) return } } func (h *updaterHandler) setStatus(w http.ResponseWriter, r *http.Request) { decoder := json.NewDecoder(r.Body) var data statusWrapper if err := decoder.Decode(&data); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } status, err := data.getStatus() if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } outcome, err := h.looper.SetStatus(h.ctx, status) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } encoder := json.NewEncoder(w) if err := encoder.Encode(outcomeWrapper{Outcome: outcome}); err != nil { h.warner.Warn(err.Error()) http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) return } } ================================================ FILE: internal/server/vpn.go ================================================ package server import ( "context" "encoding/json" "net/http" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" ) func newVPNHandler(ctx context.Context, looper VPNLooper, storage Storage, ipv6Supported bool, w warner, ) http.Handler { return &vpnHandler{ ctx: ctx, looper: looper, storage: storage, ipv6Supported: ipv6Supported, warner: w, } } type vpnHandler struct { ctx context.Context //nolint:containedctx looper VPNLooper storage Storage ipv6Supported bool warner warner } func (h *vpnHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { r.RequestURI = strings.TrimPrefix(r.RequestURI, "/vpn") switch r.RequestURI { case "/status": switch r.Method { case http.MethodGet: h.getStatus(w) case http.MethodPut: h.setStatus(w, r) default: errMethodNotSupported(w, r.Method) } case "/settings": switch r.Method { case http.MethodGet: h.getSettings(w) case http.MethodPut: h.patchSettings(w, r) default: errMethodNotSupported(w, r.Method) } default: errRouteNotSupported(w, r.RequestURI) } } func (h *vpnHandler) getStatus(w http.ResponseWriter) { status := h.looper.GetStatus() encoder := json.NewEncoder(w) data := statusWrapper{Status: string(status)} if err := encoder.Encode(data); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) return } } func (h *vpnHandler) setStatus(w http.ResponseWriter, r *http.Request) { decoder := json.NewDecoder(r.Body) var data statusWrapper if err := decoder.Decode(&data); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } status, err := data.getStatus() if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } outcome, err := h.looper.ApplyStatus(h.ctx, status) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } encoder := json.NewEncoder(w) if err := encoder.Encode(outcomeWrapper{Outcome: outcome}); err != nil { h.warner.Warn(err.Error()) http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) return } } func (h *vpnHandler) getSettings(w http.ResponseWriter) { settings := h.looper.GetSettings() encoder := json.NewEncoder(w) if err := encoder.Encode(settings); err != nil { h.warner.Warn(err.Error()) w.WriteHeader(http.StatusInternalServerError) return } } func (h *vpnHandler) patchSettings(w http.ResponseWriter, r *http.Request) { var overrideSettings settings.VPN decoder := json.NewDecoder(r.Body) err := decoder.Decode(&overrideSettings) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } err = r.Body.Close() if err != nil { h.warner.Warn("closing body: " + err.Error()) } updatedSettings := h.looper.GetSettings() // already copied updatedSettings.OverrideWith(overrideSettings) err = updatedSettings.Validate(h.storage, h.ipv6Supported, h.warner) if err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } outcome := h.looper.SetSettings(h.ctx, updatedSettings) _, err = w.Write([]byte(outcome)) if err != nil { h.warner.Warn("writing response: " + err.Error()) } } ================================================ FILE: internal/server/wrappers.go ================================================ package server import ( "errors" "fmt" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) type statusWrapper struct { Status string `json:"status"` } var errInvalidStatus = errors.New("invalid status") func (sw *statusWrapper) getStatus() (status models.LoopStatus, err error) { status = models.LoopStatus(sw.Status) switch status { case constants.Stopped, constants.Running: return status, nil default: return "", fmt.Errorf("%w: %s: possible values are: %s, %s", errInvalidStatus, sw.Status, constants.Stopped, constants.Running) } } type portWrapper struct { // TODO v4 remove Port uint16 `json:"port"` } type portsWrapper struct { Ports []uint16 `json:"ports"` } type outcomeWrapper struct { Outcome string `json:"outcome"` } ================================================ FILE: internal/shadowsocks/logger.go ================================================ package shadowsocks type Logger interface { debuger infoer errorer } type debuger interface { Debug(s string) } type infoer interface { Info(s string) } type errorer interface { Error(s string) } ================================================ FILE: internal/shadowsocks/loop.go ================================================ package shadowsocks import ( "context" "sync" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" shadowsockslib "github.com/qdm12/ss-server/pkg/tcpudp" ) type Loop struct { state state // Other objects logger Logger // Internal channels and locks loopLock sync.Mutex running chan models.LoopStatus stop, stopped chan struct{} start chan struct{} backoffTime time.Duration } func (l *Loop) logAndWait(ctx context.Context, err error) { if err != nil { l.logger.Error(err.Error()) } l.logger.Info("retrying in " + l.backoffTime.String()) timer := time.NewTimer(l.backoffTime) l.backoffTime *= 2 select { case <-timer.C: case <-ctx.Done(): if !timer.Stop() { <-timer.C } } } const defaultBackoffTime = 10 * time.Second func NewLoop(settings settings.Shadowsocks, logger Logger) *Loop { return &Loop{ state: state{ status: constants.Stopped, settings: settings, }, logger: logger, start: make(chan struct{}), running: make(chan models.LoopStatus), stop: make(chan struct{}), stopped: make(chan struct{}), backoffTime: defaultBackoffTime, } } func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { defer close(done) crashed := false if *l.GetSettings().Enabled { go func() { _, _ = l.SetStatus(ctx, constants.Running) }() } select { case <-l.start: case <-ctx.Done(): return } for ctx.Err() == nil { settings := l.GetSettings() server, err := shadowsockslib.NewServer(settings.Settings, l.logger) if err != nil { crashed = true l.logAndWait(ctx, err) continue } shadowsocksCtx, shadowsocksCancel := context.WithCancel(ctx) waitError := make(chan error) go func() { waitError <- server.Listen(shadowsocksCtx) }() if err != nil { crashed = true shadowsocksCancel() l.logAndWait(ctx, err) continue } isStableTimer := time.NewTimer(time.Second) stayHere := true for stayHere { select { case <-ctx.Done(): shadowsocksCancel() <-waitError close(waitError) return case <-isStableTimer.C: if !crashed { l.running <- constants.Running crashed = false } else { l.backoffTime = defaultBackoffTime l.state.setStatusWithLock(constants.Running) } case <-l.start: l.logger.Info("starting") shadowsocksCancel() <-waitError close(waitError) stayHere = false case <-l.stop: l.logger.Info("stopping") shadowsocksCancel() <-waitError close(waitError) l.stopped <- struct{}{} case err := <-waitError: // unexpected error shadowsocksCancel() close(waitError) if ctx.Err() != nil { return } l.state.setStatusWithLock(constants.Crashed) l.logAndWait(ctx, err) crashed = true stayHere = false } } shadowsocksCancel() // repetition for linter only if !isStableTimer.Stop() { <-isStableTimer.C } } } ================================================ FILE: internal/shadowsocks/state.go ================================================ package shadowsocks import ( "context" "errors" "fmt" "reflect" "sync" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) type state struct { status models.LoopStatus settings settings.Shadowsocks statusMu sync.RWMutex settingsMu sync.RWMutex } func (s *state) setStatusWithLock(status models.LoopStatus) { s.statusMu.Lock() defer s.statusMu.Unlock() s.status = status } func (l *Loop) GetStatus() (status models.LoopStatus) { l.state.statusMu.RLock() defer l.state.statusMu.RUnlock() return l.state.status } var ErrInvalidStatus = errors.New("invalid status") func (l *Loop) SetStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error, ) { l.state.statusMu.Lock() defer l.state.statusMu.Unlock() existingStatus := l.state.status switch status { case constants.Running: switch existingStatus { case constants.Starting, constants.Running, constants.Stopping, constants.Crashed: return fmt.Sprintf("already %s", existingStatus), nil } l.loopLock.Lock() defer l.loopLock.Unlock() l.state.status = constants.Starting l.state.statusMu.Unlock() l.start <- struct{}{} newStatus := constants.Starting // for canceled context select { case <-ctx.Done(): case newStatus = <-l.running: } l.state.statusMu.Lock() l.state.status = newStatus return newStatus.String(), nil case constants.Stopped: switch existingStatus { case constants.Stopped, constants.Stopping, constants.Starting, constants.Crashed: return fmt.Sprintf("already %s", existingStatus), nil } l.loopLock.Lock() defer l.loopLock.Unlock() l.state.status = constants.Stopping l.state.statusMu.Unlock() l.stop <- struct{}{} newStatus := constants.Stopping // for canceled context select { case <-ctx.Done(): case <-l.stopped: newStatus = constants.Stopped } l.state.statusMu.Lock() l.state.status = newStatus return status.String(), nil default: return "", fmt.Errorf("%w: %s: it can only be one of: %s, %s", ErrInvalidStatus, status, constants.Running, constants.Stopped) } } func (l *Loop) GetSettings() (settings settings.Shadowsocks) { l.state.settingsMu.RLock() defer l.state.settingsMu.RUnlock() return l.state.settings } func (l *Loop) SetSettings(ctx context.Context, settings settings.Shadowsocks) ( outcome string, ) { l.state.settingsMu.Lock() settingsUnchanged := reflect.DeepEqual(settings, l.state.settings) if settingsUnchanged { l.state.settingsMu.Unlock() return "settings left unchanged" } newEnabled := *settings.Enabled previousEnabled := *l.state.settings.Enabled l.state.settings = settings l.state.settingsMu.Unlock() // Either restart or set changed status switch { case !newEnabled && !previousEnabled: case newEnabled && previousEnabled: _, _ = l.SetStatus(ctx, constants.Stopped) _, _ = l.SetStatus(ctx, constants.Running) case newEnabled && !previousEnabled: _, _ = l.SetStatus(ctx, constants.Running) case !newEnabled && previousEnabled: _, _ = l.SetStatus(ctx, constants.Stopped) } return "settings updated" } ================================================ FILE: internal/storage/choices.go ================================================ package storage import ( "github.com/qdm12/gluetun/internal/configuration/settings/validation" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/models" ) func (s *Storage) GetFilterChoices(provider string) models.FilterChoices { if provider == providers.Custom { return models.FilterChoices{} } s.mergedMutex.RLock() defer s.mergedMutex.RUnlock() serversObject := s.getMergedServersObject(provider) servers := serversObject.Servers return models.FilterChoices{ Countries: validation.ExtractCountries(servers), Categories: validation.ExtractCategories(servers), Regions: validation.ExtractRegions(servers), Cities: validation.ExtractCities(servers), ISPs: validation.ExtractISPs(servers), Names: validation.ExtractServerNames(servers), Hostnames: validation.ExtractHostnames(servers), } } ================================================ FILE: internal/storage/copy.go ================================================ package storage import ( "net/netip" "github.com/qdm12/gluetun/internal/models" ) func copyServer(server models.Server) (serverCopy models.Server) { serverCopy = server serverCopy.IPs = copyIPs(server.IPs) return serverCopy } func copyIPs(toCopy []netip.Addr) (copied []netip.Addr) { if toCopy == nil { return nil } copied = make([]netip.Addr, len(toCopy)) copy(copied, toCopy) return copied } ================================================ FILE: internal/storage/copy_test.go ================================================ package storage import ( "net/netip" "testing" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" ) func Test_copyServer(t *testing.T) { t.Parallel() server := models.Server{ Country: "a", IPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 2, 3, 4})}, } serverCopy := copyServer(server) assert.Equal(t, server, serverCopy) // Check for mutation serverCopy.IPs[0] = netip.AddrFrom4([4]byte{9, 9, 9, 9}) assert.NotEqual(t, server, serverCopy) } func Test_copyIPs(t *testing.T) { t.Parallel() testCases := map[string]struct { toCopy []netip.Addr copied []netip.Addr }{ "nil": {}, "empty": { toCopy: []netip.Addr{}, copied: []netip.Addr{}, }, "single IP": { toCopy: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, copied: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, }, "two IPs": { toCopy: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{2, 2, 2, 2})}, copied: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{2, 2, 2, 2})}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() copied := copyIPs(testCase.toCopy) assert.Equal(t, testCase.copied, copied) if len(copied) > 0 { testCase.toCopy[0] = netip.AddrFrom4([4]byte{9, 9, 9, 9}) assert.NotEqual(t, testCase.toCopy[0], testCase.copied[0]) } }) } } ================================================ FILE: internal/storage/filter.go ================================================ package storage import ( "fmt" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" ) // FilterServers filter servers for the given provider and according // to the given selection. The filtered servers are deep copied so they // are safe for mutation by the caller. func (s *Storage) FilterServers(provider string, selection settings.ServerSelection) ( servers []models.Server, err error, ) { if provider == providers.Custom { return nil, nil } s.mergedMutex.RLock() defer s.mergedMutex.RUnlock() serversObject := s.getMergedServersObject(provider) allServers := serversObject.Servers if len(allServers) == 0 { return nil, ErrNoServerFound } for _, server := range allServers { if filterServer(server, selection) { continue } server = copyServer(server) servers = append(servers, server) } if len(servers) == 0 { return nil, noServerFoundError(selection) } return servers, nil } func filterServer(server models.Server, selection settings.ServerSelection, ) (filtered bool) { // Note each condition is split to make sure // we have full testing coverage. if server.VPN != selection.VPN { return true } if server.VPN != vpn.Wireguard && filterByProtocol(selection, server.TCP, server.UDP) { return true } if *selection.MultiHopOnly && !server.MultiHop { return true } if *selection.FreeOnly && !server.Free { return true } if *selection.StreamOnly && !server.Stream { return true } if *selection.OwnedOnly && !server.Owned { return true } if *selection.PortForwardOnly && !server.PortForward { return true } if *selection.SecureCoreOnly && !server.SecureCore { return true } if *selection.TorOnly && !server.Tor { return true } if filterByPossibilities(server.Country, selection.Countries) { return true } if filterAnyByPossibilities(server.Categories, selection.Categories) { return true } if filterByPossibilities(server.Region, selection.Regions) { return true } if filterByPossibilities(server.City, selection.Cities) { return true } if filterByPossibilities(server.ISP, selection.ISPs) { return true } if filterByPossibilities(server.Number, selection.Numbers) { return true } if filterByPossibilities(server.ServerName, selection.Names) { return true } if filterByPossibilities(server.Hostname, selection.Hostnames) { return true } // TODO filter port forward server for PIA return false } func filterByPossibilities[T string | uint16](value T, possibilities []T) (filtered bool) { if len(possibilities) == 0 { return false } for _, possibility := range possibilities { if strings.EqualFold(fmt.Sprint(value), fmt.Sprint(possibility)) { return false } } return true } func filterAnyByPossibilities(values, possibilities []string) (filtered bool) { if len(possibilities) == 0 { return false } for _, value := range values { if !filterByPossibilities(value, possibilities) { return false // found a valid value } } return true } func filterByProtocol(selection settings.ServerSelection, serverTCP, serverUDP bool, ) (filtered bool) { switch selection.VPN { case vpn.Wireguard: return !serverUDP default: // OpenVPN wantTCP := selection.OpenVPN.Protocol == constants.TCP wantUDP := !wantTCP return (wantTCP && !serverTCP) || (wantUDP && !serverUDP) } } ================================================ FILE: internal/storage/flush.go ================================================ package storage import ( "encoding/json" "os" "path/filepath" "sort" "github.com/qdm12/gluetun/internal/models" ) // FlushToFile flushes the merged servers data to the file // specified by path, as indented JSON. func (s *Storage) FlushToFile(path string) error { s.mergedMutex.RLock() defer s.mergedMutex.RUnlock() return s.flushToFile(path) } // flushToFile flushes the merged servers data to the file // specified by path, as indented JSON. It is not thread-safe. func (s *Storage) flushToFile(path string) error { if path == "" { return nil // no file to write to } const permission = 0o644 dirPath := filepath.Dir(path) if err := os.MkdirAll(dirPath, permission); err != nil { return err } file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, permission) if err != nil { return err } encoder := json.NewEncoder(file) encoder.SetIndent("", " ") for _, obj := range s.mergedServers.ProviderToServers { sort.Sort(models.SortableServers(obj.Servers)) } err = encoder.Encode(&s.mergedServers) if err != nil { _ = file.Close() return err } return file.Close() } ================================================ FILE: internal/storage/formatting.go ================================================ package storage import ( "errors" "fmt" "strconv" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" ) func commaJoin(slice []string) string { return strings.Join(slice, ", ") } var ErrNoServerFound = errors.New("no server found") func noServerFoundError(selection settings.ServerSelection) (err error) { var messageParts []string messageParts = append(messageParts, "VPN "+selection.VPN) protocol := constants.UDP if selection.OpenVPN.Protocol == constants.TCP { protocol = constants.TCP } messageParts = append(messageParts, "protocol "+protocol) switch len(selection.Countries) { case 0: case 1: part := "country " + selection.Countries[0] messageParts = append(messageParts, part) default: part := "countries " + commaJoin(selection.Countries) messageParts = append(messageParts, part) } switch len(selection.Categories) { case 0: case 1: part := "category " + selection.Categories[0] messageParts = append(messageParts, part) default: part := "categories " + commaJoin(selection.Categories) messageParts = append(messageParts, part) } switch len(selection.Regions) { case 0: case 1: part := "region " + selection.Regions[0] messageParts = append(messageParts, part) default: part := "regions " + commaJoin(selection.Regions) messageParts = append(messageParts, part) } switch len(selection.Cities) { case 0: case 1: part := "city " + selection.Cities[0] messageParts = append(messageParts, part) default: part := "cities " + commaJoin(selection.Cities) messageParts = append(messageParts, part) } if *selection.OwnedOnly { messageParts = append(messageParts, "owned servers only") } switch len(selection.ISPs) { case 0: case 1: part := "ISP " + selection.ISPs[0] messageParts = append(messageParts, part) default: part := "ISPs " + commaJoin(selection.ISPs) messageParts = append(messageParts, part) } switch len(selection.Hostnames) { case 0: case 1: part := "hostname " + selection.Hostnames[0] messageParts = append(messageParts, part) default: part := "hostnames " + commaJoin(selection.Hostnames) messageParts = append(messageParts, part) } switch len(selection.Names) { case 0: case 1: part := "name " + selection.Names[0] messageParts = append(messageParts, part) default: part := "names " + commaJoin(selection.Names) messageParts = append(messageParts, part) } switch len(selection.Numbers) { case 0: case 1: part := "server number " + strconv.Itoa(int(selection.Numbers[0])) messageParts = append(messageParts, part) default: serverNumbers := make([]string, len(selection.Numbers)) for i := range selection.Numbers { serverNumbers[i] = strconv.Itoa(int(selection.Numbers[i])) } part := "server numbers " + commaJoin(serverNumbers) messageParts = append(messageParts, part) } if *selection.OpenVPN.PIAEncPreset != "" { part := "encryption preset " + *selection.OpenVPN.PIAEncPreset messageParts = append(messageParts, part) } if *selection.FreeOnly { messageParts = append(messageParts, "free tier only") } if *selection.PremiumOnly { messageParts = append(messageParts, "premium tier only") } if *selection.StreamOnly { messageParts = append(messageParts, "stream only") } if *selection.MultiHopOnly { messageParts = append(messageParts, "multihop only") } if *selection.PortForwardOnly { messageParts = append(messageParts, "port forwarding only") } if *selection.SecureCoreOnly { messageParts = append(messageParts, "secure core only") } if *selection.TorOnly { messageParts = append(messageParts, "tor only") } targetIP := selection.OpenVPN.EndpointIP if selection.VPN == vpn.Wireguard { targetIP = selection.Wireguard.EndpointIP } if targetIP.IsValid() { messageParts = append(messageParts, "target ip address "+targetIP.String()) } message := "for " + strings.Join(messageParts, "; ") return fmt.Errorf("%w: %s", ErrNoServerFound, message) } ================================================ FILE: internal/storage/hardcoded.go ================================================ package storage import ( "embed" "encoding/json" "github.com/qdm12/gluetun/internal/models" ) //go:embed servers.json var allServersEmbedFS embed.FS func parseHardcodedServers() (allServers models.AllServers, err error) { f, err := allServersEmbedFS.Open("servers.json") if err != nil { return allServers, err } decoder := json.NewDecoder(f) err = decoder.Decode(&allServers) return allServers, err } ================================================ FILE: internal/storage/hardcoded_test.go ================================================ package storage import ( "testing" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_parseHardcodedServers(t *testing.T) { t.Parallel() servers, err := parseHardcodedServers() require.NoError(t, err) // all providers minus custom allProviders := providers.All() require.Equal(t, len(allProviders), len(servers.ProviderToServers)) for _, provider := range allProviders { servers, ok := servers.ProviderToServers[provider] assert.Truef(t, ok, "for provider %s", provider) assert.NotEmptyf(t, servers, "for provider %s", provider) } } ================================================ FILE: internal/storage/helpers.go ================================================ package storage import "fmt" func panicOnProviderMissingHardcoded(provider string) { panic(fmt.Sprintf("provider %s not found in hardcoded servers map; "+ "did you add the provider key in the embedded servers.json?", provider)) } ================================================ FILE: internal/storage/merge.go ================================================ package storage import ( "fmt" "sort" "time" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/format" "github.com/qdm12/gluetun/internal/models" ) func (s *Storage) mergeServers(hardcoded, persisted models.AllServers) models.AllServers { allProviders := providers.All() merged := models.AllServers{ Version: hardcoded.Version, ProviderToServers: make(map[string]models.Servers, len(allProviders)), } for _, provider := range allProviders { hardcodedServers := hardcoded.ProviderToServers[provider] persistedServers := persisted.ProviderToServers[provider] merged.ProviderToServers[provider] = s.mergeProviderServers(provider, hardcodedServers, persistedServers) } return merged } func (s *Storage) mergeProviderServers(provider string, hardcoded, persisted models.Servers, ) (merged models.Servers) { nowTimestamp := time.Now().Unix() if persisted.Timestamp > nowTimestamp { s.logger.Warn(fmt.Sprintf( "persisted %s servers have a timestamp %d in the future, ignoring them", provider, persisted.Timestamp)) } else if persisted.Timestamp > hardcoded.Timestamp { diff := time.Unix(persisted.Timestamp, 0).Sub(time.Unix(hardcoded.Timestamp, 0)) if diff < 0 { diff = -diff } diff = diff.Truncate(time.Second) message := "Using " + provider + " servers from file which are " + format.FriendlyDuration(diff) + " more recent" s.logger.Info(message) return persisted } persistedServerKeyToServer := make(map[string]models.Server) for _, persistedServer := range persisted.Servers { if persistedServer.Keep { persistedServerKeyToServer[persistedServer.Key()] = persistedServer } } merged = hardcoded // use all fields from hardcoded merged.Servers = make([]models.Server, 0, len(hardcoded.Servers)+len(persistedServerKeyToServer)) for _, hardcodedServer := range hardcoded.Servers { hardcodedServerKey := hardcodedServer.Key() persistedServerToKeep, has := persistedServerKeyToServer[hardcodedServerKey] if has { // Drop hardcoded server and use persisted server matching the key. merged.Servers = append(merged.Servers, persistedServerToKeep) delete(persistedServerKeyToServer, hardcodedServerKey) } else { merged.Servers = append(merged.Servers, hardcodedServer) } } // Add remaining persisted servers to keep for _, persistedServer := range persistedServerKeyToServer { merged.Servers = append(merged.Servers, persistedServer) } sort.Sort(models.SortableServers(merged.Servers)) return merged } ================================================ FILE: internal/storage/mocks_generate_test.go ================================================ package storage //go:generate mockgen -destination=mocks_test.go -package $GOPACKAGE . Logger ================================================ FILE: internal/storage/mocks_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/storage (interfaces: Logger) // Package storage is a generated GoMock package. package storage import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Info mocks base method. func (m *MockLogger) Info(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Info", arg0) } // Info indicates an expected call of Info. func (mr *MockLoggerMockRecorder) Info(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockLogger)(nil).Info), arg0) } // Warn mocks base method. func (m *MockLogger) Warn(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Warn", arg0) } // Warn indicates an expected call of Warn. func (mr *MockLoggerMockRecorder) Warn(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Warn", reflect.TypeOf((*MockLogger)(nil).Warn), arg0) } ================================================ FILE: internal/storage/read.go ================================================ package storage import ( "encoding/json" "fmt" "io" "os" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/models" "golang.org/x/text/cases" "golang.org/x/text/language" ) // readFromFile reads the servers from server.json. // It only reads servers that have the same version as the hardcoded servers version // to avoid JSON decoding errors. func (s *Storage) readFromFile(filepath string, hardcodedVersions map[string]uint16) ( servers models.AllServers, err error, ) { file, err := os.Open(filepath) if os.IsNotExist(err) { return servers, nil } else if err != nil { return servers, err } b, err := io.ReadAll(file) if err != nil { return servers, err } if err := file.Close(); err != nil { return servers, err } return s.extractServersFromBytes(b, hardcodedVersions) } func (s *Storage) extractServersFromBytes(b []byte, hardcodedVersions map[string]uint16) ( servers models.AllServers, err error, ) { rawMessages := make(map[string]json.RawMessage) if err := json.Unmarshal(b, &rawMessages); err != nil { return servers, fmt.Errorf("decoding servers: %w", err) } // Note schema version is at map key "version" as number allProviders := providers.All() servers.ProviderToServers = make(map[string]models.Servers, len(allProviders)) titleCaser := cases.Title(language.English) for _, provider := range allProviders { hardcodedVersion, ok := hardcodedVersions[provider] if !ok { panicOnProviderMissingHardcoded(provider) } rawMessage, ok := rawMessages[provider] if !ok { // If the provider is not found in the data bytes, just don't set it in // the providers map. That way the hardcoded servers will override them. // This is user provided and could come from different sources in the // future (e.g. a file or API request). continue } mergedServers, versionsMatch, err := s.readServers(provider, hardcodedVersion, rawMessage, titleCaser) if err != nil { return models.AllServers{}, err } else if !versionsMatch { // mergedServers is the empty struct in this case, so don't set the key // in the providerToServers map. continue } servers.ProviderToServers[provider] = mergedServers } return servers, nil } func (s *Storage) readServers(provider string, hardcodedVersion uint16, rawMessage json.RawMessage, titleCaser cases.Caser) (servers models.Servers, versionsMatch bool, err error, ) { provider = titleCaser.String(provider) var versionObject struct { Version uint16 `json:"version"` } err = json.Unmarshal(rawMessage, &versionObject) if err != nil { return servers, false, fmt.Errorf("decoding servers version for provider %s: %w", provider, err) } persistedVersion := versionObject.Version versionsMatch = hardcodedVersion == persistedVersion if !versionsMatch { s.logger.Info(fmt.Sprintf( "%s servers from file discarded because they have "+ "version %d and hardcoded servers have version %d", provider, persistedVersion, hardcodedVersion)) return servers, versionsMatch, nil } err = json.Unmarshal(rawMessage, &servers) if err != nil { return servers, false, fmt.Errorf("decoding servers for provider %s: %w", provider, err) } return servers, versionsMatch, nil } ================================================ FILE: internal/storage/read_test.go ================================================ package storage import ( "fmt" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/models" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func populateProviderToVersion(providerToVersion map[string]uint16) map[string]uint16 { allProviders := providers.All() for _, provider := range allProviders { _, has := providerToVersion[provider] if has { continue } providerToVersion[provider] = 0 } return providerToVersion } func Test_extractServersFromBytes(t *testing.T) { t.Parallel() testCases := map[string]struct { b []byte hardcodedVersions map[string]uint16 logged []string persisted models.AllServers errMessage string }{ "bad JSON": { b: []byte("garbage"), errMessage: "decoding servers: invalid character 'g' looking for beginning of value", }, "bad provider JSON": { b: []byte(`{"cyberghost": "garbage"}`), hardcodedVersions: populateProviderToVersion(map[string]uint16{}), errMessage: "decoding servers version for provider Cyberghost: " + "json: cannot unmarshal string into Go value of type struct { Version uint16 \"json:\\\"version\\\"\" }", }, "bad servers array JSON": { b: []byte(`{"cyberghost": {"version": 1, "servers": "garbage"}}`), hardcodedVersions: populateProviderToVersion(map[string]uint16{ providers.Cyberghost: 1, }), errMessage: "decoding servers for provider Cyberghost: " + "json: cannot unmarshal string into Go struct field Servers.servers of type []models.Server", }, "absent provider keys": { b: []byte(`{}`), hardcodedVersions: populateProviderToVersion(map[string]uint16{ providers.Cyberghost: 1, }), persisted: models.AllServers{ ProviderToServers: map[string]models.Servers{}, }, }, "same versions": { b: []byte(`{ "cyberghost": {"version": 1, "timestamp": 0} }`), hardcodedVersions: populateProviderToVersion(map[string]uint16{ providers.Cyberghost: 1, }), persisted: models.AllServers{ ProviderToServers: map[string]models.Servers{ providers.Cyberghost: {Version: 1}, }, }, }, "different versions": { b: []byte(`{ "cyberghost": {"version": 1, "timestamp": 1} }`), hardcodedVersions: populateProviderToVersion(map[string]uint16{ providers.Cyberghost: 2, }), logged: []string{ "Cyberghost servers from file discarded because they have version 1 and hardcoded servers have version 2", }, persisted: models.AllServers{ ProviderToServers: map[string]models.Servers{}, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) logger := NewMockLogger(ctrl) var previousLogCall *gomock.Call for _, logged := range testCase.logged { call := logger.EXPECT().Info(logged) if previousLogCall != nil { call.After(previousLogCall) } previousLogCall = call } s := &Storage{ logger: logger, } servers, err := s.extractServersFromBytes(testCase.b, testCase.hardcodedVersions) if testCase.errMessage != "" { assert.EqualError(t, err, testCase.errMessage) } else { assert.NoError(t, err) } assert.Equal(t, testCase.persisted, servers) }) } t.Run("hardcoded panic", func(t *testing.T) { t.Parallel() s := &Storage{} allProviders := providers.All() require.GreaterOrEqual(t, len(allProviders), 2) b := []byte(`{}`) hardcodedVersions := map[string]uint16{ allProviders[0]: 1, // Missing provider allProviders[1] } expectedPanicValue := fmt.Sprintf("provider %s not found in hardcoded servers map; "+ "did you add the provider key in the embedded servers.json?", allProviders[1]) assert.PanicsWithValue(t, expectedPanicValue, func() { _, _ = s.extractServersFromBytes(b, hardcodedVersions) }) }) } ================================================ FILE: internal/storage/servers.go ================================================ package storage import ( "fmt" "time" "github.com/qdm12/gluetun/internal/constants/providers" "github.com/qdm12/gluetun/internal/models" ) // SetServers sets the given servers for the given provider // in the storage in-memory map and saves all the servers // to file. // Note the servers given are not copied so the caller must // NOT MUTATE them after calling this method. func (s *Storage) SetServers(provider string, servers []models.Server) (err error) { if provider == providers.Custom { return } s.mergedMutex.Lock() defer s.mergedMutex.Unlock() serversObject := s.getMergedServersObject(provider) serversObject.Timestamp = time.Now().Unix() serversObject.Servers = servers s.mergedServers.ProviderToServers[provider] = serversObject err = s.flushToFile(s.filepath) if err != nil { return fmt.Errorf("saving servers to file: %w", err) } return nil } // GetServersCount returns the number of servers for the provider given. func (s *Storage) GetServersCount(provider string) (count int) { if provider == providers.Custom { return 0 } s.mergedMutex.RLock() defer s.mergedMutex.RUnlock() serversObject := s.getMergedServersObject(provider) return len(serversObject.Servers) } // Format formats the servers for the provider using the format given // and returns the resulting string. func (s *Storage) Format(provider, format string) (formatted string, err error) { if provider == providers.Custom { return "", nil } s.mergedMutex.RLock() defer s.mergedMutex.RUnlock() serversObject := s.getMergedServersObject(provider) return serversObject.Format(provider, format) } // ServersAreEqual returns whether the servers for the provider // in storage are equal to the servers slice given. func (s *Storage) ServersAreEqual(provider string, servers []models.Server) (equal bool) { if provider == providers.Custom { return true } s.mergedMutex.RLock() defer s.mergedMutex.RUnlock() serversObject := s.getMergedServersObject(provider) existingServers := serversObject.Servers if len(existingServers) != len(servers) { return false } for i := range existingServers { if !existingServers[i].Equal(servers[i]) { return false } } return true } func (s *Storage) getMergedServersObject(provider string) (serversObject models.Servers) { serversObject, ok := s.mergedServers.ProviderToServers[provider] if !ok { panicOnProviderMissingHardcoded(provider) } return serversObject } ================================================ FILE: internal/storage/servers.json ================================================ { "version": 1, "airvpn": { "version": 1, "timestamp": 1772653669, "servers": [ { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Alderamin", "hostname": "at.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:29:5::2" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Alderamin", "hostname": "at.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.9.19.106" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Alderamin", "hostname": "at3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:29:5::5" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Alderamin", "hostname": "at3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.9.19.109" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Alderamin", "hostname": "at4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:29:5::6" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Alderamin", "hostname": "at4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.9.19.110" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Beemim", "hostname": "at.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:29:53:b08a:68c7:fb3b:ec5f" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Beemim", "hostname": "at.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.120.155.178" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Beemim", "hostname": "at3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:29:53:2751:b011:52b5:b3ed" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Beemim", "hostname": "at3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.155.181" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Beemim", "hostname": "at4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:29:53:5513:3e06:b9a2:598a" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Beemim", "hostname": "at4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.155.182" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Caelum", "hostname": "at.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:29:b:faa9:4fd1:4875:e276" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Caelum", "hostname": "at.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "217.64.127.194" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Caelum", "hostname": "at3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:29:b:87a4:f86:450:7fd5" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Caelum", "hostname": "at3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "217.64.127.197" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Caelum", "hostname": "at4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:29:b:56a1:1cee:cbae:e194" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "server_name": "Caelum", "hostname": "at4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "217.64.127.198" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Capricornus", "hostname": "be.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:27:a:78f8:16af:14f6:17f" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Capricornus", "hostname": "be.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "194.187.251.90" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Capricornus", "hostname": "be3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:a:eb24:ad41:1640:8511" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Capricornus", "hostname": "be3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.93" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Capricornus", "hostname": "be4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:a:7fd9:2d41:32f9:6e1b" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Capricornus", "hostname": "be4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.94" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Castor", "hostname": "be.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:27:f:9ff8:eafb:3bb8:3c4f" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Castor", "hostname": "be.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "91.207.57.114" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Castor", "hostname": "be3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:f:80eb:9a7b:3c0f:e4cf" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Castor", "hostname": "be3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "91.207.57.117" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Castor", "hostname": "be4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:f:fbe4:6628:e869:84f8" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Castor", "hostname": "be4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "91.207.57.118" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Columba", "hostname": "be.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:27:9:49d9:6608:eceb:6822" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Columba", "hostname": "be.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "194.187.251.114" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Columba", "hostname": "be3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:9:28ca:421c:1d6:d189" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Columba", "hostname": "be3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.117" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Columba", "hostname": "be4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:9:8136:29d7:563f:9c7a" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Columba", "hostname": "be4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.118" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Diadema", "hostname": "be.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:27:8:9b5f:d788:39c5:3301" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Diadema", "hostname": "be.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "194.187.251.162" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Diadema", "hostname": "be3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:8:1730:6aa8:4347:b506" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Diadema", "hostname": "be3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.165" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Diadema", "hostname": "be4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:8:a224:de0d:b5a7:d90a" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Diadema", "hostname": "be4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.166" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Mebsuta", "hostname": "be.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:27:7:1a57:eb84:b379:a27c" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Mebsuta", "hostname": "be.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "194.187.251.154" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Mebsuta", "hostname": "be3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:7:4e0d:f09c:900:fed8" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Mebsuta", "hostname": "be3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.157" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Mebsuta", "hostname": "be4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:27:7:8d2d:ea10:2093:e495" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "server_name": "Mebsuta", "hostname": "be4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.187.251.158" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "America", "city": "Sao Paulo", "server_name": "Fulu", "hostname": "br.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:75:25:722d:86d3:4565:bf1a" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "America", "city": "Sao Paulo", "server_name": "Fulu", "hostname": "br.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "146.70.163.90" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "America", "city": "Sao Paulo", "server_name": "Fulu", "hostname": "br3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:75:25:17cb:500a:be02:bc89" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "America", "city": "Sao Paulo", "server_name": "Fulu", "hostname": "br3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.163.93" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "America", "city": "Sao Paulo", "server_name": "Fulu", "hostname": "br4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:75:25:710:4ad1:8bb8:162d" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "America", "city": "Sao Paulo", "server_name": "Fulu", "hostname": "br4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.163.94" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Apus", "hostname": "bg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:30:d:6df1:6c92:a457:db3f" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Apus", "hostname": "bg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "82.102.23.130" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Apus", "hostname": "bg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:30:d:8c6:2ca6:8c95:3efd" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Apus", "hostname": "bg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.23.133" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Apus", "hostname": "bg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:30:d:4081:60c:298d:9f65" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Apus", "hostname": "bg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.23.134" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Grus", "hostname": "bg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:30:e:f5ff:9736:27b0:1afd" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Grus", "hostname": "bg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "82.102.23.138" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Grus", "hostname": "bg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:30:e:1b5f:6a17:ae55:6af3" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Grus", "hostname": "bg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.23.141" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Grus", "hostname": "bg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:30:e:cc9f:8a2c:11a9:6da0" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "server_name": "Grus", "hostname": "bg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.23.142" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Lacerta", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:9:9:aed0:e223:e8dd:d27f" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Lacerta", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "87.101.92.170" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Lacerta", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:9:9:b626:eb74:bd39:7646" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Lacerta", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "87.101.92.173" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Lacerta", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:9:9:6552:59d9:a42a:8cf0" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Lacerta", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "87.101.92.174" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Ross", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:9:3f:5db9:e0be:3d00:c0e7" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Ross", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "139.28.218.234" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Ross", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:9:3f:14e4:ec70:70be:3dd5" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Ross", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "139.28.218.237" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Ross", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:9:3f:1a41:aac3:5dbe:63c2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Montreal", "server_name": "Ross", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "139.28.218.238" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Agena", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1002:6:ddb0:6fe6:c526:9e8a" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Agena", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.223.210" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Agena", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:6:c5ce:4032:c367:dc3a" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Agena", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.213" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Agena", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:6:3dd6:5e5e:e452:4c1f" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Agena", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.214" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alhena", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1002:c:522d:38d9:e588:c145" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alhena", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "162.219.176.2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alhena", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:c:bc72:daba:7d5:7658" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alhena", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "162.219.176.5" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alhena", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:c:4809:8b30:fa8c:2c7" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alhena", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "162.219.176.6" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alkurhah", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:16:8a24:a1d6:81d5:caf" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alkurhah", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.202" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alkurhah", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:16:a6bd:92ac:ac9:cc2f" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alkurhah", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.205" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alkurhah", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:16:b22a:c24f:69ca:7e42" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alkurhah", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.206" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Aludra", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:41:6280:2e6c:4d0d:db0b" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Aludra", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "104.254.90.202" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Aludra", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:41:f93f:a6d2:1055:b4d" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Aludra", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.205" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Aludra", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:41:5d49:36bc:6ecd:e2c0" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Aludra", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.206" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alwaid", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:30:84f1:1858:f60c:8ea" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alwaid", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.106" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alwaid", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:30:c97f:abf1:715d:18f4" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alwaid", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.109" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alwaid", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:30:d8db:3034:e4a8:5fd2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alwaid", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.110" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alya", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:13:2b9b:7d03:9679:33d3" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alya", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.170" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alya", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:13:4f5e:882e:f2b6:df9f" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alya", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.173" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alya", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:13:f9a2:1a35:a8ee:6cad" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Alya", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.174" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Angetenar", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:12:a847:3338:53bb:e8d3" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Angetenar", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.162" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Angetenar", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:12:65be:a5e:9919:2cbc" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Angetenar", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.165" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Angetenar", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:12:29c2:859:c15c:c453" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Angetenar", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.166" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Arkab", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:17:621b:590c:ee14:76e8" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Arkab", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.210" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Arkab", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:17:f090:f5ea:51bc:97b6" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Arkab", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.213" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Arkab", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:17:728c:4b13:5bdd:fbfa" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Arkab", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.214" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Avior", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1002:9:ad5d:f490:3982:a40" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Avior", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.223.234" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Avior", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:9:1485:1277:203c:bc91" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Avior", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.237" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Avior", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:9:a765:215d:2bec:311" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Avior", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.238" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Castula", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:600:21:1f58:da2c:4942:c9c0" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Castula", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.157.51" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Castula", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:21:3983:a09:f33f:e4c3" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Castula", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.53" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Castula", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:21:f265:2f0f:35c2:4270" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Castula", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.54" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Cephei", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:c:fab7:78e8:4f3a:6eda" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Cephei", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.214.162" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Cephei", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:c:6040:990d:db42:5d85" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Cephei", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.214.165" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Cephei", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:c:7a49:ae32:17cf:bd5a" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Cephei", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.214.166" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chamukuy", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:600:23:2195:f050:9f69:a583" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chamukuy", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.157.131" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chamukuy", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:23:7287:a572:c4ab:1562" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chamukuy", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.133" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chamukuy", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:23:db05:5edf:b674:f839" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chamukuy", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.134" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chort", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:40:3e95:be84:8428:4e8c" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chort", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "104.254.90.234" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chort", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:40:63d3:d551:47cc:6273" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chort", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.237" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chort", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:40:6fab:780f:50ff:43ee" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Chort", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.238" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Elgafar", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:600:22:8c3b:b3e5:1740:22bb" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Elgafar", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.157.59" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Elgafar", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:22:ae9e:7345:d446:d2e6" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Elgafar", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.61" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Elgafar", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:22:6b52:f36c:3ab9:1c8f" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Elgafar", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.62" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Enif", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:3f:b983:3475:4749:789a" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Enif", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "104.254.90.242" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Enif", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:3f:aecb:8171:ea55:f390" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Enif", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.245" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Enif", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:3f:26ef:b3b1:a403:c778" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Enif", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.246" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Gorgonea", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:3e:1a8d:2f4c:cb10:e5e3" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Gorgonea", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "104.254.90.250" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Gorgonea", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:3e:d811:cec3:219a:f69e" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Gorgonea", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.253" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Gorgonea", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:3e:ad3c:ca07:1e8c:b3ed" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Gorgonea", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.254" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Kornephoros", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:600:25:9054:7e24:1b6:b6a6" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Kornephoros", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.157.11" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Kornephoros", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:25:95ca:b7ae:8752:18b0" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Kornephoros", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.13" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Kornephoros", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:600:25:b000:a7da:a2bd:2187" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Kornephoros", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.157.14" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Lesath", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:d:8ee7:3366:303e:c465" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Lesath", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Lesath", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:d:ad00:5cdf:2c6:8210" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Lesath", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.5" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Lesath", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:d:a233:590a:2a85:cc93" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Lesath", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.6" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Mintaka", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1002:7:6ccc:a3ce:93d0:a3c7" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Mintaka", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.223.218" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Mintaka", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:7:f2a9:8074:eabb:24d0" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Mintaka", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.221" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Mintaka", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:7:bae7:e11f:4555:149a" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Mintaka", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.222" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Regulus", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:e:df81:90c9:1699:6cd0" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Regulus", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.34" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Regulus", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:e:a723:7ad1:f110:39a4" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Regulus", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.37" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Regulus", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:e:f7fb:a1a6:d988:f9ca" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Regulus", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.38" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Rotanev", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:43:6703:779e:8ab4:10b6" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Rotanev", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "104.254.90.186" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Rotanev", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:43:5a09:226e:5c09:2822" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Rotanev", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.189" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Rotanev", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:43:8091:53c9:b92:65f2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Rotanev", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.190" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sadalbari", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:14:148c:a80:695e:b3db" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sadalbari", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.178" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sadalbari", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:14:2c8c:b6f2:37cb:b213" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sadalbari", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.181" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sadalbari", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:14:1000:29ff:3b7e:58a7" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sadalbari", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.182" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Saiph", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1002:8:a57f:4e14:3b7d:e114" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Saiph", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.223.226" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Saiph", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:8:6143:2b38:61c2:192e" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Saiph", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.229" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Saiph", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:8:5392:5560:3d86:c8f1" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Saiph", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.230" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sargas", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1002:4:e7c:c2df:261c:492f" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sargas", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.223.194" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sargas", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:4:5ac4:ddf:50b:2339" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sargas", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.197" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sargas", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:4:2061:3845:8659:db7f" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sargas", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.198" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sharatan", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:42:823d:930d:d1b1:19b5" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sharatan", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "104.254.90.194" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sharatan", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:42:553d:b3e4:c02d:bf7" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sharatan", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.197" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sharatan", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:42:7bde:4424:b1a8:57df" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sharatan", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.254.90.198" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sualocin", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:f:2121:4068:2c46:5bae" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sualocin", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.42" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sualocin", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:f:65e2:b4c1:9d9:c1fd" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sualocin", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.45" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sualocin", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:f:5524:b2c9:5779:4a8a" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Sualocin", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.46" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tegmen", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:18:e41c:3b51:1e8:2f77" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tegmen", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.208.242" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tegmen", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:18:b4e4:894c:a64c:c8c4" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tegmen", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.208.244" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tegmen", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:18:3a6c:bcca:1bbc:506e" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tegmen", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.208.245" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tejat", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:15:dc3c:532c:3a38:ebb8" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tejat", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.194" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tejat", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:15:bd9f:c09d:fa78:85e6" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tejat", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.197" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tejat", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:15:5ed5:e4f9:4090:ce16" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tejat", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.198" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tyl", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1002:5:7faa:b55a:a5ee:f79f" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tyl", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.223.202" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tyl", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:5:8e8c:6c8d:b249:3a6b" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tyl", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.205" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tyl", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1002:5:71e0:4725:b7ad:6f09" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Tyl", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.223.206" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Ukdah", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:6080:1001:10:1e9d:9651:27be:dda0" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Ukdah", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "184.75.221.58" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Ukdah", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:10:f9ce:bc25:b363:501b" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Ukdah", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.61" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Ukdah", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:6080:1001:10:9944:af90:d4a6:e523" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Toronto Ontario", "server_name": "Ukdah", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "184.75.221.62" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Ginan", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:9580:103:13:994:7791:5e6e:49bb" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Ginan", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "104.193.135.242" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Ginan", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:103:13:8d0b:dd75:bd89:9bb3" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Ginan", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.193.135.245" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Ginan", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:103:13:5417:bfd4:e093:8c54" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Ginan", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "104.193.135.246" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Nahn", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:9580:100:e:660c:f5c5:214d:b950" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Nahn", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "192.30.89.66" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Nahn", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:e:a3a9:bd8a:793d:1c49" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Nahn", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.69" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Nahn", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:e:a135:140f:4cf:90eb" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Nahn", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.70" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Pisces", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:9580:103:a:89b1:7558:84db:a2f6" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Pisces", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "192.30.89.26" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Pisces", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:103:a:780:76d3:5172:4961" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Pisces", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.29" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Pisces", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:103:a:481b:9c3e:1890:fb34" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Pisces", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.30" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Sham", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:9580:100:f:35b5:d1d1:8647:8e42" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Sham", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "192.30.89.74" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Sham", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:f:c3a0:fe2b:6311:5aa2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Sham", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.77" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Sham", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:f:544d:680e:116d:1f2a" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Sham", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.78" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Telescopium", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:9580:100:c:5f66:c4ab:1f9f:2f13" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Telescopium", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "192.30.89.50" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Telescopium", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:c:a525:824c:a571:53d1" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Telescopium", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.53" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Telescopium", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:c:1d47:abf6:6651:4189" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Telescopium", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.54" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Titawin", "hostname": "ca.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2606:9580:100:d:f80d:dfc8:66e3:6635" ] }, { "vpn": "wireguard", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Titawin", "hostname": "ca.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "192.30.89.58" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Titawin", "hostname": "ca3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:d:2342:142:134b:8478" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Titawin", "hostname": "ca3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.61" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Titawin", "hostname": "ca4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2606:9580:100:d:c191:a9da:1689:55db" ] }, { "vpn": "openvpn", "country": "Canada", "region": "America", "city": "Vancouver", "server_name": "Titawin", "hostname": "ca4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "192.30.89.62" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Centaurus", "hostname": "cz.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:33:8:80d2:ba48:aa87:a78f" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Centaurus", "hostname": "cz.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.174.114" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Centaurus", "hostname": "cz3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:33:8:4639:fa07:a217:d36b" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Centaurus", "hostname": "cz3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.174.117" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Centaurus", "hostname": "cz4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:33:8:c4fd:3c15:a8ad:7d9e" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Centaurus", "hostname": "cz4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.174.118" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Markab", "hostname": "cz.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:33:5:a575:5312:9d46:8c58" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Markab", "hostname": "cz.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.174.26" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Markab", "hostname": "cz3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:33:5:f529:45a0:e2b8:7494" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Markab", "hostname": "cz3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.174.29" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Markab", "hostname": "cz4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:33:5:396d:3a49:83eb:7c91" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Markab", "hostname": "cz4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.174.30" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Turais", "hostname": "cz.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:33:9:3758:d987:4043:a5" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Turais", "hostname": "cz.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.174.154" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Turais", "hostname": "cz3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:33:9:aa94:8a80:1498:7904" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Turais", "hostname": "cz3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.174.157" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Turais", "hostname": "cz4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:33:9:289a:c0e1:e8c5:3e11" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "server_name": "Turais", "hostname": "cz4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.174.158" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "server_name": "Alruba", "hostname": "ee.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a01:1b8:5:1:ffff:ffff:ffff:2" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "server_name": "Alruba", "hostname": "ee.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.77.56.242" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "server_name": "Alruba", "hostname": "ee3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a01:1b8:5:1:ffff:ffff:ffff:5" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "server_name": "Alruba", "hostname": "ee3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.77.56.244" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "server_name": "Alruba", "hostname": "ee4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a01:1b8:5:1:ffff:ffff:ffff:6" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "server_name": "Alruba", "hostname": "ee4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.77.56.245" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Cujam", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:36:3:d8b1:962a:170d:6639" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Cujam", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.120.217.242" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Cujam", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:36:3:2935:d57f:fc05:83e0" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Cujam", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.217.245" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Cujam", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:36:3:f40e:7b16:64d6:d4e" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Cujam", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.217.246" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Taiyi", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:225:ca29:7f52:5a20:829d" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Taiyi", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "83.143.245.50" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Taiyi", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:225:1b06:18f:a622:b2af" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Taiyi", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "83.143.245.53" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Taiyi", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:225:cf65:ed0d:1e1a:812b" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "server_name": "Taiyi", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "83.143.245.54" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhara", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:5:6000:4b07:7b1c:4c0" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhara", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.104.184.42" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhara", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:5:623e:50fc:8023:a65" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhara", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.104.184.45" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhara", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:5:68b8:f9de:d736:eb9b" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhara", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.104.184.46" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhil", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:dd0:aaaa:8:185b:2192:d01e:ea" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhil", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.46.199.66" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhil", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:aaaa:8:486b:fb23:5878:32ea" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhil", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.199.68" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhil", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:aaaa:8:be2f:959c:8ab6:7644" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Adhil", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.199.69" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Alsephina", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:97:ec6c:776:1763:3ee7" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Alsephina", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "141.98.102.186" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Alsephina", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:97:dad1:f205:28f1:bff5" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Alsephina", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.189" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Alsephina", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:97:346e:fd9:50df:ed4e" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Alsephina", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.190" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ashlesha", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:dd0:aaaa:7:f250:e2a8:dbb5:3c58" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ashlesha", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.46.199.50" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ashlesha", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:aaaa:7:e021:9b15:8027:f809" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ashlesha", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.199.52" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ashlesha", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:aaaa:7:2a80:b6a1:2f91:c88e" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ashlesha", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.199.53" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Cervantes", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:2c:463c:42f4:f700:3d77" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Cervantes", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.189.112.26" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Cervantes", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:2c:8efe:ed7:7e97:6f97" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Cervantes", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.189.112.29" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Cervantes", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:2c:e3b0:ae1d:d5f6:a01c" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Cervantes", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.189.112.30" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Dubhe", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:9a:9a5a:d9af:457a:bae8" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Dubhe", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "141.98.102.242" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Dubhe", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:9a:13e6:576a:41cb:a5f" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Dubhe", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.245" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Dubhe", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:9a:3e58:5f60:4e82:b316" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Dubhe", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.246" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Errai", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:2a:fa58:8bc5:ea41:6ecc" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Errai", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.189.112.10" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Errai", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:2a:818d:602e:cf31:f199" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Errai", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.189.112.13" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Errai", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:2a:e321:bca4:390c:b855" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Errai", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.189.112.14" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Fuyue", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:dd0:aaaa:9:d59d:a387:466f:e273" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Fuyue", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.46.199.82" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Fuyue", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:aaaa:9:2a94:d040:418f:de4a" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Fuyue", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.199.84" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Fuyue", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:aaaa:9:e6f0:7ba0:a581:6b0e" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Fuyue", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.199.85" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Menkalinan", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:98:5307:a6cf:d139:d129" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Menkalinan", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "141.98.102.226" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Menkalinan", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:98:ba0a:dabc:45a8:c67c" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Menkalinan", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.229" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Menkalinan", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:98:3571:836c:c67:41c7" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Menkalinan", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.230" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirfak", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:99:744e:9a79:9f43:89c7" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirfak", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "141.98.102.234" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirfak", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:99:fbf6:b62a:86df:b560" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirfak", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.237" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirfak", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:99:97c3:b668:de04:c4da" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirfak", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.238" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirzam", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:96:b054:682e:3392:c1ff" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirzam", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "141.98.102.178" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirzam", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:96:226a:3a84:c3d8:dba8" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirzam", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.181" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirzam", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:96:7326:32c4:28fb:e568" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Mirzam", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.102.182" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ogma", "hostname": "de.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:20:2b:fbca:14fa:873e:4051" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ogma", "hostname": "de.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.189.112.18" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ogma", "hostname": "de3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:2b:d428:2f9d:4c0a:77b8" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ogma", "hostname": "de3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.189.112.21" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ogma", "hostname": "de4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:20:2b:7729:f273:43b9:ac98" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "server_name": "Ogma", "hostname": "de4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.189.112.22" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "server_name": "Minchir", "hostname": "ie.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:88:82:9a09:c44:b107:b4e9" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "server_name": "Minchir", "hostname": "ie.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "146.70.94.2" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "server_name": "Minchir", "hostname": "ie3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:88:82:2d52:54b8:3cac:f460" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "server_name": "Minchir", "hostname": "ie3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.94.5" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "server_name": "Minchir", "hostname": "ie4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:88:82:600e:6ed9:495b:57d7" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "server_name": "Minchir", "hostname": "ie4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.94.6" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Ainalrami", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:96:e2ec:6fe7:32b6:9cd6" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Ainalrami", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "45.87.213.82" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Ainalrami", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:96:f2f:2a9a:97a5:85ec" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Ainalrami", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "45.87.213.85" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Ainalrami", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:96:b6e1:1f94:3b03:ddb1" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Ainalrami", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "45.87.213.86" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Albaldah", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:ca:3ad8:8644:96a6:af07" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Albaldah", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "146.70.76.42" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Albaldah", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:ca:26f1:427b:b581:da6b" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Albaldah", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.76.45" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Albaldah", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:ca:595e:8e3c:d86e:4f7" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Albaldah", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.76.46" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Bharani", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:c9:1b4a:ae20:2a46:c924" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Bharani", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "146.70.76.34" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Bharani", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:c9:f9ca:4c15:a65c:a3e1" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Bharani", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.76.37" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Bharani", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:c9:f194:8d7a:3065:a3b0" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Bharani", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.76.38" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Biham", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:47:4ee1:cdb5:f557:af47" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Biham", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.120.210.210" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Biham", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:47:5111:20cb:5fef:56c6" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Biham", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.210.213" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Biham", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:47:9aa3:223e:5855:f5d6" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Biham", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.210.214" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Fleed", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:2:d7fb:2673:f554:6a5e" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Fleed", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "217.138.252.122" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Fleed", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:2:3158:5f3e:e17f:87fc" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Fleed", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "217.138.252.125" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Fleed", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:2:5ac0:4030:9411:2802" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Fleed", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "217.138.252.126" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Iskandar", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:8:1268:44e:9318:a772" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Iskandar", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "82.102.28.106" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Iskandar", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:8:c8fe:8acd:4880:8d64" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Iskandar", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.28.109" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Iskandar", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:8:6e2e:89db:741:eecb" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Iskandar", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.28.110" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Okab", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:48:80d0:7484:9c02:3800" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Okab", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.120.210.218" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Okab", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:48:3fca:64b4:5472:7b27" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Okab", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.210.221" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Okab", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:48:367b:f5ef:9f5c:15f" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Okab", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.120.210.222" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Taphao", "hostname": "jp.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:40:12:368d:8acf:125d:8d69" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Taphao", "hostname": "jp.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "193.148.16.210" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Taphao", "hostname": "jp3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:12:a578:168a:48eb:3b95" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Taphao", "hostname": "jp3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.148.16.213" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Taphao", "hostname": "jp4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:40:12:9757:de3b:4967:7d25" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "server_name": "Taphao", "hostname": "jp4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.148.16.214" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Felis", "hostname": "lv.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a02:4840:2:226:fb67:aedb:24aa:1132" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Felis", "hostname": "lv.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "46.183.217.98" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Felis", "hostname": "lv3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:226:cb2d:9bdf:4fc8:7f2" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Felis", "hostname": "lv3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "46.183.217.100" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Felis", "hostname": "lv4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:226:1f25:a667:d999:a795" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Felis", "hostname": "lv4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "46.183.217.101" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Meissa", "hostname": "lv.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a02:4840:2:238:1899:59ea:5b22:45dc" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Meissa", "hostname": "lv.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "109.248.148.242" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Meissa", "hostname": "lv3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:238:4cd3:f033:ece5:5b0a" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Meissa", "hostname": "lv3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "109.248.148.244" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Meissa", "hostname": "lv4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:238:ea40:7f5e:53c5:7b0" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Meissa", "hostname": "lv4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "109.248.148.245" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Phact", "hostname": "lv.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a02:4840:2:237:9487:5d:6cf8:e1a4" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Phact", "hostname": "lv.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "46.183.218.146" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Phact", "hostname": "lv3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:237:a1fb:cb4e:7bc4:34d8" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Phact", "hostname": "lv3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "46.183.218.148" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Phact", "hostname": "lv4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:237:b6db:30d5:1d92:40fb" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Phact", "hostname": "lv4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "46.183.218.149" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Schedir", "hostname": "lv.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a02:4840:2:239:104f:d330:da5b:78f5" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Schedir", "hostname": "lv.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "84.38.135.2" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Schedir", "hostname": "lv3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:239:5837:4b2:a15c:3e4c" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Schedir", "hostname": "lv3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "84.38.135.4" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Schedir", "hostname": "lv4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a02:4840:2:239:9ae5:7b53:15c3:eb06" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "server_name": "Schedir", "hostname": "lv4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "84.38.135.5" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alchiba", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:19:8893:6bd5:2100:e298" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alchiba", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.180" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alchiba", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:19:7bf4:e654:150e:ab82" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alchiba", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.183" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alchiba", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:19:72c9:e006:1e27:c1ba" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alchiba", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.184" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alcyone", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:24:a413:5ebd:c707:c896" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alcyone", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.116" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alcyone", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:24:6cca:8384:e253:7a06" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alcyone", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.119" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alcyone", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:24:fffa:7669:642a:e166" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alcyone", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.120" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aljanah", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1111:c424:6a46:2d7f:e74a" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aljanah", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.170" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aljanah", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1111:c591:12bd:c401:e819" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aljanah", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.173" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aljanah", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1111:e737:d280:709c:2e1d" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aljanah", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.174" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphard", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a19:a85d:ab42:5a64:356d" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphard", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.199" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphard", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a19:14c6:1:cc77:9ce9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphard", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.202" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphard", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a19:ec92:7e10:b10b:311c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphard", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.203" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphecca", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a18:8388:c010:29e2:f0b3" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphecca", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.194" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphecca", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a18:5f0e:f803:bdfb:990c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphecca", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.197" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphecca", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a18:8270:b974:cc65:9211" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphecca", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.198" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alpheratz", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1212:bb81:398d:be57:5862" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alpheratz", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.242" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alpheratz", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1212:b6c0:ce3e:c42d:28ff" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alpheratz", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.245" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alpheratz", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1212:6b1e:c39:8bd:14d9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alpheratz", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.246" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphirk", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a22:492d:1cbd:c5aa:5ee3" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphirk", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.214" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphirk", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a22:bbd9:de4e:f4b:84a2" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphirk", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.217" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphirk", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a22:c6c5:5d39:54a2:bbf8" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alphirk", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.218" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alrai", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:29:63e7:28f7:d677:bc91" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alrai", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.78" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alrai", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:29:1636:4986:4c28:ca88" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alrai", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.81" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alrai", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:29:1354:d6fb:b5c1:7a50" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alrai", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.82" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alshat", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:37:801b:661c:47b5:7b5f" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alshat", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.4" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alshat", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:37:98e9:10:e8d6:d4d8" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alshat", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.7" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alshat", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:37:1de2:6a0f:a5cd:d88f" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alshat", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.8" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alterf", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:2:587c:48ab:9c4c:3e58" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alterf", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.169" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alterf", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:2:60aa:96cd:7e99:dcd" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alterf", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.172" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alterf", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:2:5384:303b:6bb8:ac44" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alterf", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.173" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alzirr", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a20:4ecc:3a41:7adb:f632" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alzirr", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.204" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alzirr", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a20:5860:e135:af08:94c2" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alzirr", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.207" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alzirr", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a20:d5b6:2a67:7784:c7b7" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Alzirr", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.208" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Ancha", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:16:f876:b7fb:a4dc:613d" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Ancha", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.164" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Ancha", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:16:46b2:3237:652b:4584" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Ancha", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.167" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Ancha", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:16:2570:ade3:292f:f2fe" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Ancha", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.168" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Andromeda", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:46:bace:c512:7a73:fdc8" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Andromeda", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.228" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Andromeda", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:46:7ed0:3ba6:ba90:6c6b" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Andromeda", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.231" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Andromeda", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:46:c942:50ff:977e:5a61" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Andromeda", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.232" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Anser", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:1911:dfe8:8ae6:5ae7:bf7e" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Anser", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.186.18" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Anser", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:1911:97d2:d489:5267:5e6e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Anser", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.21" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Anser", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:1911:a8c0:6dba:ff3a:71f4" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Anser", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.22" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Asellus", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a21:d76d:58a7:1b12:c79d" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Asellus", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.209" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Asellus", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a21:b752:a4b3:ebaf:1614" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Asellus", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.212" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Asellus", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a21:751d:64f9:71e4:5e03" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Asellus", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.213" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aspidiske", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1101:2c68:6c38:1f47:c621" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aspidiske", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.194" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aspidiske", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1101:421c:bbb6:d39f:f91c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aspidiske", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.197" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aspidiske", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1101:2141:817d:cef3:5311" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Aspidiske", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.198" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Atik", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:38:f845:34ab:88a9:ee3d" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Atik", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Atik", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:38:397a:7d3:3124:9dc3" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Atik", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.12" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Atik", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:38:23e6:624b:1d5:9335" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Atik", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.13" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Canis", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:52:de5e:a549:85d6:7ce0" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Canis", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.218" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Canis", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:52:6fe6:1b06:cf66:b79c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Canis", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.221" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Canis", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:52:27e:cda6:7718:b18e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Canis", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.222" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Capella", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:bbbb:6895:15dd:75c0:cc0a" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Capella", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.138" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Capella", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:bbbb:b07a:c2e:d3fe:a074" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Capella", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.141" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Capella", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:bbbb:88b1:167d:93be:e585" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Capella", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.142" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Caph", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:18:f3eb:d923:5818:7e13" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Caph", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.169" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Caph", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:18:5ac5:3314:8260:3523" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Caph", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.172" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Caph", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:18:f9df:11aa:ce10:952e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Caph", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.173" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Celaeno", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:12:260b:e1ba:da6e:503b" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Celaeno", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.68" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Celaeno", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:12:62e5:f415:5aee:5632" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Celaeno", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.71" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Celaeno", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:12:a912:7997:679c:60a6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Celaeno", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.72" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Chara", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a23:819a:3845:c56b:4176" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Chara", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.219" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Chara", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a23:a62b:b2af:1770:f465" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Chara", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.222" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Chara", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a23:6c11:c840:c42a:2a38" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Chara", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.223" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Comae", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:2427:6120:4f03:ee61:bc16" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Comae", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.186.162" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Comae", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2427:62d8:873d:55e4:a4d" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Comae", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.165" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Comae", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2427:2ad7:4c2b:5338:2312" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Comae", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.166" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Crater", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:55:aac9:ec32:f385:e6af" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Crater", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.14" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Crater", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:55:f5d0:88df:14b8:45fc" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Crater", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.17" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Crater", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:55:2127:e0b4:deb:c5aa" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Crater", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.18" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Cygnus", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:49:4958:5797:6ca3:7b01" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Cygnus", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.243" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Cygnus", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:49:cee8:8539:eb6:2633" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Cygnus", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.246" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Cygnus", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:49:95e2:979b:5ad5:acc7" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Cygnus", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.247" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Dalim", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:2838:d65a:1aea:b85f:ba9b" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Dalim", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.210" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Dalim", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2838:2ec2:d4c7:9b9c:9b95" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Dalim", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.213" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Dalim", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2838:f6d5:ddc:1be9:b29f" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Dalim", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.214" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Diphda", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1:f617:fb36:c2fc:b12a" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Diphda", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.164" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Diphda", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1:1c5b:4c60:d126:8ad5" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Diphda", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.167" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Diphda", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1:6054:ef81:b787:2f52" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Diphda", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.168" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Edasich", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:51:3623:6c3b:102f:1bb0" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Edasich", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.210" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Edasich", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:51:4a50:89b7:f8c1:1943" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Edasich", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.213" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Edasich", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:51:9528:fb9:3102:4a7a" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Edasich", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.214" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Elnath", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:2329:e5f:35d4:4404:ef9f" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Elnath", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.186.39" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Elnath", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2329:cf6c:1a64:36c3:d8f" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Elnath", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.42" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Elnath", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2329:189d:8b46:414b:7fc6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Elnath", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.43" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Eltanin", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:cccc:77c3:d29c:6866:bf5f" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Eltanin", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.146" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Eltanin", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:cccc:d09c:258d:5606:a5fe" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Eltanin", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.149" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Eltanin", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:cccc:1c34:7e0b:dc89:7a7d" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Eltanin", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.150" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Garnet", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:28:954d:b058:9910:9359" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Garnet", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.73" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Garnet", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:28:2857:2aa3:4f9f:10e4" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Garnet", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.76" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Garnet", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:28:6671:1594:b03:75f" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Garnet", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.77" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gianfar", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:2a:9029:4313:5ab0:b295" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gianfar", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.100" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gianfar", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:2a:d462:e87d:f991:40b7" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gianfar", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.103" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gianfar", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:2a:d9f:931a:80b5:2314" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gianfar", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.104" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gienah", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:32:eacf:9278:e835:706d" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gienah", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.93" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gienah", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:32:729f:5efe:fdc9:6a8c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gienah", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.96" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gienah", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:32:b03e:51a4:1fba:6567" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Gienah", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.97" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hassaleh", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:44:56:9663:8c15:434" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hassaleh", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.39" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hassaleh", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:44:a01e:d1ec:1f2:569" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hassaleh", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.42" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hassaleh", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:44:da97:aa89:2b5:6449" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hassaleh", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.43" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Horologium", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:53:7606:2294:c831:199a" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Horologium", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.4" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Horologium", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:53:fb26:6:808e:1af3" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Horologium", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.7" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Horologium", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:53:7263:21de:a64d:11ce" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Horologium", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.8" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hyadum", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:43:118f:9a4d:f657:84bc" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hyadum", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.34" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hyadum", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:43:fa9c:f373:dd9d:328" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hyadum", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.37" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hyadum", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:43:d1e6:37a:4cc5:3853" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hyadum", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.38" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hydrus", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:54:cbd3:a081:844f:51cb" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hydrus", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hydrus", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:54:6f94:29e4:55c6:bd1c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hydrus", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.12" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hydrus", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:54:2f21:670:8b15:169c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Hydrus", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.13" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Jabbah", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:1936:ecb4:560a:11c0:9616" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Jabbah", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.186.23" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Jabbah", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:1936:3ec2:989e:875f:31a9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Jabbah", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.26" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Jabbah", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:1936:95bb:b395:345b:ea92" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Jabbah", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.27" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kajam", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:17:559f:bc01:4a0b:38b0" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kajam", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.84" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kajam", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:17:902b:1d37:c2a6:f611" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kajam", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.87" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kajam", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:17:f895:acc:42b8:9bf" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kajam", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.88" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kocab", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:11:36de:7576:8bb7:f679" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kocab", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.180" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kocab", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:11:8e36:2ae7:895f:a750" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kocab", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.183" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kocab", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:11:aed1:73d0:cc7f:a8dc" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Kocab", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.184" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Larawag", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1010:69af:95fa:4f45:5483" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Larawag", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.178" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Larawag", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1010:c605:13fd:8817:ea47" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Larawag", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.181" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Larawag", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1010:2321:240:dd97:9f45" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Larawag", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.182" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Luhman", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:2429:ce5c:4a68:65d1:f2ca" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Luhman", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.186.167" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Luhman", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2429:a53d:15e4:f299:703" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Luhman", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.170" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Luhman", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2429:dd04:a55:c742:c801" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Luhman", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.171" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Maasym", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:34:5e9a:62db:20c7:365c" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Maasym", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.103" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Maasym", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:34:c9a:4741:fb26:a732" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Maasym", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.106" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Maasym", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:34:f876:c501:12d9:955f" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Maasym", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.107" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Matar", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a24:d063:dc07:bfbf:ad9c" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Matar", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.224" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Matar", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a24:fa8e:3d94:7292:f00e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Matar", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.227" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Matar", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a24:db60:c5df:21d8:ee62" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Matar", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.228" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Melnick", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:eeee:3806:8681:cc0f:fff4" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Melnick", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.162" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Melnick", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:eeee:cee4:e14f:289b:fc03" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Melnick", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.165" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Melnick", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:eeee:a80f:5c4d:bdc0:370d" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Melnick", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.166" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Menkent", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:88:237c:f86f:2662:84a6" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Menkent", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.176.134" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Menkent", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:88:65db:a2fb:8419:e15e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Menkent", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.176.140" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Menkent", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:88:9f4a:7bcf:6a0f:bc00" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Menkent", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.176.141" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Merga", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:42:3891:bb85:78df:984" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Merga", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.29" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Merga", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:42:efac:2ed7:d1db:755c" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Merga", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.32" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Merga", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:42:41f:dac6:f08b:a6ed" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Merga", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.33" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Mirach", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:27:a25b:9b24:661:38eb" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Mirach", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.68" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Mirach", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:27:6058:f06:87bd:8396" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Mirach", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.71" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Mirach", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:27:e008:9772:9a50:556a" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Mirach", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.72" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Miram", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:31:d489:331e:bd10:fa04" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Miram", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.88" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Miram", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:31:5c9d:417b:4b59:337" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Miram", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.91" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Miram", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:31:a2a0:e500:47f5:14a7" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Miram", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.92" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muhlifain", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1414:dd22:1f73:62ba:917" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muhlifain", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.202" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muhlifain", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1414:f3e3:2b3e:f599:26a0" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muhlifain", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.205" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muhlifain", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1414:7541:6c01:3452:ba8f" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muhlifain", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.206" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muscida", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:5:9d:b529:46dd:97c3" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muscida", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.153" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muscida", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:5:c3f2:a35b:10ce:5e53" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muscida", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.156" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muscida", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:5:c116:3c20:d3a:baeb" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Muscida", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.157" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Musica", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:50:7c70:8611:c3d4:4ad5" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Musica", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.248" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Musica", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:50:36:8f37:ebb9:c75e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Musica", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.251" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Musica", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:50:1fdc:2bca:7f4f:86de" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Musica", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.252" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Nash", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:41:ecca:3296:1054:804e" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Nash", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.24" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Nash", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:41:5fc:e9c5:4a11:86b9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Nash", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.27" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Nash", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:41:bd2b:d6a4:aa27:ff8e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Nash", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.28" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Orion", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:48:6802:1269:faa0:14a0" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Orion", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.238" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Orion", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:48:8aae:32d1:a3e1:894a" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Orion", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.241" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Orion", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:48:a851:8e4e:a689:6674" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Orion", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.242" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Phaet", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a25:6b7c:a435:93a7:fc12" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Phaet", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.229" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Phaet", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a25:2a92:45f5:9035:6032" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Phaet", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.232" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Phaet", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a25:4a60:bc90:1337:c507" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Phaet", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.233" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piautos", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:99:5294:9bb7:8fe7:b255" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piautos", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.178.166" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piautos", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:99:dc6f:5902:eea5:8e43" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piautos", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.178.169" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piautos", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:99:1276:b9a3:2b0e:a241" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piautos", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.178.170" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piscium", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:aaaa:5dce:776c:fa29:e227" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piscium", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.130" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piscium", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:aaaa:311b:1db2:d8ab:5967" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piscium", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.133" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piscium", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:aaaa:9916:4fb:8e5f:3e93" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Piscium", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.134" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pleione", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:8:7cdd:c8f0:208a:a6c0" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pleione", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.148" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pleione", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:8:cb15:cd59:8603:230" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pleione", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.151" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pleione", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:8:4f8d:4e26:8217:2a34" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pleione", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.152" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pyxis", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:47:a1a1:7fe0:f3d3:6900" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pyxis", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.233" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pyxis", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:47:3945:3974:9f70:4e43" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pyxis", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.236" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pyxis", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:47:b7e6:1020:aa99:5527" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Pyxis", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.237" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Rukbat", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:3a:7846:1698:644a:f794" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Rukbat", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.83" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Rukbat", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:3a:404b:8023:f06f:c9a7" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Rukbat", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.86" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Rukbat", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:3a:2107:ac45:8bea:d885" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Rukbat", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.87" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sadr", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:7a26:23d9:8019:fdf1:dfc8" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sadr", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.187.234" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sadr", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a26:840d:35ca:d39b:7d65" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sadr", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.237" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sadr", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:7a26:5b47:455c:8e8f:7984" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sadr", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.187.238" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Salm", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:4a:7919:e379:a5a4:bfda" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Salm", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.19" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Salm", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:4a:66a3:65a1:d1d5:e86b" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Salm", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.22" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Salm", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:4a:189c:e096:21e:ca6e" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Salm", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.23" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Scuti", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:dddd:1fc:e122:2dc8:9377" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Scuti", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.154" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Scuti", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:dddd:e685:18e2:17fd:c42b" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Scuti", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.157" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Scuti", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:dddd:59ab:78fe:39d7:f8bb" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Scuti", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.158" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sheliak", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:2330:6c2d:ae93:7dc3:4a73" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sheliak", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.186.34" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sheliak", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2330:f0c8:18af:75f6:baec" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sheliak", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.37" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sheliak", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2330:8a48:66ef:74a1:2fb0" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Sheliak", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.38" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Situla", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:39:1e5d:c299:3e8b:f26c" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Situla", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.14" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Situla", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:39:ebff:5ba1:f41b:fab0" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Situla", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.17" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Situla", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:39:d3a9:6767:1c31:2aa" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Situla", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.18" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Subra", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:33:92d6:e4ab:4c6b:140f" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Subra", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.162.98" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Subra", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:33:d704:c857:4207:c202" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Subra", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.101" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Subra", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:33:2be6:88b:a705:448b" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Subra", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.162.102" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Suhail", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1001:15e5:255f:91b1:acf2" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Suhail", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.186" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Suhail", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1001:ec33:a378:62ad:7300" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Suhail", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.189" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Suhail", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1001:7019:a8c4:16cc:36ee" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Suhail", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.190" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Talitha", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:6:78ae:4387:607b:1c31" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Talitha", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.137" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Talitha", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:6:f60e:9883:2474:478f" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Talitha", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.140" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Talitha", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:6:34ec:1a83:d7a2:d993" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Talitha", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.141" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tarazed", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:4:23d6:1351:861c:d5a9" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tarazed", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.132" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tarazed", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:4:67ed:f103:150d:105d" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tarazed", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.135" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tarazed", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:4:e2fd:b74f:bc7c:df54" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tarazed", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.136" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tiaki", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:1616:eecf:fa10:bebc:3f8" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tiaki", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "134.19.179.234" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tiaki", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1616:4380:8834:bddf:3f21" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tiaki", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.237" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tiaki", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:1616:431:92b6:e9a:2bb0" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tiaki", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "134.19.179.238" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tianyi", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:1337:2430:644c:e7f6:5cf7:562b" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tianyi", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.186.172" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tianyi", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2430:463e:d601:697b:a2f0" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tianyi", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.175" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tianyi", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:1337:2430:e19a:8f8b:4174:75f3" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Tianyi", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.186.176" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Zibal", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1678:2470:3:3631:b8e:fa96:434" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Zibal", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "213.152.161.148" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Zibal", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:3:dbe1:c320:4986:a891" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Zibal", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.151" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Zibal", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1678:2470:3:1e35:d062:9b5b:33a9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Alblasserdam", "server_name": "Zibal", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "213.152.161.152" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Taiyangshou", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:dd0:0:93:b932:ae6f:f30b:1ce5" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Taiyangshou", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "94.228.209.178" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Taiyangshou", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:0:93:8c7c:472e:6d8f:fa37" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Taiyangshou", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "94.228.209.180" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Taiyangshou", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:0:93:9b4e:7225:4bd8:d87a" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Taiyangshou", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "94.228.209.181" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Vindemiatrix", "hostname": "nl.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:dd0:0:94:d38d:8e01:53c2:dd0e" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Vindemiatrix", "hostname": "nl.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "94.228.209.210" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Vindemiatrix", "hostname": "nl3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:0:94:8efc:6596:8519:64be" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Vindemiatrix", "hostname": "nl3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "94.228.209.212" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Vindemiatrix", "hostname": "nl4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:0:94:337e:1823:4bb6:e65a" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "server_name": "Vindemiatrix", "hostname": "nl4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "94.228.209.213" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Fawaris", "hostname": "nz.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2400:fa80:4:f:3f4:322f:1abd:ede4" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Fawaris", "hostname": "nz.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "103.231.91.58" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Fawaris", "hostname": "nz3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2400:fa80:4:f:1db5:74df:4bb2:c121" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Fawaris", "hostname": "nz3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "103.231.91.61" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Fawaris", "hostname": "nz4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2400:fa80:4:f:a2f2:5a7:b8a6:d930" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Fawaris", "hostname": "nz4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "103.231.91.62" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Mothallah", "hostname": "nz.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2403:7000:4000:1060::5" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Mothallah", "hostname": "nz.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "223.165.69.100" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Mothallah", "hostname": "nz3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2403:7000:4000:1060::7" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Mothallah", "hostname": "nz3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "223.165.69.102" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Mothallah", "hostname": "nz4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2403:7000:4000:1060::8" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Mothallah", "hostname": "nz4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "223.165.69.103" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Theemin", "hostname": "nz.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2403:7000:4000::25" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Theemin", "hostname": "nz.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "202.50.176.4" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Theemin", "hostname": "nz3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2403:7000:4000::27" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Theemin", "hostname": "nz3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "202.50.176.6" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Theemin", "hostname": "nz4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2403:7000:4000::28" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Theemin", "hostname": "nz4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "202.50.176.7" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Tianguan", "hostname": "nz.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2403:7000:4000:1040::4" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Tianguan", "hostname": "nz.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "223.165.69.68" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Tianguan", "hostname": "nz3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2403:7000:4000:1040::6" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Tianguan", "hostname": "nz3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "223.165.69.70" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Tianguan", "hostname": "nz4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2403:7000:4000:1040::7" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "server_name": "Tianguan", "hostname": "nz4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "223.165.69.71" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Camelopardalis", "hostname": "no.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:38:21:f50:6e6a:4419:b1de" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Camelopardalis", "hostname": "no.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "82.102.27.194" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Camelopardalis", "hostname": "no3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:21:5956:4255:41cb:da30" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Camelopardalis", "hostname": "no3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.27.197" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Camelopardalis", "hostname": "no4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:21:d4e4:add8:99:3fd1" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Camelopardalis", "hostname": "no4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.27.198" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Cepheus", "hostname": "no.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:38:22:9f73:11d5:96d8:f0bc" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Cepheus", "hostname": "no.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "82.102.27.170" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Cepheus", "hostname": "no3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:22:4340:77ed:b03a:e954" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Cepheus", "hostname": "no3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.27.173" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Cepheus", "hostname": "no4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:22:3cfe:32ad:92e0:4ceb" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Cepheus", "hostname": "no4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.27.174" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Fomalhaut", "hostname": "no.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:38:3:b8e5:e794:cf69:4139" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Fomalhaut", "hostname": "no.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.206.225.50" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Fomalhaut", "hostname": "no3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:3:ee14:ac76:6ff7:136f" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Fomalhaut", "hostname": "no3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.206.225.53" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Fomalhaut", "hostname": "no4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:3:d567:a112:313e:7f6b" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Fomalhaut", "hostname": "no4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.206.225.54" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Gemini", "hostname": "no.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:38:23:db1b:cad:90c0:c5b3" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Gemini", "hostname": "no.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "82.102.27.162" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Gemini", "hostname": "no3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:23:3295:eb16:e20d:90bc" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Gemini", "hostname": "no3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.27.165" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Gemini", "hostname": "no4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:23:48dc:ce06:9f17:d462" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Gemini", "hostname": "no4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "82.102.27.166" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Ophiuchus", "hostname": "no.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:38:4:47d2:9c39:d8e2:98da" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Ophiuchus", "hostname": "no.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.206.225.58" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Ophiuchus", "hostname": "no3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:4:4f25:c151:3f62:dec6" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Ophiuchus", "hostname": "no3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.206.225.61" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Ophiuchus", "hostname": "no4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:38:4:d11d:2534:27be:f0dc" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "server_name": "Ophiuchus", "hostname": "no4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.206.225.62" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Alamak", "hostname": "ro.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a04:9dc0:c1:53:cff3:6078:912d:4031" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Alamak", "hostname": "ro.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "91.207.102.162" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Alamak", "hostname": "ro3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a04:9dc0:c1:53:d4f2:d93:d52d:8627" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Alamak", "hostname": "ro3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "91.207.102.165" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Alamak", "hostname": "ro4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a04:9dc0:c1:53:fd97:f6a8:9606:1356" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Alamak", "hostname": "ro4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "91.207.102.166" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Canes", "hostname": "ro.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a04:9dc0:c1:131:ec33:2439:2c98:903b" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Canes", "hostname": "ro.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "86.105.9.66" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Canes", "hostname": "ro3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a04:9dc0:c1:131:cf11:24b9:105c:fd16" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Canes", "hostname": "ro3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "86.105.9.69" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Canes", "hostname": "ro4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a04:9dc0:c1:131:1120:9bd7:553f:195a" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Canes", "hostname": "ro4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "86.105.9.70" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Nembus", "hostname": "ro.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:dd0:bbbb:7:33aa:2ba3:3035:fc34" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Nembus", "hostname": "ro.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "37.46.196.18" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Nembus", "hostname": "ro3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:bbbb:7:ed57:7359:8cf0:3290" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Nembus", "hostname": "ro3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.196.20" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Nembus", "hostname": "ro4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:bbbb:7:4846:8e19:12e7:852e" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "server_name": "Nembus", "hostname": "ro4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "37.46.196.21" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Alnitak", "hostname": "rs.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:7d:1e11:7105:2f2:a334:918a" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Alnitak", "hostname": "rs.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "152.89.160.130" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Alnitak", "hostname": "rs3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:7d:1e11:769e:2617:a577:b9c4" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Alnitak", "hostname": "rs3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "152.89.160.133" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Alnitak", "hostname": "rs4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:7d:1e11:3a31:3516:7420:69e5" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Alnitak", "hostname": "rs4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "152.89.160.134" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Marsic", "hostname": "rs.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:7d:41:7ec9:76d3:9223:96e8" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Marsic", "hostname": "rs.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "146.70.111.18" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Marsic", "hostname": "rs3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:7d:41:5947:48ee:cbd2:c8c3" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Marsic", "hostname": "rs3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.111.21" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Marsic", "hostname": "rs4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:7d:41:79cb:753c:3dbb:4e6a" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "server_name": "Marsic", "hostname": "rs4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.111.22" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Auriga", "hostname": "sg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0a:b640:1:3:4bc7:5ce2:aa37:7f12" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Auriga", "hostname": "sg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.200.116.210" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Auriga", "hostname": "sg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:3:fa8:57a8:89fe:cbe9" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Auriga", "hostname": "sg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.213" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Auriga", "hostname": "sg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:3:f1b8:e5d2:5aa3:fdbf" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Auriga", "hostname": "sg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.214" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Azelfafage", "hostname": "sg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:21:37:4b46:4aee:4037:8698" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Azelfafage", "hostname": "sg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "146.70.149.66" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Azelfafage", "hostname": "sg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:21:37:15ad:2d10:c49d:cd79" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Azelfafage", "hostname": "sg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.149.68" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Azelfafage", "hostname": "sg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:21:37:fef1:7efb:d3e5:770e" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Azelfafage", "hostname": "sg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.149.69" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Circinus", "hostname": "sg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0a:b640:1:2:37d1:e955:6117:151e" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Circinus", "hostname": "sg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.200.116.202" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Circinus", "hostname": "sg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:2:8271:420:424f:8efe" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Circinus", "hostname": "sg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.205" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Circinus", "hostname": "sg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:2:5b46:a787:f556:3b6b" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Circinus", "hostname": "sg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.206" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Delphinus", "hostname": "sg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0a:b640:1:4:bc8c:6f80:9d39:d338" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Delphinus", "hostname": "sg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.200.116.218" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Delphinus", "hostname": "sg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:4:245:77d5:936e:5f61" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Delphinus", "hostname": "sg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.221" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Delphinus", "hostname": "sg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:4:59d9:aa3a:eecc:8e1" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Delphinus", "hostname": "sg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.222" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Hydra", "hostname": "sg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0a:b640:1:5:fbe4:e700:c096:b77c" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Hydra", "hostname": "sg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.200.117.130" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Hydra", "hostname": "sg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:5:c0cb:7dc5:5aa7:84c6" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Hydra", "hostname": "sg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.117.133" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Hydra", "hostname": "sg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:5:dd09:d6a8:ea67:9fd7" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Hydra", "hostname": "sg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.117.134" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Luyten", "hostname": "sg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0a:b640:1:c:9770:897a:948b:e484" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Luyten", "hostname": "sg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "92.119.178.2" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Luyten", "hostname": "sg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:c:fd83:58bb:e443:8a8c" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Luyten", "hostname": "sg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "92.119.178.5" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Luyten", "hostname": "sg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:c:b1ae:9d33:b667:9a8f" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Luyten", "hostname": "sg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "92.119.178.6" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Triangulum", "hostname": "sg.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0a:b640:1:0:183e:1c9a:e881:1d46" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Triangulum", "hostname": "sg.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.200.116.130" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Triangulum", "hostname": "sg3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:0:ee2e:8b26:c3d2:5371" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Triangulum", "hostname": "sg3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.133" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Triangulum", "hostname": "sg4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0a:b640:1:0:1ada:98ee:f867:6b91" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "server_name": "Triangulum", "hostname": "sg4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.200.116.134" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "server_name": "Eridanus", "hostname": "es.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:35:11::3" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "server_name": "Eridanus", "hostname": "es.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.183.106.2" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "server_name": "Eridanus", "hostname": "es3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:35:11::5" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "server_name": "Eridanus", "hostname": "es3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.183.106.5" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "server_name": "Eridanus", "hostname": "es4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:35:11::6" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "server_name": "Eridanus", "hostname": "es4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.183.106.6" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Jishui", "hostname": "es.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:23:a9:4a21:419c:ab3:85dd" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Jishui", "hostname": "es.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "130.195.210.106" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Jishui", "hostname": "es3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:23:a9:9b55:17d5:f842:bdfd" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Jishui", "hostname": "es3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "130.195.210.108" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Jishui", "hostname": "es4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:23:a9:62c3:3191:b275:16dc" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Jishui", "hostname": "es4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "130.195.210.109" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Mekbuda", "hostname": "es.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:23:13:ad52:937:4aa0:9315" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Mekbuda", "hostname": "es.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.93.182.170" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Mekbuda", "hostname": "es3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:23:13:f3b9:3ff5:7cc3:2a0b" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Mekbuda", "hostname": "es3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.93.182.173" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Mekbuda", "hostname": "es4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:23:13:5018:fcb1:23f4:59d1" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Mekbuda", "hostname": "es4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.93.182.174" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Taurus", "hostname": "es.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:23:11:f237:6c93:5ca8:c220" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Taurus", "hostname": "es.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "194.99.104.34" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Taurus", "hostname": "es3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:23:11:9819:fd0:4752:7faf" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Taurus", "hostname": "es3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.99.104.37" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Taurus", "hostname": "es4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:23:11:776a:3d38:b55e:8b6f" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "server_name": "Taurus", "hostname": "es4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "194.99.104.38" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Copernicus", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:7142:26:a3f:45d7:1963:738f:a40" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Copernicus", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "79.142.76.243" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Copernicus", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:7142:26:69b0:c974:bc02:d085:9548" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Copernicus", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "79.142.76.246" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Copernicus", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:7142:26:4ba9:3e2e:98bc:6a3f:8645" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Copernicus", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "79.142.76.247" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Lupus", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:7142:2c:8b38:81b5:979:9ec9:7eb5" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Lupus", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "128.127.105.183" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Lupus", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:7142:2c:ff98:850b:32dc:ee4d:6136" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Lupus", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "128.127.105.186" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Lupus", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:7142:2c:7fa4:b436:fa8a:28ea:c26b" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Lupus", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "128.127.105.187" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Norma", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:7142:4a:f517:1b36:30f9:fb4f:7a" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Norma", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "31.3.152.99" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Norma", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:7142:4a:aec:b28c:c295:9d35:9255" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Norma", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "31.3.152.102" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Norma", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:7142:4a:c713:52c6:1b09:c49b:cf94" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Norma", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "31.3.152.103" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Segin", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:dd0:ffff:7:f601:6875:884d:85ca" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Segin", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "94.185.80.226" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Segin", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:ffff:7:d845:9ad9:e8da:8c6" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Segin", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "94.185.80.228" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Segin", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:dd0:ffff:7:ab49:d284:b9b3:f791" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "server_name": "Segin", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "94.185.80.229" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Albali", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:5266:e057:4741:4eab" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Albali", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.149" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Albali", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:8355:c8c2:abff:9973" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Albali", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.170" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Albali", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:f784:2492:bf71:d0f5" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Albali", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.177" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Algorab", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:17a0:9901:1c49:77f5" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Algorab", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.147" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Algorab", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:e98c:b04d:f4e1:5b01" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Algorab", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.198" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Algorab", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:19f8:48ea:38de:93a6" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Algorab", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.199" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alrami", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:b58b:4bda:3aaf:1123" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alrami", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.145" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alrami", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:8817:f0a4:5aab:51d6" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alrami", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.200" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alrami", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:dc6d:7671:ed8c:5a14" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alrami", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.201" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alula", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:dd7a:6003:4fa8:9a5e" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alula", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.151" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alula", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:8e72:2642:bcd:b100" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alula", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.204" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alula", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:c7af:33b5:8a3b:53f" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Alula", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.205" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Atria", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:c838:5fba:2b90:8c7b" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Atria", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.150" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Atria", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:e175:6c2c:5236:a378" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Atria", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.206" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Atria", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:5fad:8a1a:8862:fd4b" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Atria", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.207" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Azmidiske", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:1b34:9d9f:3b6a:4266" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Azmidiske", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.141" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Azmidiske", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:f169:6e02:3df:26cd" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Azmidiske", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.208" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Azmidiske", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:dc9e:4d3c:634d:a337" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Azmidiske", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.209" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Benetnasch", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:1c53:8df6:8f3:1c63" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Benetnasch", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.148" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Benetnasch", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:8886:2a70:30c6:fdff" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Benetnasch", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.210" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Benetnasch", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:e244:b5b7:570f:897c" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Benetnasch", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.211" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Menkab", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:e93c:6680:a365:6f8f" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Menkab", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.143" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Menkab", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:8944:b880:48e1:e02d" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Menkab", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.216" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Menkab", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:c16:50a2:5680:6014" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Menkab", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.217" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Muphrid", "hostname": "se.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a00:1520:27:1:3b4e:42bd:578c:b761" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Muphrid", "hostname": "se.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "62.102.148.146" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Muphrid", "hostname": "se3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:7f63:7281:489d:9cef" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Muphrid", "hostname": "se3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.218" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Muphrid", "hostname": "se4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a00:1520:27:1:f631:b5ea:d6e5:3b5d" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Uppsala", "server_name": "Muphrid", "hostname": "se4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "62.102.148.219" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achernar", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:28:8:c4d0:d13a:3b31:4d" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achernar", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.175.170" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achernar", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:8:a59c:62d3:7664:de71" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achernar", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.173" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achernar", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:8:e160:155f:6fdd:e281" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achernar", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.174" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achird", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:28:3:297a:d23b:d23d:4878" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achird", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.175.34" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achird", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:3:90d7:29d6:7c38:8a36" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achird", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.37" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achird", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:3:39e7:7830:4298:4e8c" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Achird", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.38" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Athebyne", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:125:2:58d8:ee84:b5dd:49cc" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Athebyne", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "86.106.84.162" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Athebyne", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:125:2:25c5:7727:46ad:8235" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Athebyne", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "86.106.84.164" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Athebyne", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:125:2:4698:2198:4b96:77f7" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Athebyne", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "86.106.84.165" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Baiten", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:28:5:b3d6:6f3c:a84c:920a" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Baiten", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.175.50" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Baiten", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:5:4c06:c19e:9601:ba1b" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Baiten", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.53" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Baiten", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:5:266f:3593:dc7d:2071" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Baiten", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.54" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Dorado", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:28:33:ce64:167a:b3a7:a04d" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Dorado", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "195.206.105.226" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Dorado", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:33:d622:dec0:fb22:5772" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Dorado", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "195.206.105.229" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Dorado", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:33:4c2:2e4a:97b9:df1f" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Dorado", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "195.206.105.230" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Hamal", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:28:4:35ea:7d3a:3199:5651" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Hamal", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.175.42" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Hamal", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:4:f8fd:c46b:5492:23ee" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Hamal", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.45" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Hamal", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:4:3d90:2a7c:ac1a:3bc6" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Hamal", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.46" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Sirrah", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:28:7:555d:1c1:9028:69a2" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Sirrah", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "185.156.175.58" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Sirrah", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:7:94fe:8fa6:75b9:2981" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Sirrah", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.61" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Sirrah", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:28:7:4d7b:61d2:9644:d265" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Sirrah", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "185.156.175.62" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Toliman", "hostname": "ch.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:125:1:eb7a:8236:5d04:328b" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Toliman", "hostname": "ch.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "86.106.84.146" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Toliman", "hostname": "ch3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:125:1:547d:a97:db7e:8881" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Toliman", "hostname": "ch3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "86.106.84.148" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Toliman", "hostname": "ch4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:125:1:ea10:bc4a:690f:2b6f" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "server_name": "Toliman", "hostname": "ch4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "86.106.84.149" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia", "city": "Taipei", "server_name": "Sulafat", "hostname": "tw.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2402:9500:8000:8:8f2d:896f:f3bf:b2b2" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia", "city": "Taipei", "server_name": "Sulafat", "hostname": "tw.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "103.230.144.100" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia", "city": "Taipei", "server_name": "Sulafat", "hostname": "tw3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2402:9500:8000:8:c9e9:f991:9986:24e0" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia", "city": "Taipei", "server_name": "Sulafat", "hostname": "tw3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "103.230.144.102" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia", "city": "Taipei", "server_name": "Sulafat", "hostname": "tw4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2402:9500:8000:8:39b6:a8b4:d222:ac4f" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia", "city": "Taipei", "server_name": "Sulafat", "hostname": "tw4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "103.230.144.103" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Amansinaya", "hostname": "gb.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:31:525:ad90:a02c:bce3:1676" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Amansinaya", "hostname": "gb.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "146.70.179.194" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Amansinaya", "hostname": "gb3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:31:525:6a4:a186:5197:9516" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Amansinaya", "hostname": "gb3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.179.196" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Amansinaya", "hostname": "gb4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:31:525:36fc:7e99:9cc1:8117" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Amansinaya", "hostname": "gb4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "146.70.179.197" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Arber", "hostname": "gb.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:31:368:f296:137d:e6d4:7ba2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Arber", "hostname": "gb.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "141.98.100.146" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Arber", "hostname": "gb3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:31:368:e619:164f:9446:ff2e" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Arber", "hostname": "gb3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.100.148" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Arber", "hostname": "gb4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:31:368:7af5:a795:55e3:f9ff" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Arber", "hostname": "gb4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "141.98.100.149" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Baiduri", "hostname": "gb.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:31:369:bb99:fdb4:8079:da08" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Baiduri", "hostname": "gb.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "81.92.203.130" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Baiduri", "hostname": "gb3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:31:369:d549:f809:8cd8:8566" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Baiduri", "hostname": "gb3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "81.92.203.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Baiduri", "hostname": "gb4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:31:369:1f26:9cfc:f9df:a642" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "server_name": "Baiduri", "hostname": "gb4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "81.92.203.133" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Bubup", "hostname": "gb.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:8b:80:3b57:a951:2683:9315" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Bubup", "hostname": "gb.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "89.238.167.130" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Bubup", "hostname": "gb3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:8b:80:bf64:3ffc:edbc:e352" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Bubup", "hostname": "gb3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "89.238.167.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Bubup", "hostname": "gb4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:8b:80:5f4:1251:e1cd:1fde" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Bubup", "hostname": "gb4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "89.238.167.133" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Ceibo", "hostname": "gb.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:8b:81:a152:479:ef18:c769" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Ceibo", "hostname": "gb.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "89.238.167.146" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Ceibo", "hostname": "gb3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:8b:81:2579:3c5c:4ad6:7080" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Ceibo", "hostname": "gb3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "89.238.167.148" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Ceibo", "hostname": "gb4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:8b:81:99a7:7075:b61f:77ff" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Ceibo", "hostname": "gb4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "89.238.167.149" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Chaophraya", "hostname": "gb.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2001:ac8:8b:82:d232:36fb:cde7:23e3" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Chaophraya", "hostname": "gb.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "89.238.167.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Chaophraya", "hostname": "gb3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:8b:82:a900:3cf4:5aea:bd50" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Chaophraya", "hostname": "gb3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "89.238.167.164" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Chaophraya", "hostname": "gb4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2001:ac8:8b:82:f232:1f11:4225:ea6d" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "server_name": "Chaophraya", "hostname": "gb4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "89.238.167.165" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Hercules", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2605:9f80:6000:80:da13:bf15:4ed3:510c" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Hercules", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "64.42.179.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Hercules", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:80:3e18:eab5:1e62:c23c" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Hercules", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.61" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Hercules", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:80:e650:5744:34b8:f317" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Hercules", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Libra", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2605:9f80:6000:81:315:1c4c:1dd9:df8f" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Libra", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "64.42.179.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Libra", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:81:f613:9936:59c3:457d" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Libra", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.69" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Libra", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:81:4a2d:6b0d:aa4:55d7" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Libra", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.70" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Musca", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2605:9f80:6000:78:e46c:8e0d:ee6b:38d7" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Musca", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "64.42.179.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Musca", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:78:341d:f692:13d9:2f47" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Musca", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.45" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Musca", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:78:e6eb:eca6:5a83:ac00" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Musca", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Sculptor", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2605:9f80:6000:77:2b0:4c5e:d735:889f" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Sculptor", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "64.42.179.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Sculptor", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:77:2fd0:79f8:a665:b1b7" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Sculptor", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Sculptor", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:77:f5ed:9314:8e57:a6d0" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Sculptor", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Ursa", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2605:9f80:6000:79:444e:be44:2b14:f669" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Ursa", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "64.42.179.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Ursa", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:79:bc3d:f66:afb8:dc55" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Ursa", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Ursa", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2605:9f80:6000:79:d18b:a37f:dcb:db4a" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Atlanta Georgia", "server_name": "Ursa", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "64.42.179.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Fang", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:0:14:2694:7c8e:1b5:7451" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Fang", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "68.235.48.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Fang", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:14:d85a:dd68:fe7a:5969" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Fang", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.48.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Fang", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:14:9e7a:b10a:b7d5:8d60" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Fang", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.48.170" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Kruger", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:0:16:ffe6:19bd:f8c8:2dc5" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Kruger", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "68.235.35.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Kruger", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:16:4ea6:9202:e2f:55bb" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Kruger", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.35.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Kruger", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:16:44d9:1a4b:1e3a:bbfa" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Kruger", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.36.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Meridiana", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:100:206:2be6:7c5d:bf97:ef18" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Meridiana", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "68.235.35.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Meridiana", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:100:206:9a45:6c03:1fb3:a139" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Meridiana", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.35.253" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Meridiana", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:100:206:128a:edca:e54f:e353" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Meridiana", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.35.254" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Praecipua", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:0:5:29c2:5398:fcda:b96d" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Praecipua", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "68.235.52.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Praecipua", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:5:533c:5df2:8b4b:8846" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Praecipua", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.52.70" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Praecipua", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:5:d635:da2:f7e6:c31c" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Praecipua", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.36.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sadalsuud", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:100:207:7ff:1a7c:76a7:12f5" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sadalsuud", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "68.235.35.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sadalsuud", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:100:207:66cd:3988:432c:49fe" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sadalsuud", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.35.181" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sadalsuud", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:100:207:d84a:4acc:869f:fb72" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sadalsuud", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.35.182" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sneden", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:0:3:d1bb:cc80:ddeb:329c" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sneden", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "68.235.52.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sneden", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:3:559c:bb7d:8991:1556" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sneden", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.52.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sneden", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:3:de5f:cbeb:3370:3d94" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Sneden", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "68.235.52.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Superba", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:0:85:68a3:75b4:13ab:770a" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Superba", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "208.77.22.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Superba", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:85:2676:a640:52fd:9f33" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Superba", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "208.77.22.214" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Superba", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:0:85:dcf2:2ce4:fd2e:5d48" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Chicago Illinois", "server_name": "Superba", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "208.77.22.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Chamaeleon", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:e9a:dc69:49e3:d2c3:9084" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Chamaeleon", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Chamaeleon", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:8ddb:17bb:d1ef:b10d:a80a" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Chamaeleon", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Chamaeleon", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:103b:1e7:7f22:d8cb:78de" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Chamaeleon", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Equuleus", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:71f6:7ed3:2a9d:dbf2:7c60" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Equuleus", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Equuleus", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:aaba:3843:a342:d669:3aa7" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Equuleus", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Equuleus", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:650c:56a7:d4fc:72f6:5080" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Equuleus", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Helvetios", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:a0ba:da8b:684:dcaf:eb42" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Helvetios", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Helvetios", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:2207:9d75:1ad9:29ab:d0db" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Helvetios", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Helvetios", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:8c8e:b02a:1611:4289:afa4" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Helvetios", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.33" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Leo", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:3e8c:66f3:ebb5:d7c:342b" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Leo", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Leo", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:89a8:494c:41c1:7691:8c69" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Leo", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Leo", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:3b43:157c:2a60:1467:ab10" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Leo", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Mensa", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:47f6:bdb8:da66:62ea:570e" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Mensa", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Mensa", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:f103:50af:7bea:4d85:295b" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Mensa", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Mensa", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:6c7a:1622:5c0e:8ff3:1410" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Mensa", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.53" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Pegasus", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:675a:2752:344a:ee03:310a" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Pegasus", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.60" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Pegasus", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:8c8f:4f83:7c62:f8ce:3baf" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Pegasus", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Pegasus", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:2637:f7e2:7851:a7b:9c5" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Pegasus", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.63" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Ran", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:1853:787a:a84a:9001:48cf" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Ran", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.70" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Ran", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:900c:15ec:df72:52c1:f8d" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Ran", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Ran", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:c550:d2c7:b5ea:2cf9:bb9a" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Ran", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.73" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Scutum", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:e385:f1a3:4b56:62ed:a407" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Scutum", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Scutum", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:117a:c84b:fbfa:10f3:872f" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Scutum", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Scutum", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:df08:2a2c:5134:cc1c:b1cb" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Scutum", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Volans", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:dd1:eaa6:2ec7:4719:c40a" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Volans", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Volans", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:529e:6f26:853b:a9e6:50d7" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Volans", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Volans", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:7243:7a9f:cff7:73e4:ee8d" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Volans", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.93" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Vulpecula", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6001:1cf8:3bed:7ca:2b2e:de0e" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Vulpecula", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "204.8.98.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Vulpecula", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:d9a3:3edd:4027:a400:a3b6" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Vulpecula", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Vulpecula", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6001:7f94:208f:44d2:94be:eca7" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Dallas Texas", "server_name": "Vulpecula", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "204.8.98.103" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Sadachbia", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:2000:24:93e1:7280:afe2:edca" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Sadachbia", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.128.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Sadachbia", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:2000:24:18fe:2ed6:34d1:322f" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Sadachbia", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.128.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Sadachbia", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:2000:24:41f7:2c61:b01c:85ec" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Sadachbia", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.128.218" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Torcular", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:2000:23:aaac:19dc:cb88:b12f" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Torcular", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.128.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Torcular", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:2000:23:fcf2:a0f7:1d99:13e4" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Torcular", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.128.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Torcular", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:2000:23:cfd1:1624:53e4:944b" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Denver Colorado", "server_name": "Torcular", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.128.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Fremont California", "server_name": "Aquila", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2620:7:6000:1:4cf7:d125:ec49:5a67" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Fremont California", "server_name": "Aquila", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "23.130.104.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Fremont California", "server_name": "Aquila", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6000:1:af9e:aa4a:1d29:369d" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Fremont California", "server_name": "Aquila", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "23.130.104.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Fremont California", "server_name": "Aquila", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2620:7:6000:1:251c:935a:34a5:b995" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Fremont California", "server_name": "Aquila", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "23.130.104.133" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Maia", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:3000:32:fcc7:ebed:57ce:d05" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Maia", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.129.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Maia", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:32:5ca5:68a0:c556:395c" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Maia", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.129.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Maia", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:32:369a:7f1a:f864:5555" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Maia", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.129.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Revati", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:3000:38:6cd0:1472:8c16:dc00" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Revati", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.129.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Revati", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:38:b445:83c4:bd01:dbcb" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Revati", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.129.125" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Revati", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:38:2c32:f872:dc6e:24ee" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Revati", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.129.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Sarin", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:3000:33:d732:f661:7931:6253" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Sarin", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.129.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Sarin", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:33:415c:3f0f:c0db:65ee" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Sarin", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.129.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Sarin", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:33:6b86:e7c2:2f35:6c6c" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Sarin", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.129.226" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Xamidimura", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:3000:31:41ed:8ac8:86ad:d70c" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Xamidimura", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.129.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Xamidimura", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:31:bd0f:275a:3545:1bd0" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Xamidimura", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.129.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Xamidimura", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:3000:31:cc02:8576:a1b1:adb7" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Los Angeles", "server_name": "Xamidimura", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.129.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Aladfar", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:6:115:3c84:449d:745:1a2a" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Aladfar", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "193.37.252.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Aladfar", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:115:d1c7:8be3:b81c:7f61" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Aladfar", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Aladfar", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:115:9545:70e5:59c1:bad1" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Aladfar", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Ascella", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:6:116:2c72:ab:cb01:9170" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Ascella", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "193.37.252.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Ascella", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:116:6f44:43b4:f142:4fc" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Ascella", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.69" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Ascella", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:116:28ed:b5a2:d58c:50a8" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Ascella", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.70" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Chertan", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:6:119:e70b:b95c:6cba:844" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Chertan", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "193.37.252.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Chertan", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:119:8faf:6e0:f65c:157a" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Chertan", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.165" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Chertan", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:119:4962:e9bb:f89:8237" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Chertan", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.166" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Dziban", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2602:fc48:7:0:b6fe:1123:9c7f:be01" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Dziban", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "45.92.16.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Dziban", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2602:fc48:7:0:26b1:de4a:93e0:719c" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Dziban", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "45.92.16.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Dziban", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2602:fc48:7:0:a4b3:25ec:88fd:1246" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Dziban", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "45.92.16.133" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Elkurud", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:6:118:7198:83e3:8270:2076" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Elkurud", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "193.37.252.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Elkurud", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:118:6f2f:b9f5:4a1d:f28b" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Elkurud", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Elkurud", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:118:7098:ead3:d1:fc06" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Elkurud", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Giausar", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:6:117:b5bc:e71c:50c7:e266" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Giausar", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "193.37.252.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Giausar", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:117:3991:a318:86ca:3498" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Giausar", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Giausar", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:117:e196:f964:18b8:dcec" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Giausar", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "193.37.252.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Meleph", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2a0d:5600:6:114:dfe3:fbc5:65d7:18ea" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Miami", "server_name": "Meleph", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "91.219.214.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Meleph", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:114:2228:eace:f22d:92f9" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Meleph", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "91.219.214.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Meleph", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2a0d:5600:6:114:8be5:d93d:429d:14f" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Miami", "server_name": "Meleph", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "91.219.214.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Muliphein", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:a000:26:434d:dd4e:c8da:fbf8" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Muliphein", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.136.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Muliphein", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:26:7ab4:f998:bad2:1dda" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Muliphein", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.136.238" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Muliphein", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:26:8ef3:e21d:bb40:f889" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Muliphein", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "173.249.217.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Paikauhale", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:a000:28:3e28:c7b7:ed29:29f2" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Paikauhale", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.136.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Paikauhale", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:28:27c6:61fe:b9ba:79ab" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Paikauhale", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.136.254" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Paikauhale", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:28:71bd:41cb:b337:4a77" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Paikauhale", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "173.249.217.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Sadalmelik", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:a000:21:6e94:41a8:f897:e871" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Sadalmelik", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.159.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Sadalmelik", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:21:ad7e:4c78:c82f:757c" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Sadalmelik", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.159.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Sadalmelik", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:21:338b:53bc:9a3f:2d8b" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Sadalmelik", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.159.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Terebellum", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:a000:25:bb53:6f64:ae15:d8b6" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Terebellum", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.136.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Terebellum", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:25:ed56:4d76:d22e:88da" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Terebellum", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.136.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Terebellum", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:25:d3a4:da63:9f88:3699" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Terebellum", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "173.249.217.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unukalhai", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:a000:27:5ad3:35cc:c889:9104" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unukalhai", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.136.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unukalhai", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:27:973f:9d1f:af40:df3b" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unukalhai", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.136.246" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unukalhai", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:27:4141:7c91:d6bd:a96e" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unukalhai", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "173.249.217.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unurgunite", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:a000:22:1760:83c5:abf7:3bd0" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unurgunite", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.159.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unurgunite", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:22:5bbc:39cc:ce7f:390" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unurgunite", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.159.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unurgunite", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:a000:22:13e4:831e:c7a8:dc45" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "New York City", "server_name": "Unurgunite", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.159.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Guniibuu", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:7000:31:6e46:5535:5f46:a21f" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Guniibuu", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.133.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Guniibuu", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:7000:31:2f0:97c2:7575:e9e3" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Guniibuu", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.133.70" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Guniibuu", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:7000:31:e275:d686:7b2:8609" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Guniibuu", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.133.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Khambalia", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:7000:33:8183:909d:4e8e:939a" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Khambalia", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.133.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Khambalia", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:7000:33:3ddb:c857:8df5:50d5" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Khambalia", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.133.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Khambalia", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:7000:33:bc1c:43c7:3480:94d6" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Khambalia", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.133.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Sheratan", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:7000:32:47f8:a3f5:baa2:4755" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Sheratan", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.133.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Sheratan", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:7000:32:b66b:bf09:93cd:a633" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Sheratan", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.133.78" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Sheratan", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:7000:32:ce73:5131:e62a:8a19" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Phoenix Arizona", "server_name": "Sheratan", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.133.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Raleigh North Carolina", "server_name": "Polis", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:4000:29:d67f:cbd5:be88:7d07" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "Raleigh North Carolina", "server_name": "Polis", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.130.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Raleigh North Carolina", "server_name": "Polis", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:4000:29:661b:c962:9cab:d6b7" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Raleigh North Carolina", "server_name": "Polis", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.54.130.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Raleigh North Carolina", "server_name": "Polis", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:4000:29:bb50:38e3:693b:73e3" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "Raleigh North Carolina", "server_name": "Polis", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.130.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Bunda", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:8000:26:1ce2:51b5:2ffa:67f5" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Bunda", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.54.134.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Bunda", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:8000:26:2525:f163:ad6f:63" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Bunda", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.134.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Bunda", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:8000:26:84a9:e5e9:dbe4:a176" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Bunda", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.134.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Imai", "hostname": "us.ipv6.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "2607:9000:8000:27:d8fc:1704:c09:3549" ] }, { "vpn": "wireguard", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Imai", "hostname": "us.vpn.airdns.org", "wgpubkey": "PyLCXAQT8KkM4T+dUsOQfn+Ub3pGxfGlxkIApuig+hk=", "ips": [ "198.44.134.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Imai", "hostname": "us3.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:8000:27:f2c:9a28:8ca7:4421" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Imai", "hostname": "us3.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.134.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Imai", "hostname": "us4.ipv6.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "2607:9000:8000:27:79c9:926b:1820:a9c6" ] }, { "vpn": "openvpn", "country": "United States", "region": "America", "city": "San Jose California", "server_name": "Imai", "hostname": "us4.vpn.airdns.org", "tcp": true, "udp": true, "ips": [ "198.44.134.10" ] } ] }, "cyberghost": { "version": 5, "timestamp": 1766454650, "servers": [ { "vpn": "openvpn", "country": "Albania", "hostname": "87-1-al.cg-dialup.net", "udp": true, "ips": [ "31.171.155.4", "31.171.155.5", "31.171.155.6", "31.171.155.7", "31.171.155.8", "31.171.155.9", "31.171.155.11", "31.171.155.12", "31.171.155.13", "31.171.155.14" ] }, { "vpn": "openvpn", "country": "Albania", "hostname": "97-1-al.cg-dialup.net", "tcp": true, "ips": [ "31.171.155.3", "31.171.155.4", "31.171.155.5", "31.171.155.6", "31.171.155.8", "31.171.155.9", "31.171.155.10", "31.171.155.11", "31.171.155.12", "31.171.155.13" ] }, { "vpn": "openvpn", "country": "Algeria", "hostname": "87-1-dz.cg-dialup.net", "udp": true, "ips": [ "176.125.228.146", "176.125.228.147", "176.125.228.148", "176.125.228.149", "176.125.228.155", "176.125.228.157", "176.125.228.158", "176.125.228.161", "176.125.228.163", "176.125.228.164" ] }, { "vpn": "openvpn", "country": "Algeria", "hostname": "97-1-dz.cg-dialup.net", "tcp": true, "ips": [ "176.125.228.146", "176.125.228.147", "176.125.228.150", "176.125.228.151", "176.125.228.153", "176.125.228.157", "176.125.228.161", "176.125.228.164", "176.125.228.165", "176.125.228.166" ] }, { "vpn": "openvpn", "country": "Andorra", "hostname": "87-1-ad.cg-dialup.net", "udp": true, "ips": [ "173.239.217.10", "173.239.217.12", "173.239.217.14", "173.239.217.25", "173.239.217.27", "173.239.217.31", "173.239.217.35", "173.239.217.37", "173.239.217.52", "173.239.217.53" ] }, { "vpn": "openvpn", "country": "Andorra", "hostname": "97-1-ad.cg-dialup.net", "tcp": true, "ips": [ "173.239.217.8", "173.239.217.9", "173.239.217.10", "173.239.217.13", "173.239.217.23", "173.239.217.28", "173.239.217.37", "173.239.217.39", "173.239.217.42", "173.239.217.53" ] }, { "vpn": "openvpn", "country": "Argentina", "hostname": "87-1-ar.cg-dialup.net", "udp": true, "ips": [ "146.70.38.64", "146.70.38.71", "146.70.38.74", "146.70.39.6", "146.70.39.11", "146.70.39.16", "146.70.39.18", "146.70.39.131", "146.70.39.139", "146.70.39.144" ] }, { "vpn": "openvpn", "country": "Argentina", "hostname": "97-1-ar.cg-dialup.net", "tcp": true, "ips": [ "146.70.39.3", "146.70.39.14", "146.70.39.16", "146.70.39.131", "146.70.39.134", "146.70.39.135", "146.70.39.141", "146.70.39.142", "146.70.39.145", "146.70.39.146" ] }, { "vpn": "openvpn", "country": "Armenia", "hostname": "87-1-am.cg-dialup.net", "udp": true, "ips": [ "185.253.160.131", "185.253.160.136", "185.253.160.137", "185.253.160.138", "185.253.160.139", "185.253.160.141", "185.253.160.146", "185.253.160.150", "185.253.160.152", "185.253.160.156" ] }, { "vpn": "openvpn", "country": "Armenia", "hostname": "97-1-am.cg-dialup.net", "tcp": true, "ips": [ "185.253.160.131", "185.253.160.132", "185.253.160.134", "185.253.160.137", "185.253.160.140", "185.253.160.141", "185.253.160.142", "185.253.160.149", "185.253.160.153", "185.253.160.155" ] }, { "vpn": "openvpn", "country": "Australia", "hostname": "87-1-au.cg-dialup.net", "udp": true, "ips": [ "154.16.81.10", "173.239.194.40", "173.239.194.63", "191.101.210.18", "191.101.210.41", "191.101.210.53", "191.101.210.54", "223.252.16.133", "223.252.16.142", "223.252.16.155" ] }, { "vpn": "openvpn", "country": "Australia", "hostname": "97-1-au.cg-dialup.net", "tcp": true, "ips": [ "173.239.194.41", "173.239.194.57", "173.239.194.58", "173.239.194.59", "191.101.210.31", "191.101.210.32", "191.101.210.64", "223.252.16.138", "223.252.16.150", "223.252.16.153" ] }, { "vpn": "openvpn", "country": "Austria", "hostname": "87-1-at.cg-dialup.net", "udp": true, "ips": [ "37.19.223.5", "37.19.223.30", "37.19.223.109", "37.19.223.214", "37.19.223.218", "37.19.223.226", "37.19.223.230", "37.19.223.231", "37.19.223.239", "37.19.223.247" ] }, { "vpn": "openvpn", "country": "Austria", "hostname": "97-1-at.cg-dialup.net", "tcp": true, "ips": [ "37.19.223.7", "37.19.223.14", "37.19.223.20", "37.19.223.28", "37.19.223.30", "37.19.223.35", "37.19.223.104", "37.19.223.107", "37.19.223.203", "37.19.223.216" ] }, { "vpn": "openvpn", "country": "Bahamas", "hostname": "87-1-bs.cg-dialup.net", "udp": true, "ips": [ "95.181.238.169", "95.181.238.170", "95.181.238.173", "95.181.238.175", "95.181.238.178", "95.181.238.182", "95.181.238.184", "95.181.238.185", "95.181.238.186", "95.181.238.188" ] }, { "vpn": "openvpn", "country": "Bahamas", "hostname": "97-1-bs.cg-dialup.net", "tcp": true, "ips": [ "95.181.238.170", "95.181.238.172", "95.181.238.175", "95.181.238.179", "95.181.238.183", "95.181.238.185", "95.181.238.186", "95.181.238.187", "95.181.238.188", "95.181.238.191" ] }, { "vpn": "openvpn", "country": "Bangladesh", "hostname": "87-1-bd.cg-dialup.net", "udp": true, "ips": [ "64.64.112.9", "64.64.112.10", "64.64.112.16", "64.64.112.19", "64.64.112.23", "98.159.40.136", "98.159.40.140", "98.159.40.145", "98.159.40.148", "98.159.40.153" ] }, { "vpn": "openvpn", "country": "Bangladesh", "hostname": "97-1-bd.cg-dialup.net", "tcp": true, "ips": [ "64.64.112.4", "64.64.112.6", "64.64.112.11", "64.64.112.15", "64.64.112.16", "98.159.40.137", "98.159.40.139", "98.159.40.146", "98.159.40.148", "98.159.40.156" ] }, { "vpn": "openvpn", "country": "Belarus", "hostname": "87-1-by.cg-dialup.net", "udp": true, "ips": [ "45.132.194.15", "45.132.194.16", "45.132.194.17", "45.132.194.18", "45.132.194.20", "45.132.194.21", "45.132.194.22", "45.132.194.23", "45.132.194.24", "45.132.194.25" ] }, { "vpn": "openvpn", "country": "Belarus", "hostname": "97-1-by.cg-dialup.net", "tcp": true, "ips": [ "45.132.194.15", "45.132.194.16", "45.132.194.18", "45.132.194.19", "45.132.194.20", "45.132.194.21", "45.132.194.23", "45.132.194.24", "45.132.194.25", "45.132.194.26" ] }, { "vpn": "openvpn", "country": "Belgium", "hostname": "87-1-be.cg-dialup.net", "udp": true, "ips": [ "146.70.123.152", "181.214.218.143", "181.214.218.154", "181.214.218.166", "181.214.218.185", "181.214.218.199", "181.214.218.205", "181.214.218.224", "181.214.218.225", "181.214.218.236" ] }, { "vpn": "openvpn", "country": "Belgium", "hostname": "97-1-be.cg-dialup.net", "tcp": true, "ips": [ "181.214.218.138", "181.214.218.155", "181.214.218.192", "181.214.218.201", "181.214.218.212", "181.214.218.236", "181.214.218.238", "181.214.218.239", "181.214.218.252", "181.214.218.253" ] }, { "vpn": "openvpn", "country": "Bolivia", "hostname": "87-1-bo.cg-dialup.net", "udp": true, "ips": [ "45.154.153.4", "45.154.153.6", "45.154.153.8", "45.154.153.12", "45.154.153.17", "45.154.153.19", "45.154.153.21", "45.154.153.27", "45.154.153.29", "45.154.153.30" ] }, { "vpn": "openvpn", "country": "Bolivia", "hostname": "97-1-bo.cg-dialup.net", "tcp": true, "ips": [ "45.154.153.4", "45.154.153.10", "45.154.153.13", "45.154.153.14", "45.154.153.15", "45.154.153.17", "45.154.153.21", "45.154.153.24", "45.154.153.26", "45.154.153.29" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "hostname": "87-1-ba.cg-dialup.net", "udp": true, "ips": [ "98.159.36.4", "98.159.36.7", "98.159.36.8", "98.159.36.9", "98.159.36.14", "98.159.36.16", "98.159.36.18", "98.159.36.19", "98.159.36.25", "98.159.36.27" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "hostname": "97-1-ba.cg-dialup.net", "tcp": true, "ips": [ "98.159.36.3", "98.159.36.7", "98.159.36.8", "98.159.36.9", "98.159.36.12", "98.159.36.14", "98.159.36.16", "98.159.36.21", "98.159.36.25", "98.159.36.27" ] }, { "vpn": "openvpn", "country": "Brazil", "hostname": "87-1-br.cg-dialup.net", "udp": true, "ips": [ "188.241.177.40", "188.241.177.42", "188.241.177.45", "188.241.177.118", "188.241.177.135", "188.241.177.139", "188.241.177.147", "188.241.177.151", "188.241.177.154", "188.241.177.157" ] }, { "vpn": "openvpn", "country": "Brazil", "hostname": "97-1-br.cg-dialup.net", "tcp": true, "ips": [ "188.241.177.35", "188.241.177.36", "188.241.177.37", "188.241.177.39", "188.241.177.43", "188.241.177.46", "188.241.177.122", "188.241.177.124", "188.241.177.149", "188.241.177.156" ] }, { "vpn": "openvpn", "country": "Bulgaria", "hostname": "87-1-bg.cg-dialup.net", "udp": true, "ips": [ "156.146.55.159", "156.146.55.167", "156.146.55.168", "156.146.55.172", "156.146.55.173", "156.146.55.175", "156.146.55.176", "156.146.55.178", "156.146.55.181", "156.146.55.185" ] }, { "vpn": "openvpn", "country": "Bulgaria", "hostname": "97-1-bg.cg-dialup.net", "tcp": true, "ips": [ "156.146.55.163", "156.146.55.164", "156.146.55.165", "156.146.55.167", "156.146.55.170", "156.146.55.171", "156.146.55.172", "156.146.55.178", "156.146.55.181", "156.146.55.184" ] }, { "vpn": "openvpn", "country": "Cambodia", "hostname": "87-1-kh.cg-dialup.net", "udp": true, "ips": [ "188.215.235.36", "188.215.235.41", "188.215.235.43", "188.215.235.44", "188.215.235.47", "188.215.235.49", "188.215.235.53", "188.215.235.54", "188.215.235.55", "188.215.235.58" ] }, { "vpn": "openvpn", "country": "Cambodia", "hostname": "97-1-kh.cg-dialup.net", "tcp": true, "ips": [ "188.215.235.36", "188.215.235.37", "188.215.235.40", "188.215.235.41", "188.215.235.42", "188.215.235.44", "188.215.235.47", "188.215.235.48", "188.215.235.49", "188.215.235.58" ] }, { "vpn": "openvpn", "country": "Canada", "hostname": "87-1-ca.cg-dialup.net", "udp": true, "ips": [ "5.181.233.77", "66.56.82.20", "66.56.82.31", "84.247.105.61", "84.247.105.66", "84.247.105.108", "84.247.105.142", "84.247.105.144", "179.61.197.131", "181.214.153.22" ] }, { "vpn": "openvpn", "country": "Canada", "hostname": "97-1-ca.cg-dialup.net", "tcp": true, "ips": [ "5.181.233.74", "66.56.82.7", "66.56.82.8", "66.56.82.10", "66.56.82.21", "84.247.105.110", "179.61.197.130", "181.214.153.30", "181.214.153.35", "181.214.153.36" ] }, { "vpn": "openvpn", "country": "Chile", "hostname": "87-1-cl.cg-dialup.net", "udp": true, "ips": [ "146.70.11.4", "146.70.11.6", "146.70.11.7", "146.70.11.9", "146.70.11.11", "146.70.11.14", "146.70.11.56", "146.70.11.58", "146.70.11.59", "146.70.11.66" ] }, { "vpn": "openvpn", "country": "Chile", "hostname": "97-1-cl.cg-dialup.net", "tcp": true, "ips": [ "146.70.11.7", "146.70.11.11", "146.70.11.55", "146.70.11.56", "146.70.11.57", "146.70.11.58", "146.70.11.60", "146.70.11.62", "146.70.11.63", "146.70.11.65" ] }, { "vpn": "openvpn", "country": "China", "hostname": "87-1-cn.cg-dialup.net", "udp": true, "ips": [ "188.241.80.132", "188.241.80.133", "188.241.80.134", "188.241.80.135", "188.241.80.136", "188.241.80.137", "188.241.80.138", "188.241.80.139", "188.241.80.140", "188.241.80.142" ] }, { "vpn": "openvpn", "country": "China", "hostname": "97-1-cn.cg-dialup.net", "tcp": true, "ips": [ "188.241.80.131", "188.241.80.132", "188.241.80.133", "188.241.80.134", "188.241.80.135", "188.241.80.136", "188.241.80.139", "188.241.80.140", "188.241.80.141", "188.241.80.142" ] }, { "vpn": "openvpn", "country": "Colombia", "hostname": "87-1-co.cg-dialup.net", "udp": true, "ips": [ "154.47.16.131", "154.47.16.134", "154.47.16.137", "154.47.16.144", "154.47.16.145", "154.47.16.150", "154.47.16.155", "154.47.16.222", "154.47.16.228", "154.47.16.238" ] }, { "vpn": "openvpn", "country": "Colombia", "hostname": "97-1-co.cg-dialup.net", "tcp": true, "ips": [ "154.47.16.134", "154.47.16.137", "154.47.16.139", "154.47.16.146", "154.47.16.150", "154.47.16.152", "154.47.16.153", "154.47.16.224", "154.47.16.233", "154.47.16.241" ] }, { "vpn": "openvpn", "country": "Costa Rica", "hostname": "87-1-cr.cg-dialup.net", "udp": true, "ips": [ "146.70.10.3", "146.70.10.5", "146.70.10.9", "146.70.10.14", "146.70.10.41", "146.70.10.42", "146.70.10.45", "146.70.10.46", "146.70.10.47", "146.70.10.52" ] }, { "vpn": "openvpn", "country": "Costa Rica", "hostname": "97-1-cr.cg-dialup.net", "tcp": true, "ips": [ "146.70.10.5", "146.70.10.6", "146.70.10.10", "146.70.10.12", "146.70.10.14", "146.70.10.42", "146.70.10.43", "146.70.10.49", "146.70.10.50", "146.70.10.52" ] }, { "vpn": "openvpn", "country": "Croatia", "hostname": "87-1-hr.cg-dialup.net", "udp": true, "ips": [ "154.47.29.195", "154.47.29.202", "154.47.29.205", "154.47.29.207", "154.47.29.212", "154.47.29.213", "154.47.29.219", "154.47.29.229", "154.47.29.242", "154.47.29.250" ] }, { "vpn": "openvpn", "country": "Croatia", "hostname": "97-1-hr.cg-dialup.net", "tcp": true, "ips": [ "154.47.29.197", "154.47.29.200", "154.47.29.204", "154.47.29.205", "154.47.29.207", "154.47.29.216", "154.47.29.218", "154.47.29.227", "154.47.29.236", "154.47.29.250" ] }, { "vpn": "openvpn", "country": "Cyprus", "hostname": "87-1-cy.cg-dialup.net", "udp": true, "ips": [ "185.253.162.146", "185.253.162.147", "185.253.162.148", "185.253.162.151", "185.253.162.152", "185.253.162.155", "185.253.162.157", "185.253.162.161", "185.253.162.164", "185.253.162.165" ] }, { "vpn": "openvpn", "country": "Cyprus", "hostname": "97-1-cy.cg-dialup.net", "tcp": true, "ips": [ "185.253.162.149", "185.253.162.150", "185.253.162.151", "185.253.162.152", "185.253.162.153", "185.253.162.154", "185.253.162.155", "185.253.162.157", "185.253.162.159", "185.253.162.164" ] }, { "vpn": "openvpn", "country": "Czech Republic", "hostname": "87-1-cz.cg-dialup.net", "udp": true, "ips": [ "138.199.56.233", "138.199.56.235", "138.199.56.247", "138.199.56.250", "195.181.161.3", "195.181.161.6", "195.181.161.11", "195.181.161.19", "195.181.161.20", "195.181.161.22" ] }, { "vpn": "openvpn", "country": "Czech Republic", "hostname": "97-1-cz.cg-dialup.net", "tcp": true, "ips": [ "138.199.56.234", "138.199.56.235", "138.199.56.241", "138.199.56.242", "138.199.56.243", "138.199.56.244", "138.199.56.248", "138.199.56.250", "195.181.161.15", "195.181.161.25" ] }, { "vpn": "openvpn", "country": "Denmark", "hostname": "87-1-dk.cg-dialup.net", "udp": true, "ips": [ "188.126.94.195", "188.126.94.200", "188.126.94.201", "188.126.94.202", "188.126.94.208", "188.126.94.210", "188.126.94.220", "188.126.94.222", "188.126.94.252", "188.126.94.253" ] }, { "vpn": "openvpn", "country": "Denmark", "hostname": "97-1-dk.cg-dialup.net", "tcp": true, "ips": [ "188.126.94.217", "188.126.94.219", "188.126.94.229", "188.126.94.230", "188.126.94.235", "188.126.94.238", "188.126.94.241", "188.126.94.243", "188.126.94.246", "188.126.94.252" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "hostname": "87-1-do.cg-dialup.net", "udp": true, "ips": [ "173.244.32.8", "173.244.32.10", "173.244.32.14", "173.244.32.17", "173.244.32.18", "173.244.32.21", "173.244.32.22", "173.244.32.26", "173.244.32.27", "173.244.32.30" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "hostname": "97-1-do.cg-dialup.net", "tcp": true, "ips": [ "173.244.32.4", "173.244.32.5", "173.244.32.7", "173.244.32.8", "173.244.32.11", "173.244.32.13", "173.244.32.14", "173.244.32.22", "173.244.32.24", "173.244.32.29" ] }, { "vpn": "openvpn", "country": "Ecuador", "hostname": "87-1-ec.cg-dialup.net", "udp": true, "ips": [ "173.239.220.8", "173.239.220.9", "173.239.220.10", "173.239.220.14", "173.239.220.16", "173.239.220.19", "173.239.220.20", "173.239.220.21", "173.239.220.23", "173.239.220.26" ] }, { "vpn": "openvpn", "country": "Ecuador", "hostname": "97-1-ec.cg-dialup.net", "tcp": true, "ips": [ "173.239.220.4", "173.239.220.8", "173.239.220.10", "173.239.220.12", "173.239.220.13", "173.239.220.20", "173.239.220.23", "173.239.220.25", "173.239.220.27", "173.239.220.29" ] }, { "vpn": "openvpn", "country": "Egypt", "hostname": "87-1-eg.cg-dialup.net", "udp": true, "ips": [ "188.214.122.38", "188.214.122.42", "188.214.122.45", "188.214.122.48", "188.214.122.49", "188.214.122.53", "188.214.122.61", "188.214.122.68", "188.214.122.74", "188.214.122.76" ] }, { "vpn": "openvpn", "country": "Egypt", "hostname": "97-1-eg.cg-dialup.net", "tcp": true, "ips": [ "188.214.122.37", "188.214.122.38", "188.214.122.46", "188.214.122.51", "188.214.122.58", "188.214.122.68", "188.214.122.69", "188.214.122.73", "188.214.122.75", "188.214.122.77" ] }, { "vpn": "openvpn", "country": "Estonia", "hostname": "87-1-ee.cg-dialup.net", "udp": true, "ips": [ "165.231.182.130", "165.231.182.132", "165.231.182.139", "165.231.182.141", "165.231.182.146", "165.231.182.147", "165.231.182.148", "165.231.182.149", "165.231.182.151", "165.231.182.153" ] }, { "vpn": "openvpn", "country": "Estonia", "hostname": "97-1-ee.cg-dialup.net", "tcp": true, "ips": [ "165.231.182.130", "165.231.182.134", "165.231.182.143", "165.231.182.144", "165.231.182.146", "165.231.182.147", "165.231.182.149", "165.231.182.152", "165.231.182.153", "165.231.182.154" ] }, { "vpn": "openvpn", "country": "Finland", "hostname": "87-1-fi.cg-dialup.net", "udp": true, "ips": [ "188.126.88.3", "188.126.88.7", "188.126.88.8", "188.126.88.14", "212.112.19.70", "212.112.19.72", "212.112.19.73", "212.112.19.84", "212.112.19.85", "212.112.19.91" ] }, { "vpn": "openvpn", "country": "Finland", "hostname": "97-1-fi.cg-dialup.net", "tcp": true, "ips": [ "188.126.88.5", "188.126.88.9", "188.126.88.10", "188.126.88.11", "188.126.88.14", "212.112.19.74", "212.112.19.75", "212.112.19.76", "212.112.19.83", "212.112.19.86" ] }, { "vpn": "openvpn", "country": "France", "hostname": "87-1-fr.cg-dialup.net", "udp": true, "ips": [ "151.106.12.246", "158.173.157.54", "158.173.157.66", "158.173.158.2", "158.173.158.53", "191.101.31.108", "191.101.31.110", "191.101.31.167", "191.101.217.206", "203.188.183.20" ] }, { "vpn": "openvpn", "country": "France", "hostname": "87-19-fr.cg-dialup.net", "udp": true, "ips": [ "158.173.157.198", "158.173.157.199", "158.173.157.203", "158.173.157.204", "158.173.157.205", "158.173.157.206", "158.173.157.209", "158.173.157.210", "158.173.157.214", "158.173.157.215" ] }, { "vpn": "openvpn", "country": "France", "hostname": "97-1-fr.cg-dialup.net", "tcp": true, "ips": [ "158.173.157.46", "158.173.157.90", "158.173.158.71", "191.101.217.166", "191.101.217.170", "191.101.217.172", "191.101.217.173", "191.101.217.182", "191.101.217.236", "203.188.183.51" ] }, { "vpn": "openvpn", "country": "France", "hostname": "97-19-fr.cg-dialup.net", "tcp": true, "ips": [ "158.173.157.182", "158.173.157.186", "158.173.157.193", "158.173.157.194", "158.173.157.196", "158.173.157.199", "158.173.157.202", "158.173.157.203", "158.173.157.204", "158.173.157.210" ] }, { "vpn": "openvpn", "country": "Georgia", "hostname": "87-1-ge.cg-dialup.net", "udp": true, "ips": [ "95.181.236.146", "95.181.236.147", "95.181.236.148", "95.181.236.151", "95.181.236.152", "95.181.236.153", "95.181.236.154", "95.181.236.155", "95.181.236.158", "95.181.236.159" ] }, { "vpn": "openvpn", "country": "Georgia", "hostname": "97-1-ge.cg-dialup.net", "tcp": true, "ips": [ "95.181.236.146", "95.181.236.148", "95.181.236.149", "95.181.236.150", "95.181.236.152", "95.181.236.154", "95.181.236.156", "95.181.236.157", "95.181.236.158", "95.181.236.159" ] }, { "vpn": "openvpn", "country": "Germany", "hostname": "87-1-de.cg-dialup.net", "udp": true, "ips": [ "95.134.63.25", "158.173.154.88", "158.173.154.172", "158.173.154.195", "158.173.155.227", "158.173.155.232", "158.173.155.241", "158.173.155.243", "158.173.156.164", "216.24.213.98" ] }, { "vpn": "openvpn", "country": "Germany", "hostname": "87-19-de.cg-dialup.net", "udp": true, "ips": [ "158.173.155.191", "158.173.155.194", "158.173.155.196", "158.173.155.198", "158.173.155.199", "158.173.155.200", "158.173.155.206", "158.173.155.210", "158.173.155.211", "158.173.155.215" ] }, { "vpn": "openvpn", "country": "Germany", "hostname": "97-1-de.cg-dialup.net", "tcp": true, "ips": [ "45.88.97.188", "95.134.63.31", "95.134.63.84", "158.173.154.139", "158.173.155.139", "158.173.155.218", "158.173.156.176", "158.173.156.202", "158.173.156.209", "181.214.173.104" ] }, { "vpn": "openvpn", "country": "Germany", "hostname": "97-19-de.cg-dialup.net", "tcp": true, "ips": [ "158.173.155.187", "158.173.155.188", "158.173.155.191", "158.173.155.194", "158.173.155.195", "158.173.155.201", "158.173.155.202", "158.173.155.208", "158.173.155.209", "158.173.155.214" ] }, { "vpn": "openvpn", "country": "Greece", "hostname": "87-1-gr.cg-dialup.net", "udp": true, "ips": [ "79.127.175.15", "79.127.175.45", "79.127.175.51", "79.127.175.52", "79.127.175.66", "79.127.175.78", "79.127.175.83", "79.127.175.93", "79.127.175.111", "79.127.175.114" ] }, { "vpn": "openvpn", "country": "Greece", "hostname": "97-1-gr.cg-dialup.net", "tcp": true, "ips": [ "79.127.175.2", "79.127.175.13", "79.127.175.28", "79.127.175.43", "79.127.175.68", "79.127.175.70", "79.127.175.79", "79.127.175.83", "79.127.175.91", "79.127.175.116" ] }, { "vpn": "openvpn", "country": "Greenland", "hostname": "87-1-gl.cg-dialup.net", "udp": true, "ips": [ "91.90.120.3", "91.90.120.6", "91.90.120.8", "91.90.120.9", "91.90.120.11", "91.90.120.19", "91.90.120.20", "91.90.120.22", "91.90.120.25", "91.90.120.29" ] }, { "vpn": "openvpn", "country": "Greenland", "hostname": "97-1-gl.cg-dialup.net", "tcp": true, "ips": [ "91.90.120.3", "91.90.120.8", "91.90.120.11", "91.90.120.12", "91.90.120.23", "91.90.120.26", "91.90.120.27", "91.90.120.28", "91.90.120.30", "91.90.120.32" ] }, { "vpn": "openvpn", "country": "Guatemala", "hostname": "87-1-gt.cg-dialup.net", "udp": true, "ips": [ "173.239.205.5", "173.239.205.6", "173.239.205.7", "173.239.205.10", "173.239.205.16", "173.239.205.21", "173.239.205.22", "173.239.205.23", "173.239.205.29", "173.239.205.30" ] }, { "vpn": "openvpn", "country": "Guatemala", "hostname": "97-1-gt.cg-dialup.net", "tcp": true, "ips": [ "173.239.205.4", "173.239.205.6", "173.239.205.8", "173.239.205.9", "173.239.205.10", "173.239.205.12", "173.239.205.16", "173.239.205.20", "173.239.205.27", "173.239.205.28" ] }, { "vpn": "openvpn", "country": "Hong Kong", "hostname": "87-1-hk.cg-dialup.net", "udp": true, "ips": [ "84.17.56.130", "84.17.56.140", "84.17.56.148", "84.17.56.162", "84.17.56.170", "84.17.56.171", "84.17.56.173", "84.17.56.174", "84.17.56.177", "84.17.56.183" ] }, { "vpn": "openvpn", "country": "Hong Kong", "hostname": "97-1-hk.cg-dialup.net", "tcp": true, "ips": [ "84.17.56.134", "84.17.56.138", "84.17.56.142", "84.17.56.143", "84.17.56.147", "84.17.56.150", "84.17.56.152", "84.17.56.153", "84.17.56.162", "84.17.56.173" ] }, { "vpn": "openvpn", "country": "Hungary", "hostname": "87-1-hu.cg-dialup.net", "udp": true, "ips": [ "86.106.74.245", "86.106.74.248", "86.106.74.250", "86.106.74.252", "86.106.74.253", "185.189.114.115", "185.189.114.117", "185.189.114.119", "185.189.114.124", "185.189.114.125" ] }, { "vpn": "openvpn", "country": "Hungary", "hostname": "97-1-hu.cg-dialup.net", "tcp": true, "ips": [ "86.106.74.244", "86.106.74.246", "86.106.74.248", "86.106.74.249", "86.106.74.250", "86.106.74.251", "86.106.74.254", "185.189.114.116", "185.189.114.125", "185.189.114.126" ] }, { "vpn": "openvpn", "country": "Iceland", "hostname": "87-1-is.cg-dialup.net", "udp": true, "ips": [ "45.133.193.20", "45.133.193.21", "45.133.193.22", "45.133.193.23", "45.133.193.24", "45.133.193.25", "45.133.193.26", "45.133.193.27", "45.133.193.29", "45.133.193.30" ] }, { "vpn": "openvpn", "country": "Iceland", "hostname": "97-1-is.cg-dialup.net", "tcp": true, "ips": [ "45.133.193.19", "45.133.193.20", "45.133.193.21", "45.133.193.23", "45.133.193.24", "45.133.193.25", "45.133.193.26", "45.133.193.27", "45.133.193.28", "45.133.193.29" ] }, { "vpn": "openvpn", "country": "India", "hostname": "87-1-in.cg-dialup.net", "udp": true, "ips": [ "103.108.174.156", "103.108.174.161", "103.108.174.162", "103.108.174.163", "103.108.174.164", "103.108.174.165", "103.108.174.166", "103.108.174.169", "103.108.174.170", "103.108.174.172" ] }, { "vpn": "openvpn", "country": "India", "hostname": "97-1-in.cg-dialup.net", "tcp": true, "ips": [ "103.108.174.156", "103.108.174.158", "103.108.174.161", "103.108.174.163", "103.108.174.164", "103.108.174.165", "103.108.174.168", "103.108.174.170", "103.108.174.172", "103.108.174.175" ] }, { "vpn": "openvpn", "country": "Indonesia", "hostname": "87-1-id.cg-dialup.net", "udp": true, "ips": [ "173.239.201.130", "173.239.201.132", "173.239.201.134", "173.239.201.135", "173.239.201.136", "173.239.201.137", "173.239.201.138", "173.239.201.139", "173.239.201.140", "173.239.201.141" ] }, { "vpn": "openvpn", "country": "Indonesia", "hostname": "97-1-id.cg-dialup.net", "tcp": true, "ips": [ "173.239.201.131", "173.239.201.133", "173.239.201.134", "173.239.201.135", "173.239.201.136", "173.239.201.137", "173.239.201.138", "173.239.201.139", "173.239.201.140", "173.239.201.141" ] }, { "vpn": "openvpn", "country": "Iran", "hostname": "87-1-ir.cg-dialup.net", "udp": true, "ips": [ "62.133.46.19", "62.133.46.20", "62.133.46.21", "62.133.46.22", "62.133.46.23", "62.133.46.24", "62.133.46.26", "62.133.46.27", "62.133.46.28", "62.133.46.30" ] }, { "vpn": "openvpn", "country": "Iran", "hostname": "97-1-ir.cg-dialup.net", "tcp": true, "ips": [ "62.133.46.19", "62.133.46.20", "62.133.46.22", "62.133.46.23", "62.133.46.24", "62.133.46.25", "62.133.46.27", "62.133.46.28", "62.133.46.29", "62.133.46.30" ] }, { "vpn": "openvpn", "country": "Ireland", "hostname": "87-1-ie.cg-dialup.net", "udp": true, "ips": [ "149.34.242.232", "149.34.242.237", "149.34.242.251", "149.34.243.68", "149.34.243.73", "149.34.243.91", "149.34.243.93", "155.2.195.46", "155.2.195.51", "155.2.195.58" ] }, { "vpn": "openvpn", "country": "Ireland", "hostname": "97-1-ie.cg-dialup.net", "tcp": true, "ips": [ "149.34.242.238", "149.34.242.241", "149.34.242.245", "149.34.242.248", "149.34.243.67", "149.34.243.68", "149.34.243.84", "149.34.243.91", "155.2.195.44", "155.2.195.48" ] }, { "vpn": "openvpn", "country": "Isle of Man", "hostname": "87-1-im.cg-dialup.net", "udp": true, "ips": [ "91.90.124.147", "91.90.124.148", "91.90.124.149", "91.90.124.150", "91.90.124.151", "91.90.124.152", "91.90.124.153", "91.90.124.155", "91.90.124.156", "91.90.124.159" ] }, { "vpn": "openvpn", "country": "Isle of Man", "hostname": "97-1-im.cg-dialup.net", "tcp": true, "ips": [ "91.90.124.147", "91.90.124.148", "91.90.124.149", "91.90.124.150", "91.90.124.151", "91.90.124.152", "91.90.124.153", "91.90.124.154", "91.90.124.155", "91.90.124.157" ] }, { "vpn": "openvpn", "country": "Israel", "hostname": "87-1-il.cg-dialup.net", "udp": true, "ips": [ "149.88.26.25", "149.88.26.41", "149.88.26.44", "149.88.26.45", "149.88.26.69", "149.88.26.73", "149.88.26.74", "149.88.26.77", "149.88.26.86", "149.88.26.96" ] }, { "vpn": "openvpn", "country": "Israel", "hostname": "97-1-il.cg-dialup.net", "tcp": true, "ips": [ "149.88.26.6", "149.88.26.17", "149.88.26.22", "149.88.26.41", "149.88.26.73", "149.88.26.78", "149.88.26.83", "149.88.26.86", "149.88.26.87", "149.88.26.99" ] }, { "vpn": "openvpn", "country": "Italy", "hostname": "87-1-it.cg-dialup.net", "udp": true, "ips": [ "84.17.58.34", "84.17.58.38", "84.17.58.58", "138.199.54.4", "138.199.54.6", "185.217.71.21", "185.217.71.132", "185.217.71.151", "212.102.55.110", "212.102.55.115" ] }, { "vpn": "openvpn", "country": "Italy", "hostname": "97-1-it.cg-dialup.net", "tcp": true, "ips": [ "84.17.58.13", "84.17.58.20", "84.17.58.24", "87.101.94.67", "87.101.94.69", "185.217.71.21", "185.217.71.25", "185.217.71.133", "212.102.55.115", "212.102.55.122" ] }, { "vpn": "openvpn", "country": "Japan", "hostname": "87-1-jp.cg-dialup.net", "udp": true, "ips": [ "138.199.39.166", "138.199.39.171", "138.199.39.175", "138.199.39.181", "154.47.20.210", "154.47.20.216", "154.47.20.218", "154.47.20.220", "154.47.23.3", "154.47.23.5" ] }, { "vpn": "openvpn", "country": "Japan", "hostname": "97-1-jp.cg-dialup.net", "tcp": true, "ips": [ "138.199.39.163", "138.199.39.174", "138.199.39.183", "154.47.20.206", "154.47.20.208", "154.47.20.210", "154.47.20.211", "154.47.20.229", "154.47.23.1", "154.47.23.3" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "hostname": "87-1-kz.cg-dialup.net", "udp": true, "ips": [ "62.133.47.146", "62.133.47.148", "62.133.47.149", "62.133.47.150", "62.133.47.151", "62.133.47.152", "62.133.47.153", "62.133.47.155", "62.133.47.159", "62.133.47.160" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "hostname": "97-1-kz.cg-dialup.net", "tcp": true, "ips": [ "62.133.47.147", "62.133.47.148", "62.133.47.149", "62.133.47.150", "62.133.47.151", "62.133.47.153", "62.133.47.156", "62.133.47.157", "62.133.47.158", "62.133.47.159" ] }, { "vpn": "openvpn", "country": "Kenya", "hostname": "87-1-ke.cg-dialup.net", "udp": true, "ips": [ "62.12.118.195", "62.12.118.196", "62.12.118.197", "62.12.118.198", "62.12.118.199", "62.12.118.200", "62.12.118.201", "62.12.118.202", "62.12.118.203", "62.12.118.204" ] }, { "vpn": "openvpn", "country": "Kenya", "hostname": "97-1-ke.cg-dialup.net", "tcp": true, "ips": [ "62.12.118.195", "62.12.118.196", "62.12.118.197", "62.12.118.198", "62.12.118.199", "62.12.118.200", "62.12.118.201", "62.12.118.202", "62.12.118.203", "62.12.118.204" ] }, { "vpn": "openvpn", "country": "Korea", "hostname": "87-1-kr.cg-dialup.net", "udp": true, "ips": [ "173.244.42.148", "173.244.42.151", "173.244.42.153", "173.244.42.154", "173.244.42.157", "173.244.42.158", "173.244.42.159", "173.244.42.162", "173.244.42.166", "173.244.42.170" ] }, { "vpn": "openvpn", "country": "Korea", "hostname": "97-1-kr.cg-dialup.net", "tcp": true, "ips": [ "173.244.42.149", "173.244.42.150", "173.244.42.155", "173.244.42.161", "173.244.42.162", "173.244.42.165", "173.244.42.167", "173.244.42.170", "173.244.42.172", "173.244.42.174" ] }, { "vpn": "openvpn", "country": "Lao People's Democratic Republic", "hostname": "87-1-la.cg-dialup.net", "udp": true, "ips": [ "64.64.98.3", "64.64.98.4", "64.64.98.5", "64.64.98.6", "64.64.98.7", "64.64.98.8", "64.64.98.10", "64.64.98.12", "64.64.98.13", "64.64.98.14" ] }, { "vpn": "openvpn", "country": "Lao People's Democratic Republic", "hostname": "97-1-la.cg-dialup.net", "tcp": true, "ips": [ "64.64.98.3", "64.64.98.4", "64.64.98.5", "64.64.98.6", "64.64.98.7", "64.64.98.9", "64.64.98.10", "64.64.98.12", "64.64.98.13", "64.64.98.14" ] }, { "vpn": "openvpn", "country": "Latvia", "hostname": "87-1-lv.cg-dialup.net", "udp": true, "ips": [ "196.196.53.22", "196.196.53.24", "196.196.53.26", "196.196.53.39", "196.196.53.44", "196.196.53.45", "196.196.53.46", "196.196.53.118", "196.196.53.120", "196.196.53.124" ] }, { "vpn": "openvpn", "country": "Latvia", "hostname": "97-1-lv.cg-dialup.net", "tcp": true, "ips": [ "196.196.53.24", "196.196.53.36", "196.196.53.39", "196.196.53.42", "196.196.53.43", "196.196.53.116", "196.196.53.117", "196.196.53.118", "196.196.53.119", "196.196.53.126" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "hostname": "87-1-li.cg-dialup.net", "udp": true, "ips": [ "91.90.122.147", "91.90.122.148", "91.90.122.149", "91.90.122.151", "91.90.122.152", "91.90.122.154", "91.90.122.155", "91.90.122.156", "91.90.122.158", "91.90.122.159" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "hostname": "97-1-li.cg-dialup.net", "tcp": true, "ips": [ "91.90.122.147", "91.90.122.148", "91.90.122.149", "91.90.122.150", "91.90.122.152", "91.90.122.153", "91.90.122.154", "91.90.122.155", "91.90.122.157", "91.90.122.159" ] }, { "vpn": "openvpn", "country": "Lithuania", "hostname": "87-1-lt.cg-dialup.net", "udp": true, "ips": [ "194.32.122.6", "194.32.122.7", "194.32.122.9", "194.32.122.11", "194.32.122.13", "194.32.122.14", "194.32.122.18", "194.32.122.20", "194.32.122.27", "194.32.122.29" ] }, { "vpn": "openvpn", "country": "Lithuania", "hostname": "97-1-lt.cg-dialup.net", "tcp": true, "ips": [ "194.32.122.5", "194.32.122.10", "194.32.122.11", "194.32.122.14", "194.32.122.17", "194.32.122.19", "194.32.122.22", "194.32.122.25", "194.32.122.26", "194.32.122.27" ] }, { "vpn": "openvpn", "country": "Luxembourg", "hostname": "87-1-lu.cg-dialup.net", "udp": true, "ips": [ "37.46.113.227", "37.46.113.231", "37.46.113.237", "37.46.113.238", "37.46.113.240", "37.46.113.242", "37.46.113.243", "37.46.113.247", "37.46.113.248", "37.46.113.252" ] }, { "vpn": "openvpn", "country": "Luxembourg", "hostname": "97-1-lu.cg-dialup.net", "tcp": true, "ips": [ "37.46.113.227", "37.46.113.230", "37.46.113.231", "37.46.113.232", "37.46.113.236", "37.46.113.238", "37.46.113.241", "37.46.113.242", "37.46.113.245", "37.46.113.250" ] }, { "vpn": "openvpn", "country": "Macao", "hostname": "87-1-mo.cg-dialup.net", "udp": true, "ips": [ "84.252.92.131", "84.252.92.132", "84.252.92.136", "84.252.92.138", "84.252.92.139", "84.252.92.140", "84.252.92.141", "84.252.92.142", "84.252.92.143", "84.252.92.145" ] }, { "vpn": "openvpn", "country": "Macao", "hostname": "97-1-mo.cg-dialup.net", "tcp": true, "ips": [ "84.252.92.132", "84.252.92.133", "84.252.92.134", "84.252.92.135", "84.252.92.136", "84.252.92.137", "84.252.92.138", "84.252.92.140", "84.252.92.141", "84.252.92.144" ] }, { "vpn": "openvpn", "country": "Macedonia", "hostname": "87-1-mk.cg-dialup.net", "udp": true, "ips": [ "185.225.28.3", "185.225.28.4", "185.225.28.5", "185.225.28.7", "185.225.28.8", "185.225.28.9", "185.225.28.10", "185.225.28.11", "185.225.28.12" ] }, { "vpn": "openvpn", "country": "Macedonia", "hostname": "97-1-mk.cg-dialup.net", "tcp": true, "ips": [ "185.225.28.3", "185.225.28.4", "185.225.28.5", "185.225.28.7", "185.225.28.8", "185.225.28.9", "185.225.28.10", "185.225.28.11", "185.225.28.12" ] }, { "vpn": "openvpn", "country": "Malaysia", "hostname": "87-1-my.cg-dialup.net", "udp": true, "ips": [ "173.239.200.132", "173.239.200.133", "173.239.200.135", "173.239.200.137", "173.239.200.138", "173.239.200.139", "173.239.200.140", "173.239.200.143", "173.239.200.149", "173.239.200.152" ] }, { "vpn": "openvpn", "country": "Malaysia", "hostname": "97-1-my.cg-dialup.net", "tcp": true, "ips": [ "173.239.200.131", "173.239.200.132", "173.239.200.134", "173.239.200.136", "173.239.200.138", "173.239.200.139", "173.239.200.142", "173.239.200.146", "173.239.200.150", "173.239.200.152" ] }, { "vpn": "openvpn", "country": "Malta", "hostname": "87-1-mt.cg-dialup.net", "udp": true, "ips": [ "176.125.230.147", "176.125.230.149", "176.125.230.154", "176.125.230.156", "176.125.230.157", "176.125.230.160", "176.125.230.161", "176.125.230.164", "176.125.230.165", "176.125.230.166" ] }, { "vpn": "openvpn", "country": "Malta", "hostname": "97-1-mt.cg-dialup.net", "tcp": true, "ips": [ "176.125.230.149", "176.125.230.151", "176.125.230.152", "176.125.230.154", "176.125.230.156", "176.125.230.157", "176.125.230.159", "176.125.230.164", "176.125.230.165", "176.125.230.166" ] }, { "vpn": "openvpn", "country": "Mexico", "hostname": "87-1-mx.cg-dialup.net", "udp": true, "ips": [ "77.81.142.132", "77.81.142.135", "77.81.142.136", "77.81.142.138", "77.81.142.142", "77.81.142.144", "77.81.142.151", "77.81.142.211", "77.81.142.221", "77.81.142.227" ] }, { "vpn": "openvpn", "country": "Mexico", "hostname": "97-1-mx.cg-dialup.net", "tcp": true, "ips": [ "77.81.142.133", "77.81.142.134", "77.81.142.138", "77.81.142.142", "77.81.142.146", "77.81.142.208", "77.81.142.216", "77.81.142.217", "77.81.142.222", "77.81.142.225" ] }, { "vpn": "openvpn", "country": "Moldova", "hostname": "87-1-md.cg-dialup.net", "udp": true, "ips": [ "178.175.130.243", "178.175.130.244", "178.175.130.245", "178.175.130.246", "178.175.130.250", "178.175.130.251", "178.175.130.252", "178.175.130.253", "178.175.142.132", "178.175.142.134" ] }, { "vpn": "openvpn", "country": "Moldova", "hostname": "97-1-md.cg-dialup.net", "tcp": true, "ips": [ "178.175.130.243", "178.175.130.244", "178.175.130.245", "178.175.130.246", "178.175.130.250", "178.175.130.252", "178.175.130.254", "178.175.132.162", "178.175.142.131", "178.175.142.132" ] }, { "vpn": "openvpn", "country": "Monaco", "hostname": "87-1-mc.cg-dialup.net", "udp": true, "ips": [ "95.181.233.146", "95.181.233.147", "95.181.233.148", "95.181.233.149", "95.181.233.153", "95.181.233.156", "95.181.233.162", "95.181.233.164", "95.181.233.168", "95.181.233.169" ] }, { "vpn": "openvpn", "country": "Monaco", "hostname": "97-1-mc.cg-dialup.net", "tcp": true, "ips": [ "95.181.233.147", "95.181.233.149", "95.181.233.150", "95.181.233.152", "95.181.233.153", "95.181.233.154", "95.181.233.156", "95.181.233.157", "95.181.233.166", "95.181.233.169" ] }, { "vpn": "openvpn", "country": "Mongolia", "hostname": "87-1-mn.cg-dialup.net", "udp": true, "ips": [ "173.244.58.2", "173.244.58.3", "173.244.58.4", "173.244.58.5", "173.244.58.6", "173.244.58.7", "173.244.58.8", "173.244.58.9", "173.244.58.11", "173.244.58.12" ] }, { "vpn": "openvpn", "country": "Mongolia", "hostname": "97-1-mn.cg-dialup.net", "tcp": true, "ips": [ "173.244.58.2", "173.244.58.3", "173.244.58.4", "173.244.58.5", "173.244.58.6", "173.244.58.7", "173.244.58.8", "173.244.58.9", "173.244.58.10", "173.244.58.11" ] }, { "vpn": "openvpn", "country": "Montenegro", "hostname": "87-1-me.cg-dialup.net", "udp": true, "ips": [ "176.125.229.131", "176.125.229.132", "176.125.229.133", "176.125.229.134", "176.125.229.136", "176.125.229.138", "176.125.229.139", "176.125.229.140", "176.125.229.143", "176.125.229.145" ] }, { "vpn": "openvpn", "country": "Montenegro", "hostname": "97-1-me.cg-dialup.net", "tcp": true, "ips": [ "176.125.229.132", "176.125.229.133", "176.125.229.134", "176.125.229.135", "176.125.229.136", "176.125.229.137", "176.125.229.138", "176.125.229.139", "176.125.229.140", "176.125.229.143" ] }, { "vpn": "openvpn", "country": "Morocco", "hostname": "87-1-ma.cg-dialup.net", "udp": true, "ips": [ "95.181.232.15", "95.181.232.16", "95.181.232.17", "95.181.232.18", "95.181.232.20", "95.181.232.26", "95.181.232.132", "95.181.232.141", "95.181.232.142", "95.181.232.144" ] }, { "vpn": "openvpn", "country": "Morocco", "hostname": "97-1-ma.cg-dialup.net", "tcp": true, "ips": [ "95.181.232.15", "95.181.232.17", "95.181.232.19", "95.181.232.22", "95.181.232.26", "95.181.232.133", "95.181.232.138", "95.181.232.139", "95.181.232.141", "95.181.232.144" ] }, { "vpn": "openvpn", "country": "Myanmar", "hostname": "87-1-mm.cg-dialup.net", "udp": true, "ips": [ "98.159.41.3", "98.159.41.4", "98.159.41.5", "98.159.41.7", "98.159.41.9", "98.159.41.10", "98.159.41.11", "98.159.41.12", "98.159.41.13", "98.159.41.14" ] }, { "vpn": "openvpn", "country": "Myanmar", "hostname": "97-1-mm.cg-dialup.net", "tcp": true, "ips": [ "98.159.41.3", "98.159.41.4", "98.159.41.5", "98.159.41.6", "98.159.41.7", "98.159.41.9", "98.159.41.10", "98.159.41.11", "98.159.41.12", "98.159.41.13" ] }, { "vpn": "openvpn", "country": "Nepal", "hostname": "87-1-np.cg-dialup.net", "udp": true, "ips": [ "173.244.33.3", "173.244.33.5", "173.244.33.6", "173.244.33.7", "173.244.33.8", "173.244.33.11", "173.244.33.12", "173.244.33.13", "173.244.33.14", "173.244.33.15" ] }, { "vpn": "openvpn", "country": "Nepal", "hostname": "97-1-np.cg-dialup.net", "tcp": true, "ips": [ "173.244.33.3", "173.244.33.5", "173.244.33.6", "173.244.33.7", "173.244.33.8", "173.244.33.9", "173.244.33.11", "173.244.33.12", "173.244.33.13", "173.244.33.15" ] }, { "vpn": "openvpn", "country": "Netherlands", "hostname": "87-1-nl.cg-dialup.net", "udp": true, "ips": [ "84.17.47.108", "181.214.206.32", "181.214.206.47", "191.96.168.18", "191.96.168.32", "191.96.168.156", "195.78.54.18", "195.78.54.25", "195.78.54.54", "195.78.54.127" ] }, { "vpn": "openvpn", "country": "Netherlands", "hostname": "97-1-nl.cg-dialup.net", "tcp": true, "ips": [ "84.17.47.105", "84.17.47.115", "191.96.168.9", "191.96.168.39", "191.96.168.121", "191.96.168.138", "195.78.54.112", "195.78.54.113", "195.78.54.126", "195.78.54.156" ] }, { "vpn": "openvpn", "country": "New Zealand", "hostname": "87-1-nz.cg-dialup.net", "udp": true, "ips": [ "43.250.207.99", "43.250.207.100", "43.250.207.101", "43.250.207.102", "43.250.207.104", "43.250.207.105", "43.250.207.106", "43.250.207.108", "43.250.207.109", "43.250.207.110" ] }, { "vpn": "openvpn", "country": "New Zealand", "hostname": "97-1-nz.cg-dialup.net", "tcp": true, "ips": [ "43.250.207.98", "43.250.207.100", "43.250.207.101", "43.250.207.102", "43.250.207.103", "43.250.207.105", "43.250.207.106", "43.250.207.107", "43.250.207.108", "43.250.207.109" ] }, { "vpn": "openvpn", "country": "Nigeria", "hostname": "87-1-ng.cg-dialup.net", "udp": true, "ips": [ "146.70.65.3", "146.70.65.4", "146.70.65.6", "146.70.65.7", "146.70.65.10", "146.70.65.14", "146.70.65.18", "146.70.65.19", "146.70.65.22", "146.70.65.27" ] }, { "vpn": "openvpn", "country": "Nigeria", "hostname": "97-1-ng.cg-dialup.net", "tcp": true, "ips": [ "146.70.65.5", "146.70.65.7", "146.70.65.12", "146.70.65.13", "146.70.65.15", "146.70.65.19", "146.70.65.22", "146.70.65.25", "146.70.65.26", "146.70.65.27" ] }, { "vpn": "openvpn", "country": "Norway", "hostname": "87-1-no.cg-dialup.net", "udp": true, "ips": [ "82.102.27.91", "82.102.27.93", "185.206.225.29", "185.253.97.243", "185.253.97.245", "185.253.97.247", "185.253.97.250", "185.253.97.251", "185.253.97.253", "185.253.97.254" ] }, { "vpn": "openvpn", "country": "Norway", "hostname": "97-1-no.cg-dialup.net", "tcp": true, "ips": [ "82.102.27.92", "185.206.225.27", "185.206.225.28", "185.206.225.29", "185.253.97.236", "185.253.97.244", "185.253.97.246", "185.253.97.249", "185.253.97.252", "185.253.97.254" ] }, { "vpn": "openvpn", "country": "Pakistan", "hostname": "87-1-pk.cg-dialup.net", "udp": true, "ips": [ "146.70.12.4", "146.70.12.5", "146.70.12.6", "146.70.12.7", "146.70.12.8", "146.70.12.9", "146.70.12.10", "146.70.12.11", "146.70.12.12", "146.70.12.14" ] }, { "vpn": "openvpn", "country": "Pakistan", "hostname": "97-1-pk.cg-dialup.net", "tcp": true, "ips": [ "146.70.12.4", "146.70.12.5", "146.70.12.6", "146.70.12.7", "146.70.12.8", "146.70.12.9", "146.70.12.10", "146.70.12.11", "146.70.12.12", "146.70.12.13" ] }, { "vpn": "openvpn", "country": "Panama", "hostname": "87-1-pa.cg-dialup.net", "udp": true, "ips": [ "91.90.126.137", "91.90.126.139", "91.90.126.141", "91.90.126.143", "91.90.126.149", "91.90.126.150", "91.90.126.155", "91.90.126.157", "91.90.126.159", "91.90.126.160" ] }, { "vpn": "openvpn", "country": "Panama", "hostname": "97-1-pa.cg-dialup.net", "tcp": true, "ips": [ "91.90.126.133", "91.90.126.135", "91.90.126.137", "91.90.126.138", "91.90.126.140", "91.90.126.142", "91.90.126.143", "91.90.126.149", "91.90.126.156", "91.90.126.158" ] }, { "vpn": "openvpn", "country": "Peru", "hostname": "87-1-pe.cg-dialup.net", "udp": true, "ips": [ "45.154.155.5", "45.154.155.7", "45.154.155.13", "45.154.155.18", "45.154.155.19", "45.154.155.21", "45.154.155.24", "45.154.155.25", "45.154.155.26", "45.154.155.30" ] }, { "vpn": "openvpn", "country": "Peru", "hostname": "97-1-pe.cg-dialup.net", "tcp": true, "ips": [ "45.154.155.5", "45.154.155.8", "45.154.155.9", "45.154.155.11", "45.154.155.17", "45.154.155.20", "45.154.155.22", "45.154.155.24", "45.154.155.27", "45.154.155.30" ] }, { "vpn": "openvpn", "country": "Philippines", "hostname": "87-1-ph.cg-dialup.net", "udp": true, "ips": [ "188.214.125.35", "188.214.125.36", "188.214.125.37", "188.214.125.38", "188.214.125.41", "188.214.125.43", "188.214.125.44", "188.214.125.52", "188.214.125.53", "188.214.125.61" ] }, { "vpn": "openvpn", "country": "Philippines", "hostname": "97-1-ph.cg-dialup.net", "tcp": true, "ips": [ "188.214.125.35", "188.214.125.41", "188.214.125.43", "188.214.125.44", "188.214.125.46", "188.214.125.48", "188.214.125.53", "188.214.125.55", "188.214.125.57", "188.214.125.61" ] }, { "vpn": "openvpn", "country": "Poland", "hostname": "87-1-pl.cg-dialup.net", "udp": true, "ips": [ "45.134.212.196", "45.134.212.197", "45.134.212.202", "45.134.212.204", "45.134.212.205", "45.134.212.207", "138.199.59.153", "138.199.59.172", "138.199.59.174", "138.199.59.185" ] }, { "vpn": "openvpn", "country": "Poland", "hostname": "97-1-pl.cg-dialup.net", "tcp": true, "ips": [ "45.134.212.195", "45.134.212.198", "45.134.212.200", "138.199.59.130", "138.199.59.136", "138.199.59.138", "138.199.59.144", "138.199.59.155", "138.199.59.160", "138.199.59.178" ] }, { "vpn": "openvpn", "country": "Portugal", "hostname": "87-1-pt.cg-dialup.net", "udp": true, "ips": [ "146.70.59.131", "146.70.59.133", "146.70.59.134", "146.70.59.148", "146.70.59.156", "146.70.59.157", "146.70.59.167", "146.70.59.168", "146.70.59.171", "146.70.59.177" ] }, { "vpn": "openvpn", "country": "Portugal", "hostname": "97-1-pt.cg-dialup.net", "tcp": true, "ips": [ "146.70.59.130", "146.70.59.132", "146.70.59.149", "146.70.59.152", "146.70.59.158", "146.70.59.161", "146.70.59.162", "146.70.59.163", "146.70.59.166", "146.70.59.178" ] }, { "vpn": "openvpn", "country": "Qatar", "hostname": "87-1-qa.cg-dialup.net", "udp": true, "ips": [ "95.181.234.133", "95.181.234.134", "95.181.234.135", "95.181.234.136", "95.181.234.137", "95.181.234.138", "95.181.234.139", "95.181.234.140", "95.181.234.142", "95.181.234.144" ] }, { "vpn": "openvpn", "country": "Qatar", "hostname": "97-1-qa.cg-dialup.net", "tcp": true, "ips": [ "95.181.234.133", "95.181.234.134", "95.181.234.135", "95.181.234.136", "95.181.234.137", "95.181.234.138", "95.181.234.140", "95.181.234.141", "95.181.234.142", "95.181.234.144" ] }, { "vpn": "openvpn", "country": "Romania", "hostname": "87-1-ro.cg-dialup.net", "udp": true, "ips": [ "84.239.14.137", "84.239.14.139", "84.239.14.144", "84.239.14.181", "84.239.14.182", "143.244.52.71", "143.244.52.73", "143.244.52.74", "193.176.85.114", "193.176.85.115" ] }, { "vpn": "openvpn", "country": "Romania", "hostname": "87-8-ro.cg-dialup.net", "udp": true, "ips": [ "85.9.20.154", "149.102.239.163", "149.102.239.166", "149.102.239.167", "149.102.239.168", "149.102.239.170", "149.102.239.171", "149.102.239.179", "149.102.239.182", "149.102.239.183" ] }, { "vpn": "openvpn", "country": "Romania", "hostname": "97-1-ro.cg-dialup.net", "tcp": true, "ips": [ "84.239.14.134", "84.239.14.135", "84.239.14.144", "84.239.14.185", "84.239.49.8", "143.244.52.64", "143.244.52.65", "143.244.52.70", "193.176.85.109", "193.176.85.110" ] }, { "vpn": "openvpn", "country": "Romania", "hostname": "97-8-ro.cg-dialup.net", "tcp": true, "ips": [ "85.9.20.135", "85.9.20.144", "85.9.20.147", "85.9.20.150", "85.9.20.151", "149.102.239.162", "149.102.239.171", "149.102.239.173", "149.102.239.174", "149.102.239.175" ] }, { "vpn": "openvpn", "country": "Russian Federation", "hostname": "87-1-ru.cg-dialup.net", "udp": true, "ips": [ "146.70.52.45", "146.70.52.78", "146.70.52.203", "146.70.52.217", "146.70.52.221", "146.70.52.222", "146.70.52.228", "146.70.52.232", "146.70.52.234", "146.70.52.235" ] }, { "vpn": "openvpn", "country": "Russian Federation", "hostname": "97-1-ru.cg-dialup.net", "tcp": true, "ips": [ "146.70.52.14", "146.70.52.45", "146.70.52.116", "146.70.52.196", "146.70.52.204", "146.70.52.206", "146.70.52.215", "146.70.52.227", "146.70.52.238", "146.70.52.246" ] }, { "vpn": "openvpn", "country": "Saudi Arabia", "hostname": "87-1-sa.cg-dialup.net", "udp": true, "ips": [ "95.181.235.132", "95.181.235.133", "95.181.235.134", "95.181.235.135", "95.181.235.136", "95.181.235.138", "95.181.235.139", "95.181.235.140", "95.181.235.141", "95.181.235.144" ] }, { "vpn": "openvpn", "country": "Saudi Arabia", "hostname": "97-1-sa.cg-dialup.net", "tcp": true, "ips": [ "95.181.235.133", "95.181.235.134", "95.181.235.135", "95.181.235.136", "95.181.235.137", "95.181.235.138", "95.181.235.139", "95.181.235.140", "95.181.235.143", "95.181.235.144" ] }, { "vpn": "openvpn", "country": "Serbia", "hostname": "87-1-rs.cg-dialup.net", "udp": true, "ips": [ "37.46.115.43", "37.46.115.44", "37.46.115.45", "37.46.115.47", "37.46.115.48", "37.46.115.49", "37.46.115.50", "37.46.115.52", "37.46.115.55", "37.46.115.56" ] }, { "vpn": "openvpn", "country": "Serbia", "hostname": "97-1-rs.cg-dialup.net", "tcp": true, "ips": [ "37.46.115.42", "37.46.115.43", "37.46.115.44", "37.46.115.45", "37.46.115.48", "37.46.115.49", "37.46.115.50", "37.46.115.52", "37.46.115.54", "37.46.115.56" ] }, { "vpn": "openvpn", "country": "Singapore", "hostname": "87-1-sg.cg-dialup.net", "udp": true, "ips": [ "89.187.162.91", "89.187.162.103", "89.187.162.108", "89.187.162.175", "89.187.162.178", "89.187.162.179", "89.187.162.181", "89.187.162.211", "89.187.162.212", "89.187.162.213" ] }, { "vpn": "openvpn", "country": "Singapore", "hostname": "97-1-sg.cg-dialup.net", "tcp": true, "ips": [ "89.187.162.104", "89.187.162.106", "89.187.162.107", "89.187.162.108", "89.187.162.179", "89.187.162.180", "89.187.162.181", "89.187.162.182", "89.187.162.183", "89.187.162.211" ] }, { "vpn": "openvpn", "country": "Slovakia", "hostname": "87-1-sk.cg-dialup.net", "udp": true, "ips": [ "149.102.232.70", "149.102.232.71", "149.102.232.87", "149.102.232.95", "149.102.232.98", "149.102.232.100", "149.102.232.104", "149.102.232.109", "149.102.232.110", "149.102.232.113" ] }, { "vpn": "openvpn", "country": "Slovakia", "hostname": "97-1-sk.cg-dialup.net", "tcp": true, "ips": [ "149.102.232.69", "149.102.232.72", "149.102.232.73", "149.102.232.76", "149.102.232.95", "149.102.232.104", "149.102.232.107", "149.102.232.108", "149.102.232.112", "149.102.232.118" ] }, { "vpn": "openvpn", "country": "Slovenia", "hostname": "87-1-si.cg-dialup.net", "udp": true, "ips": [ "195.80.150.211", "195.80.150.212", "195.80.150.213", "195.80.150.214", "195.80.150.215", "195.80.150.216", "195.80.150.217", "195.80.150.218", "195.80.150.220", "195.80.150.222" ] }, { "vpn": "openvpn", "country": "Slovenia", "hostname": "97-1-si.cg-dialup.net", "tcp": true, "ips": [ "195.80.150.211", "195.80.150.212", "195.80.150.214", "195.80.150.215", "195.80.150.217", "195.80.150.218", "195.80.150.219", "195.80.150.220", "195.80.150.221", "195.80.150.222" ] }, { "vpn": "openvpn", "country": "South Africa", "hostname": "87-1-za.cg-dialup.net", "udp": true, "ips": [ "154.47.30.3", "154.47.30.5", "154.47.30.7", "154.47.30.9", "154.47.30.11", "154.47.30.15", "154.47.30.19", "154.47.30.21", "154.47.30.22", "154.47.30.26" ] }, { "vpn": "openvpn", "country": "South Africa", "hostname": "97-1-za.cg-dialup.net", "tcp": true, "ips": [ "154.47.30.4", "154.47.30.6", "154.47.30.7", "154.47.30.9", "154.47.30.13", "154.47.30.18", "154.47.30.20", "154.47.30.22", "154.47.30.26", "154.47.30.30" ] }, { "vpn": "openvpn", "country": "Spain", "hostname": "87-1-es.cg-dialup.net", "udp": true, "ips": [ "37.120.142.43", "37.120.142.167", "45.134.213.169", "82.102.26.197", "146.70.22.36", "146.70.22.70", "146.70.22.73", "146.70.22.74", "146.70.22.77", "185.93.3.111" ] }, { "vpn": "openvpn", "country": "Spain", "hostname": "97-1-es.cg-dialup.net", "tcp": true, "ips": [ "37.120.142.43", "37.120.142.52", "37.120.142.163", "45.134.213.175", "45.134.213.185", "146.70.22.44", "185.93.3.106", "185.93.3.109", "185.253.99.198", "196.245.54.39" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "hostname": "87-1-lk.cg-dialup.net", "udp": true, "ips": [ "98.159.40.2", "98.159.40.6", "98.159.40.7", "98.159.40.9", "98.159.40.10", "98.159.40.14", "98.159.40.17", "98.159.40.18", "98.159.40.22", "98.159.40.27" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "hostname": "97-1-lk.cg-dialup.net", "tcp": true, "ips": [ "98.159.40.2", "98.159.40.4", "98.159.40.6", "98.159.40.7", "98.159.40.15", "98.159.40.21", "98.159.40.23", "98.159.40.24", "98.159.40.26", "98.159.40.28" ] }, { "vpn": "openvpn", "country": "Sweden", "hostname": "87-1-se.cg-dialup.net", "udp": true, "ips": [ "46.246.8.146", "46.246.8.149", "46.246.8.155", "46.246.8.166", "188.126.79.16", "188.126.79.18", "188.126.79.24", "188.126.79.28", "212.112.19.3", "212.112.19.13" ] }, { "vpn": "openvpn", "country": "Sweden", "hostname": "97-1-se.cg-dialup.net", "tcp": true, "ips": [ "46.246.8.148", "46.246.8.150", "46.246.8.153", "46.246.8.156", "46.246.8.167", "46.246.8.181", "188.126.79.9", "188.126.79.20", "188.126.79.23", "188.126.79.29" ] }, { "vpn": "openvpn", "country": "Switzerland", "hostname": "87-1-ch.cg-dialup.net", "udp": true, "ips": [ "84.17.52.10", "84.17.52.15", "84.17.52.32", "84.17.52.44", "84.17.52.78", "84.17.52.81", "102.129.143.38", "102.129.143.39", "102.129.143.89", "102.129.143.90" ] }, { "vpn": "openvpn", "country": "Switzerland", "hostname": "97-1-ch.cg-dialup.net", "tcp": true, "ips": [ "84.17.52.26", "84.17.52.27", "84.17.52.36", "84.17.52.64", "84.17.52.75", "84.17.52.76", "102.129.143.40", "102.129.143.48", "102.129.143.91", "102.129.143.98" ] }, { "vpn": "openvpn", "country": "Taiwan", "hostname": "87-1-tw.cg-dialup.net", "udp": true, "ips": [ "173.244.49.3", "173.244.49.7", "173.244.49.8", "173.244.49.10", "173.244.49.18", "173.244.49.19", "173.244.49.35", "173.244.49.36", "173.244.49.38", "173.244.49.45" ] }, { "vpn": "openvpn", "country": "Taiwan", "hostname": "97-1-tw.cg-dialup.net", "tcp": true, "ips": [ "173.244.49.12", "173.244.49.14", "173.244.49.17", "173.244.49.19", "173.244.49.22", "173.244.49.33", "173.244.49.37", "173.244.49.39", "173.244.49.48", "173.244.49.49" ] }, { "vpn": "openvpn", "country": "Thailand", "hostname": "87-1-th.cg-dialup.net", "udp": true, "ips": [ "173.239.201.2", "173.239.201.3", "173.239.201.9", "173.239.201.12", "173.239.201.13", "173.239.201.17", "173.239.201.19", "173.239.201.24", "173.239.201.25", "173.239.201.26" ] }, { "vpn": "openvpn", "country": "Thailand", "hostname": "97-1-th.cg-dialup.net", "tcp": true, "ips": [ "173.239.201.3", "173.239.201.5", "173.239.201.8", "173.239.201.14", "173.239.201.16", "173.239.201.18", "173.239.201.19", "173.239.201.20", "173.239.201.23", "173.239.201.26" ] }, { "vpn": "openvpn", "country": "Turkey", "hostname": "87-1-tr.cg-dialup.net", "udp": true, "ips": [ "188.213.34.3", "188.213.34.4", "188.213.34.5", "188.213.34.6", "188.213.34.9", "188.213.34.36", "188.213.34.41", "188.213.34.43", "188.213.34.44", "188.213.34.45" ] }, { "vpn": "openvpn", "country": "Turkey", "hostname": "97-1-tr.cg-dialup.net", "tcp": true, "ips": [ "188.213.34.3", "188.213.34.5", "188.213.34.6", "188.213.34.9", "188.213.34.37", "188.213.34.39", "188.213.34.42", "188.213.34.43", "188.213.34.44", "188.213.34.45" ] }, { "vpn": "openvpn", "country": "Ukraine", "hostname": "87-1-ua.cg-dialup.net", "udp": true, "ips": [ "84.239.42.133", "84.239.42.136", "84.239.42.138", "84.239.42.140", "84.239.42.141", "84.239.42.143", "84.239.42.144", "84.239.42.145", "84.239.42.153", "84.239.42.154" ] }, { "vpn": "openvpn", "country": "Ukraine", "hostname": "97-1-ua.cg-dialup.net", "tcp": true, "ips": [ "84.239.42.133", "84.239.42.135", "84.239.42.140", "84.239.42.145", "84.239.42.148", "84.239.42.149", "84.239.42.153", "84.239.42.154", "84.239.42.156", "84.239.42.158" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "hostname": "87-1-ae.cg-dialup.net", "udp": true, "ips": [ "217.138.193.179", "217.138.193.180", "217.138.193.181", "217.138.193.182", "217.138.193.183", "217.138.193.184", "217.138.193.185", "217.138.193.186", "217.138.193.188", "217.138.193.189" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "hostname": "97-1-ae.cg-dialup.net", "tcp": true, "ips": [ "217.138.193.179", "217.138.193.181", "217.138.193.182", "217.138.193.183", "217.138.193.184", "217.138.193.185", "217.138.193.186", "217.138.193.187", "217.138.193.189", "217.138.193.190" ] }, { "vpn": "openvpn", "country": "United Kingdom", "hostname": "87-1-gb.cg-dialup.net", "udp": true, "ips": [ "45.133.172.113", "45.133.172.151", "45.133.173.43", "45.133.173.63", "84.17.51.4", "138.199.30.26", "138.199.63.56", "191.101.209.145", "203.188.182.34", "203.188.182.73" ] }, { "vpn": "openvpn", "country": "United Kingdom", "hostname": "87-19-gb.cg-dialup.net", "udp": true, "ips": [ "141.98.100.196", "141.98.100.198", "141.98.100.200", "141.98.100.201", "141.98.100.203", "141.98.100.206", "141.98.100.208", "141.98.100.210", "141.98.100.212", "141.98.100.215" ] }, { "vpn": "openvpn", "country": "United Kingdom", "hostname": "97-1-gb.cg-dialup.net", "tcp": true, "ips": [ "45.133.172.111", "45.133.172.117", "45.133.172.136", "45.133.173.89", "84.17.51.21", "146.70.121.201", "191.101.209.72", "191.101.209.82", "203.188.182.69", "203.188.182.117" ] }, { "vpn": "openvpn", "country": "United Kingdom", "hostname": "97-19-gb.cg-dialup.net", "tcp": true, "ips": [ "141.98.100.195", "141.98.100.198", "141.98.100.199", "141.98.100.200", "141.98.100.204", "141.98.100.206", "141.98.100.207", "141.98.100.210", "141.98.100.212", "141.98.100.215" ] }, { "vpn": "openvpn", "country": "United States", "hostname": "87-1-us.cg-dialup.net", "udp": true, "ips": [ "79.127.132.7", "84.17.40.94", "89.222.100.35", "102.129.152.196", "156.146.37.81", "156.146.49.170", "156.146.51.216", "191.96.150.181", "191.96.150.223", "191.96.227.191" ] }, { "vpn": "openvpn", "country": "United States", "hostname": "87-19-us.cg-dialup.net", "udp": true, "ips": [ "84.17.35.28", "84.17.35.29", "84.17.35.30", "84.17.35.33", "84.17.35.34", "84.17.35.35", "84.17.35.37", "84.17.35.38", "84.17.35.40", "84.17.35.43" ] }, { "vpn": "openvpn", "country": "United States", "hostname": "97-1-us.cg-dialup.net", "tcp": true, "ips": [ "89.187.171.161", "102.129.152.200", "102.129.153.221", "151.240.205.187", "151.240.205.218", "154.16.49.38", "154.16.49.47", "156.146.36.204", "191.96.150.235", "212.56.53.118" ] }, { "vpn": "openvpn", "country": "United States", "hostname": "97-19-us.cg-dialup.net", "tcp": true, "ips": [ "84.17.35.29", "84.17.35.30", "84.17.35.31", "84.17.35.32", "84.17.35.34", "84.17.35.35", "84.17.35.39", "84.17.35.40", "84.17.35.42", "84.17.35.43" ] }, { "vpn": "openvpn", "country": "Uruguay", "hostname": "87-1-uy.cg-dialup.net", "udp": true, "ips": [ "45.84.102.5", "45.84.102.7", "45.84.102.8", "45.84.102.9", "45.84.102.12", "45.84.102.15", "45.84.102.19", "45.84.102.20", "45.84.102.23", "45.84.102.28" ] }, { "vpn": "openvpn", "country": "Uruguay", "hostname": "97-1-uy.cg-dialup.net", "tcp": true, "ips": [ "45.84.102.6", "45.84.102.7", "45.84.102.9", "45.84.102.11", "45.84.102.13", "45.84.102.19", "45.84.102.20", "45.84.102.21", "45.84.102.25", "45.84.102.28" ] }, { "vpn": "openvpn", "country": "Venezuela", "hostname": "87-1-ve.cg-dialup.net", "udp": true, "ips": [ "95.181.237.131", "95.181.237.133", "95.181.237.134", "95.181.237.135", "95.181.237.136", "95.181.237.137", "95.181.237.138", "95.181.237.139", "95.181.237.143", "95.181.237.144" ] }, { "vpn": "openvpn", "country": "Venezuela", "hostname": "97-1-ve.cg-dialup.net", "tcp": true, "ips": [ "95.181.237.131", "95.181.237.132", "95.181.237.133", "95.181.237.134", "95.181.237.135", "95.181.237.137", "95.181.237.139", "95.181.237.141", "95.181.237.142", "95.181.237.144" ] }, { "vpn": "openvpn", "country": "Vietnam", "hostname": "87-1-vn.cg-dialup.net", "udp": true, "ips": [ "173.239.247.17", "173.239.247.18", "173.239.247.20", "173.239.247.23", "173.239.247.29", "173.239.247.32", "173.239.247.33", "173.239.247.38", "173.239.247.47", "173.239.247.48" ] }, { "vpn": "openvpn", "country": "Vietnam", "hostname": "97-1-vn.cg-dialup.net", "tcp": true, "ips": [ "173.239.247.8", "173.239.247.13", "173.239.247.17", "173.239.247.29", "173.239.247.32", "173.239.247.39", "173.239.247.40", "173.239.247.45", "173.239.247.46", "173.239.247.47" ] } ] }, "expressvpn": { "version": 2, "timestamp": 1757789493, "servers": [ { "vpn": "openvpn", "country": "Albania", "hostname": "albania-ca-version-2.expressnetw.com", "udp": true, "ips": [ "31.171.152.205", "31.171.153.178" ] }, { "vpn": "openvpn", "country": "Algeria", "hostname": "algeria-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.130.203.199", "45.130.203.238" ] }, { "vpn": "openvpn", "country": "Andorra", "hostname": "andorra-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.21", "85.203.22.27" ] }, { "vpn": "openvpn", "country": "Argentina", "hostname": "argentina-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.64.78.62", "185.64.78.159" ] }, { "vpn": "openvpn", "country": "Armenia", "hostname": "armenia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.52", "85.203.22.56" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "hostname": "australia-adelaide--ca-version-2.expressnetw.com", "udp": true, "ips": [ "91.124.88.148", "91.124.88.219" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "australia-brisbane-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.237.90.124", "85.237.90.161", "85.237.90.172" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "australia-melbourne-ca-version-2.expressnetw.com", "udp": true, "ips": [ "140.99.0.5", "140.99.0.30", "140.99.0.98", "140.99.0.141", "140.99.0.154" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "hostname": "australia-perth-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.133.6.169", "45.133.6.176" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "australia-sydney-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "146.103.39.163", "146.103.39.224", "146.103.39.250" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "australia-sydney-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.133.5.174", "45.133.5.226" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Woolloomooloo", "hostname": "australia-woolloomooloo-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.255.124.57", "185.255.124.117", "185.255.124.193" ] }, { "vpn": "openvpn", "country": "Austria", "hostname": "austria-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.95.243.205", "45.95.243.214" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "hostname": "azerbaijan-ca-version-2.expressnetw.com", "udp": true, "ips": [ "94.20.222.179", "94.20.222.195" ] }, { "vpn": "openvpn", "country": "Bahamas", "hostname": "bahamas-ca-version-2.expressnetw.com", "udp": true, "ips": [ "64.64.117.29", "64.64.117.32" ] }, { "vpn": "openvpn", "country": "Bangladesh", "hostname": "bangladesh-ca-version-2.expressnetw.com", "udp": true, "ips": [ "84.17.39.44", "84.17.39.79" ] }, { "vpn": "openvpn", "country": "Belarus", "hostname": "belarus-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.68", "85.203.22.76", "85.203.22.79" ] }, { "vpn": "openvpn", "country": "Belgium", "hostname": "belgium-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.132.187.167", "185.132.187.223", "185.132.187.227" ] }, { "vpn": "openvpn", "country": "Bermuda", "hostname": "bermuda-ca-version-2.expressnetw.com", "udp": true, "ips": [ "173.244.43.35", "173.244.43.77" ] }, { "vpn": "openvpn", "country": "Bhutan", "hostname": "bhutan-ca-version-2.expressnetw.com", "udp": true, "ips": [ "84.17.39.70", "84.17.39.75" ] }, { "vpn": "openvpn", "country": "Bolivia", "hostname": "bolivia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.48.85", "45.91.48.87" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "hostname": "bosniaandherzegovina-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.101", "85.203.22.105" ] }, { "vpn": "openvpn", "country": "Brazil", "hostname": "brazil-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "203.188.168.31", "203.188.168.49", "203.188.168.141" ] }, { "vpn": "openvpn", "country": "Brazil", "hostname": "brazil-ca-version-2.expressnetw.com", "udp": true, "ips": [ "2.57.171.14", "2.57.171.17", "2.57.171.35" ] }, { "vpn": "openvpn", "country": "Brunei", "hostname": "brunei-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.56", "23.27.18.145" ] }, { "vpn": "openvpn", "country": "Bulgaria", "hostname": "bulgaria-ca-version-2.expressnetw.com", "udp": true, "ips": [ "66.56.85.162", "66.56.85.171" ] }, { "vpn": "openvpn", "country": "Cambodia", "hostname": "cambodia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.21", "23.27.18.67" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "canada-montreal-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.23.165", "45.91.23.195", "45.91.23.201" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "canada-toronto-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "89.251.0.217", "89.251.0.251", "89.251.0.254" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "canada-toronto-ca-version-2.expressnetw.com", "udp": true, "ips": [ "50.118.143.96", "50.118.143.120" ] }, { "vpn": "openvpn", "country": "Cayman Islands", "hostname": "caymanislands-ca-version-2.expressnetw.com", "udp": true, "ips": [ "98.159.39.167", "98.159.39.206" ] }, { "vpn": "openvpn", "country": "Chile", "hostname": "chile-ca-version-2.expressnetw.com", "udp": true, "ips": [ "2.57.171.175", "45.91.48.73" ] }, { "vpn": "openvpn", "country": "Colombia", "hostname": "colombia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "31.59.107.77", "31.59.107.209" ] }, { "vpn": "openvpn", "country": "Costa Rica", "hostname": "costarica-ca-version-2.expressnetw.com", "udp": true, "ips": [ "203.188.175.225", "203.188.175.227" ] }, { "vpn": "openvpn", "country": "Croatia", "hostname": "croatia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.20.119", "85.203.20.129" ] }, { "vpn": "openvpn", "country": "Cuba", "hostname": "cuba-ca-version-2.expressnetw.com", "udp": true, "ips": [ "83.219.96.170", "83.219.96.198" ] }, { "vpn": "openvpn", "country": "Cyprus", "hostname": "cyprus-ca-version-2.expressnetw.com", "udp": true, "ips": [ "203.188.190.96", "203.188.190.218" ] }, { "vpn": "openvpn", "country": "Czech Republic", "hostname": "czechrepublic-ca-version-2.expressnetw.com", "udp": true, "ips": [ "82.118.30.152", "203.26.81.85" ] }, { "vpn": "openvpn", "country": "Denmark", "hostname": "denmark-ca-version-2.expressnetw.com", "udp": true, "ips": [ "91.198.200.72", "91.198.200.219" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "hostname": "dominicanrepublic-ca-version-2.expressnetw.com", "udp": true, "ips": [ "31.217.248.45", "31.217.248.79" ] }, { "vpn": "openvpn", "country": "Ecuador", "hostname": "ecuador-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.49.35", "45.91.49.40" ] }, { "vpn": "openvpn", "country": "Egypt", "hostname": "egypt-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.130.203.120", "45.130.203.123" ] }, { "vpn": "openvpn", "country": "Estonia", "hostname": "estonia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "37.77.56.149", "37.77.56.157" ] }, { "vpn": "openvpn", "country": "Finland", "hostname": "finland-ca-version-2.expressnetw.com", "udp": true, "ips": [ "196.244.192.2", "196.244.192.14" ] }, { "vpn": "openvpn", "country": "France", "city": "Alsace", "hostname": "france-alsace-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.255.126.97", "185.255.126.223" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "france-marseille-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.137.124.101", "45.137.124.171", "45.137.124.186", "45.137.124.205", "45.137.124.217" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "france-paris-1-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.22.12", "45.91.22.154" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "france-paris-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "193.68.91.3", "193.68.91.16", "193.68.91.78" ] }, { "vpn": "openvpn", "country": "France", "city": "Strasbourg", "hostname": "france-strasbourg-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.194.178.214", "185.194.178.232" ] }, { "vpn": "openvpn", "country": "Georgia", "hostname": "georgia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "91.239.206.59", "91.239.206.69" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "germany-darmstadt-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.15.185", "85.203.15.223" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "germany-frankfurt-1-ca-version-2.expressnetw.com", "udp": true, "ips": [ "193.68.92.146", "193.68.92.183" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Nuremberg", "hostname": "germany-nuremberg-ca-version-2.expressnetw.com", "udp": true, "ips": [ "212.30.36.109", "212.30.36.136" ] }, { "vpn": "openvpn", "country": "Ghana", "hostname": "ghana-ca-version-2.expressnetw.com", "udp": true, "ips": [ "5.180.179.52", "5.180.179.74" ] }, { "vpn": "openvpn", "country": "Greece", "hostname": "greece-ca-version-2.expressnetw.com", "udp": true, "ips": [ "89.213.226.75", "89.213.226.80" ] }, { "vpn": "openvpn", "country": "Guam", "hostname": "guam-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.129.85.40", "45.129.85.148" ] }, { "vpn": "openvpn", "country": "Guatemala", "hostname": "guatemala-ca-version-2.expressnetw.com", "udp": true, "ips": [ "2.57.171.244", "45.91.49.45" ] }, { "vpn": "openvpn", "country": "Honduras", "hostname": "honduras-ca-version-2.expressnetw.com", "udp": true, "ips": [ "31.217.248.148", "31.217.248.220" ] }, { "vpn": "openvpn", "country": "Hong Kong", "hostname": "hongkong-1-ca-version-2.expressnetw.com", "udp": true, "ips": [ "194.5.83.123", "194.5.83.158" ] }, { "vpn": "openvpn", "country": "Hong Kong", "hostname": "hongkong-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "193.176.211.91", "193.176.211.119", "193.176.211.131" ] }, { "vpn": "openvpn", "country": "Hungary", "hostname": "hungary-ca-version-2.expressnetw.com", "udp": true, "ips": [ "155.2.217.53", "155.2.217.97" ] }, { "vpn": "openvpn", "country": "Iceland", "hostname": "iceland-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.86.201.5", "45.86.201.6", "45.86.201.107" ] }, { "vpn": "openvpn", "country": "India (via Singapore)", "hostname": "india-sg-ca-version-2.expressnetw.com", "udp": true, "ips": [ "194.61.40.200", "194.61.40.213" ] }, { "vpn": "openvpn", "country": "India (via UK)", "hostname": "india-uk-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.137.126.147", "45.137.126.148" ] }, { "vpn": "openvpn", "country": "Indonesia", "hostname": "indonesia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.8.25.112", "45.8.25.124" ] }, { "vpn": "openvpn", "country": "Ireland", "hostname": "ireland-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.192.16.226", "185.192.16.232", "185.192.16.240", "185.192.16.250" ] }, { "vpn": "openvpn", "country": "Isle of Man", "hostname": "isleofman-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.137", "85.203.22.145" ] }, { "vpn": "openvpn", "country": "Israel", "hostname": "israel-ca-version-2.expressnetw.com", "udp": true, "ips": [ "203.159.81.117", "203.159.81.192" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Cosenza", "hostname": "italy-cosenza-ca-version-2.expressnetw.com", "udp": true, "ips": [ "213.21.226.43", "213.21.226.94", "213.21.226.198" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "italy-milan-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.20.143", "45.91.20.193" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Naples", "hostname": "italy-naples-ca-version-2.expressnetw.com", "udp": true, "ips": [ "141.11.36.135", "141.11.36.209" ] }, { "vpn": "openvpn", "country": "Jamaica", "hostname": "jamaica-ca-version-2.expressnetw.com", "udp": true, "ips": [ "83.219.96.60", "83.219.96.70" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "hostname": "japan-osaka-ca-version-2.expressnetw.com", "udp": true, "ips": [ "203.25.124.62", "203.25.124.154", "203.25.124.195", "203.25.124.217", "203.25.124.231" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Shibuya", "hostname": "japan-shibuya-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.84.219.53", "45.84.219.118" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "japan-tokyo-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.208.11.64", "185.208.11.94", "185.208.11.117" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Yokohama", "hostname": "japan-yokohama-ca-version-2.expressnetw.com", "udp": true, "ips": [ "213.21.247.15", "213.21.247.37", "213.21.247.241" ] }, { "vpn": "openvpn", "country": "Jersey", "hostname": "jersey-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.163", "85.203.22.166" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "hostname": "kazakhstan-ca-version-2.expressnetw.com", "udp": true, "ips": [ "84.17.39.5", "84.17.39.7" ] }, { "vpn": "openvpn", "country": "Kenya", "hostname": "kenya-ca-version-2.expressnetw.com", "udp": true, "ips": [ "203.188.189.161", "203.188.189.234" ] }, { "vpn": "openvpn", "country": "Laos", "hostname": "laos-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.41", "185.233.133.82" ] }, { "vpn": "openvpn", "country": "Latvia", "hostname": "latvia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "196.196.52.3", "196.196.106.68" ] }, { "vpn": "openvpn", "country": "Lebanon", "hostname": "lebanon-ca-version-2.expressnetw.com", "udp": true, "ips": [ "5.180.179.228", "5.180.179.238" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "hostname": "liechtenstein-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.179", "85.203.22.180" ] }, { "vpn": "openvpn", "country": "Lithuania", "hostname": "lithuania-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.206.169.8", "85.206.169.151" ] }, { "vpn": "openvpn", "country": "Luxembourg", "hostname": "luxembourg-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.221.132.205", "185.221.132.212", "185.221.132.220" ] }, { "vpn": "openvpn", "country": "Macau", "hostname": "macau-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.170", "185.233.133.22" ] }, { "vpn": "openvpn", "country": "Malaysia", "hostname": "malaysia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "173.239.236.78", "173.239.236.196" ] }, { "vpn": "openvpn", "country": "Malta", "hostname": "malta-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.7", "85.203.22.8" ] }, { "vpn": "openvpn", "country": "Mexico", "hostname": "mexico-ca-version-2.expressnetw.com", "udp": true, "ips": [ "190.93.96.211", "190.93.96.225" ] }, { "vpn": "openvpn", "country": "Moldova", "hostname": "moldova-ca-version-2.expressnetw.com", "udp": true, "ips": [ "178.175.129.12", "178.175.129.20" ] }, { "vpn": "openvpn", "country": "Monaco", "hostname": "monaco-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.209", "85.203.22.212" ] }, { "vpn": "openvpn", "country": "Mongolia", "hostname": "mongolia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.62", "23.27.18.197" ] }, { "vpn": "openvpn", "country": "Montenegro", "hostname": "montenegro-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.229", "85.203.22.233" ] }, { "vpn": "openvpn", "country": "Morocco", "hostname": "morocco-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.137.164.79", "185.137.164.167" ] }, { "vpn": "openvpn", "country": "Myanmar", "hostname": "myanmar-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.149", "23.27.18.150" ] }, { "vpn": "openvpn", "country": "Nepal", "hostname": "nepal-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.194", "23.27.18.198" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "netherlands-amsterdam-ca-version-2.expressnetw.com", "udp": true, "ips": [ "173.239.199.138", "173.239.199.253" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Rotterdam", "hostname": "netherlands-rotterdam-ca-version-2.expressnetw.com", "udp": true, "ips": [ "212.30.37.194", "212.30.37.233" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "The Hague", "hostname": "netherlands-thehague-ca-version-2.expressnetw.com", "udp": true, "ips": [ "193.68.95.15", "193.68.95.129" ] }, { "vpn": "openvpn", "country": "New Zealand", "hostname": "newzealand-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.237.91.217", "85.237.91.242", "85.237.91.250" ] }, { "vpn": "openvpn", "country": "North Macedonia", "hostname": "macedonia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.193", "85.203.22.202" ] }, { "vpn": "openvpn", "country": "Norway", "hostname": "norway-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.13.191.60", "45.13.191.136" ] }, { "vpn": "openvpn", "country": "Pakistan", "hostname": "pakistan-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.27.18.89", "23.27.18.185" ] }, { "vpn": "openvpn", "country": "Panama", "hostname": "panama-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.49.55", "45.91.49.60" ] }, { "vpn": "openvpn", "country": "Peru", "hostname": "peru-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.49.65", "45.91.49.70" ] }, { "vpn": "openvpn", "country": "Philippines (via Singapore)", "hostname": "ph-via-sing-ca-version-2.expressnetw.com", "udp": true, "ips": [ "194.61.41.142", "194.61.41.174" ] }, { "vpn": "openvpn", "country": "Poland", "hostname": "poland-ca-version-2.expressnetw.com", "udp": true, "ips": [ "188.212.135.8", "188.212.135.25", "188.212.135.216" ] }, { "vpn": "openvpn", "country": "Portugal", "hostname": "portugal-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.228.3.121", "185.228.3.206" ] }, { "vpn": "openvpn", "country": "Puerto Rico", "hostname": "puertorico-ca-version-2.expressnetw.com", "udp": true, "ips": [ "98.159.39.56", "98.159.39.94" ] }, { "vpn": "openvpn", "country": "Romania", "hostname": "romania-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.195.19.196", "185.195.19.200" ] }, { "vpn": "openvpn", "country": "Serbia", "hostname": "serbia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "89.38.224.154", "89.38.224.162" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "CBD", "hostname": "singapore-cbd-ca-version-2.expressnetw.com", "udp": true, "ips": [ "194.5.82.174", "194.5.82.224" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Jurong", "hostname": "singapore-jurong-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.233.133.52", "185.233.133.193" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Marina Bay", "hostname": "singapore-marinabay-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.80.6.45", "45.80.6.232", "45.80.6.235", "45.80.6.239" ] }, { "vpn": "openvpn", "country": "Slovakia", "hostname": "slovakia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "66.56.86.49", "66.56.86.59" ] }, { "vpn": "openvpn", "country": "Slovenia", "hostname": "slovenia-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.133", "85.203.22.143" ] }, { "vpn": "openvpn", "country": "South Africa", "hostname": "southafrica-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.132.186.177", "185.132.186.202" ] }, { "vpn": "openvpn", "country": "South Korea", "hostname": "southkorea2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.92.24.28", "185.92.24.189" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Barcelona", "hostname": "spain-barcelona-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.130.136.248", "185.253.99.92" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Barcelona", "hostname": "spain-barcelona2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.67.99.235", "45.67.99.243" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "spain-ca-version-2.expressnetw.com", "udp": true, "ips": [ "89.38.70.39", "89.38.70.105", "89.38.70.144", "89.38.70.153" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "hostname": "srilanka-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.233.133.48", "185.233.133.70" ] }, { "vpn": "openvpn", "country": "Sweden", "hostname": "sweden-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.135.187.110", "45.135.187.196" ] }, { "vpn": "openvpn", "country": "Sweden", "hostname": "sweden2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "178.212.224.123", "178.212.224.240" ] }, { "vpn": "openvpn", "country": "Switzerland", "hostname": "switzerland-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.45.28", "85.203.45.34", "85.203.45.245" ] }, { "vpn": "openvpn", "country": "Switzerland", "hostname": "switzerland-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.132.226.116", "45.132.226.118" ] }, { "vpn": "openvpn", "country": "Taiwan", "hostname": "taiwan-3-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.133.176.181", "45.133.176.201" ] }, { "vpn": "openvpn", "country": "Thailand", "hostname": "thailand-ca-version-2.expressnetw.com", "udp": true, "ips": [ "98.159.43.187", "98.159.43.219" ] }, { "vpn": "openvpn", "country": "Trinidad and Tobago", "hostname": "trinidadandtobago-ca-version-2.expressnetw.com", "udp": true, "ips": [ "173.244.43.153", "173.244.43.204" ] }, { "vpn": "openvpn", "country": "Turkey", "hostname": "turkey-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.130.202.132", "45.130.202.188" ] }, { "vpn": "openvpn", "country": "UK", "city": "Docklands", "hostname": "uk-1-docklands-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.208.9.17", "185.208.9.117" ] }, { "vpn": "openvpn", "country": "UK", "city": "East London", "hostname": "uk-east-london-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.84.216.123", "45.84.216.147" ] }, { "vpn": "openvpn", "country": "UK", "city": "London", "hostname": "uk-london-ca-version-2.expressnetw.com", "udp": true, "ips": [ "5.157.128.101" ] }, { "vpn": "openvpn", "country": "UK", "city": "Midlands", "hostname": "uk-midlands-ca-version-2.expressnetw.com", "udp": true, "ips": [ "212.2.238.246", "213.21.231.115" ] }, { "vpn": "openvpn", "country": "UK", "city": "Tottenham", "hostname": "uk-tottenham-ca-version-2.expressnetw.com", "udp": true, "ips": [ "31.171.130.173", "31.171.130.215", "31.171.130.247" ] }, { "vpn": "openvpn", "country": "UK", "city": "Wembley", "hostname": "uk-wembley-ca-version-2.expressnetw.com", "udp": true, "ips": [ "185.199.157.123", "185.199.157.210", "185.199.157.222" ] }, { "vpn": "openvpn", "country": "USA", "city": "Albuquerque", "hostname": "usa-albuquerque-ca-version-2.expressnetw.com", "udp": true, "ips": [ "98.159.233.129", "98.159.233.178" ] }, { "vpn": "openvpn", "country": "USA", "city": "Atlanta", "hostname": "usa-atlanta-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.80.157.75", "45.80.157.190" ] }, { "vpn": "openvpn", "country": "USA", "city": "Boston", "hostname": "us-boston-ca-version-2.expressnetw.com", "udp": true, "ips": [ "151.240.45.179", "151.240.45.237" ] }, { "vpn": "openvpn", "country": "USA", "city": "Chicago", "hostname": "usa-chicago-ca-version-2.expressnetw.com", "udp": true, "ips": [ "149.19.196.24", "149.19.196.98", "149.19.196.159", "149.19.196.228" ] }, { "vpn": "openvpn", "country": "USA", "city": "Dallas", "hostname": "usa-dallas-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.8.206.10", "45.80.159.34" ] }, { "vpn": "openvpn", "country": "USA", "city": "Denver", "hostname": "usa-denver-ca-version-2.expressnetw.com", "udp": true, "ips": [ "89.116.76.162", "89.116.76.250" ] }, { "vpn": "openvpn", "country": "USA", "city": "Houston", "hostname": "usa-houston-ca-version-2.expressnetw.com", "udp": true, "ips": [ "142.111.152.213", "142.111.152.217", "142.111.152.245" ] }, { "vpn": "openvpn", "country": "USA", "city": "Jackson", "hostname": "us-jackson-ca-version-2.expressnetw.com", "udp": true, "ips": [ "193.36.220.61", "193.36.220.219" ] }, { "vpn": "openvpn", "country": "USA", "city": "Lincoln Park", "hostname": "usa-lincolnpark-ca-version-2.expressnetw.com", "udp": true, "ips": [ "154.16.59.49", "154.16.59.138" ] }, { "vpn": "openvpn", "country": "USA", "city": "Little Rock", "hostname": "us-littlerock-ca-version-2.expressnetw.com", "udp": true, "ips": [ "195.210.106.68", "195.210.106.94" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "usa-losangeles-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "23.230.125.27", "23.230.125.130" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "usa-losangeles-3-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.84.212.142", "45.84.212.209" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "usa-losangeles-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.38.57.26", "45.38.57.89", "45.38.57.201" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "usa-losangeles5-ca-version-2.expressnetw.com", "udp": true, "ips": [ "104.234.227.131", "104.234.227.198" ] }, { "vpn": "openvpn", "country": "USA", "city": "Miami", "hostname": "usa-miami-2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.84.213.45", "45.84.213.102", "45.84.213.134", "45.84.213.150", "45.84.213.203" ] }, { "vpn": "openvpn", "country": "USA", "city": "Miami", "hostname": "usa-miami-ca-version-2.expressnetw.com", "udp": true, "ips": [ "104.234.149.86", "104.234.149.129" ] }, { "vpn": "openvpn", "country": "USA", "city": "New Jersey", "hostname": "usa-newjersey-1-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.38.140.72", "45.38.140.147" ] }, { "vpn": "openvpn", "country": "USA", "city": "New Jersey", "hostname": "usa-newjersey-3-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.85.91.71", "45.85.91.208" ] }, { "vpn": "openvpn", "country": "USA", "city": "New Jersey", "hostname": "usa-newjersey2-ca-version-2.expressnetw.com", "udp": true, "ips": [ "192.253.209.60", "192.253.209.193", "192.253.209.245" ] }, { "vpn": "openvpn", "country": "USA", "city": "New Orleans", "hostname": "us-neworleans-ca-version-2.expressnetw.com", "udp": true, "ips": [ "195.210.127.32", "195.210.127.98" ] }, { "vpn": "openvpn", "country": "USA", "city": "New York", "hostname": "usa-newyork-ca-version-2.expressnetw.com", "udp": true, "ips": [ "173.239.207.174", "173.239.207.176", "216.177.135.133", "216.177.135.154" ] }, { "vpn": "openvpn", "country": "USA", "city": "Oklahoma City", "hostname": "us-oklahoma-ca-version-2.expressnetw.com", "udp": true, "ips": [ "46.173.253.81", "46.173.253.118" ] }, { "vpn": "openvpn", "country": "USA", "city": "Phoenix", "hostname": "usa-phoenix-ca-version-2.expressnetw.com", "udp": true, "ips": [ "216.24.212.90", "216.24.212.118" ] }, { "vpn": "openvpn", "country": "USA", "city": "Salt Lake City", "hostname": "usa-saltlakecity-ca-version-2.expressnetw.com", "udp": true, "ips": [ "89.116.182.136", "89.116.182.182" ] }, { "vpn": "openvpn", "country": "USA", "city": "San Francisco", "hostname": "usa-sanfrancisco-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.38.178.138", "45.38.178.163" ] }, { "vpn": "openvpn", "country": "USA", "city": "Santa Monica", "hostname": "usa-santa-monica-ca-version-2.expressnetw.com", "udp": true, "ips": [ "104.234.225.41", "104.234.225.102", "213.254.160.100" ] }, { "vpn": "openvpn", "country": "USA", "city": "Seattle", "hostname": "usa-seattle-ca-version-2.expressnetw.com", "udp": true, "ips": [ "50.118.162.4", "50.118.162.174" ] }, { "vpn": "openvpn", "country": "USA", "city": "Tampa", "hostname": "usa-tampa-1-ca-version-2.expressnetw.com", "udp": true, "ips": [ "188.213.202.217", "188.213.202.232", "188.213.202.233" ] }, { "vpn": "openvpn", "country": "USA", "city": "Washington DC", "hostname": "usa-washingtondc-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.39.207.52", "45.39.207.107", "45.39.207.205" ] }, { "vpn": "openvpn", "country": "USA", "city": "Wichita", "hostname": "us-wichita-ca-version-2.expressnetw.com", "udp": true, "ips": [ "195.210.125.79", "195.210.125.133" ] }, { "vpn": "openvpn", "country": "Ukraine", "hostname": "ukraine-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.130.81.52", "45.130.81.64" ] }, { "vpn": "openvpn", "country": "Uruguay", "hostname": "uruguay-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.49.75", "45.91.49.80" ] }, { "vpn": "openvpn", "country": "Uzbekistan", "hostname": "uzbekistan-ca-version-2.expressnetw.com", "udp": true, "ips": [ "85.203.22.84", "85.203.22.89" ] }, { "vpn": "openvpn", "country": "Venezuela", "hostname": "venezuela-ca-version-2.expressnetw.com", "udp": true, "ips": [ "45.91.49.85", "45.91.49.90" ] }, { "vpn": "openvpn", "country": "Vietnam", "hostname": "vietnam-ca-version-2.expressnetw.com", "udp": true, "ips": [ "104.164.168.37", "104.164.168.140" ] } ] }, "fastestvpn": { "version": 2, "timestamp": 1722367358, "servers": [ { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "au-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.141.59" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "hostname": "au-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.141.59" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "au-02.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.141.60" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "hostname": "au-02.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.141.60" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "au-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.141.62" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "hostname": "au-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.141.62" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "at-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.146.50" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "hostname": "at-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.146.50" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Wien", "hostname": "at-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.146.50" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Wien", "hostname": "at-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.146.50" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussel", "hostname": "bel-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "193.9.114.210" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussel", "hostname": "bel-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "193.9.114.210" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bel-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "193.9.114.210" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "hostname": "bel-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "193.9.114.210" ] }, { "vpn": "openvpn", "country": "Brazil", "hostname": "br-cf.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "185.192.124.75", "185.192.124.77", "185.192.124.104", "185.192.124.131" ] }, { "vpn": "wireguard", "country": "Brazil", "hostname": "br-cf.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "185.192.124.75", "185.192.124.77", "185.192.124.104", "185.192.124.131" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "bg-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "217.138.221.130" ] }, { "vpn": "wireguard", "country": "Bulgaria", "city": "Sofia", "hostname": "bg-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "217.138.221.130" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "ca-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "5.181.233.122" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "hostname": "ca-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "5.181.233.122" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "ca-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "5.181.233.123" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "hostname": "ca-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "5.181.233.123" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "hk-dbl.jumptoserver.com", "udp": true, "ips": [ "193.239.86.4" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "hostname": "hk-dbl.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "193.239.86.4" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "clmb.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.136.11" ] }, { "vpn": "wireguard", "country": "Colombia", "city": "Bogota", "hostname": "clmb.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.136.11" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "cz-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "45.84.122.154" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "hostname": "cz-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "45.84.122.154" ] }, { "vpn": "openvpn", "country": "Denmark", "hostname": "dk-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.92.82" ] }, { "vpn": "wireguard", "country": "Denmark", "hostname": "dk-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.92.82" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "fi-p2p.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "37.143.129.237" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "hostname": "fi-p2p.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "37.143.129.237" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "fi2.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "37.143.129.237" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "hostname": "fi2.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "37.143.129.237" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "fr.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.40.99" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "hostname": "fr.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.40.99" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "uk-dbl.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "195.191.219.69" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "hostname": "uk-dbl.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "195.191.219.69" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Dusseldorf", "hostname": "de-dus1.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "89.163.157.7" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Dusseldorf", "hostname": "de-dus1.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "89.163.157.7" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Dusseldorf", "hostname": "de-dus2.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "213.202.218.2" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Dusseldorf", "hostname": "de-dus2.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "213.202.218.2" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "de-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.139.154" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "hostname": "de-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.139.154" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athina", "hostname": "grc.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "45.92.33.82" ] }, { "vpn": "wireguard", "country": "Greece", "city": "Athina", "hostname": "grc.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "45.92.33.82" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "HK", "hostname": "hk.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "193.239.86.3" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "HK", "hostname": "hk.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "193.239.86.3" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "hng.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "37.120.144.165" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "hostname": "hng.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "37.120.144.165" ] }, { "vpn": "openvpn", "country": "India", "city": "Mumbai", "hostname": "in-vr.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "45.84.241.2" ] }, { "vpn": "wireguard", "country": "India", "city": "Mumbai", "hostname": "in-vr.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "45.84.241.2" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "ie-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.130.218" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "hostname": "ie-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.130.218" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "ir.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.130.218" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "hostname": "ir.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.130.218" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Assago", "hostname": "it-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "95.174.64.123" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Assago", "hostname": "it-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "95.174.64.123" ] }, { "vpn": "openvpn", "country": "Italy", "city": "milan", "hostname": "it-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "95.174.64.122" ] }, { "vpn": "wireguard", "country": "Italy", "city": "milan", "hostname": "it-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "95.174.64.122" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "jp-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.138.107" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "hostname": "jp-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.138.107" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "jp-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.138.110" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "hostname": "jp-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.138.110" ] }, { "vpn": "openvpn", "country": "Luxembourg", "hostname": "lux1.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "5.253.204.43" ] }, { "vpn": "wireguard", "country": "Luxembourg", "hostname": "lux1.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "5.253.204.43" ] }, { "vpn": "openvpn", "country": "Malaysia", "hostname": "my-cf.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "103.75.116.27", "103.75.116.141", "103.75.116.180" ] }, { "vpn": "wireguard", "country": "Malaysia", "hostname": "my-cf.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "103.75.116.27", "103.75.116.141", "103.75.116.180" ] }, { "vpn": "openvpn", "country": "Mexico", "hostname": "mx-cf.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "147.78.1.112" ] }, { "vpn": "wireguard", "country": "Mexico", "hostname": "mx-cf.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "147.78.1.112" ] }, { "vpn": "openvpn", "country": "Netherlands", "hostname": "nl-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "108.181.123.74" ] }, { "vpn": "wireguard", "country": "Netherlands", "hostname": "nl-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "108.181.123.74" ] }, { "vpn": "openvpn", "country": "Netherlands", "hostname": "nl-02.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "108.181.123.75" ] }, { "vpn": "wireguard", "country": "Netherlands", "hostname": "nl-02.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "108.181.123.75" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "hostname": "nr-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "91.219.215.34" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "hostname": "nr-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "91.219.215.34" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Gdansk", "hostname": "pl.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "37.120.211.234" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Gdansk", "hostname": "pl.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "37.120.211.234" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "pt.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "185.90.57.146" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "hostname": "pt.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "185.90.57.146" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "ro-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.66.130" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "hostname": "ro-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.66.130" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "sg-dvpn.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "91.207.173.101" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "hostname": "sg-dvpn.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "91.207.173.101" ] }, { "vpn": "openvpn", "country": "Russia", "city": "Moscow", "hostname": "ru-vr.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "91.226.58.5" ] }, { "vpn": "wireguard", "country": "Russia", "city": "Moscow", "hostname": "ru-vr.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "91.226.58.5" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "hostname": "jp-dvpn.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.138.108" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "hostname": "jp-dvpn.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.138.108" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "hostname": "rs-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "37.120.193.138" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "hostname": "rs-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "37.120.193.138" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sg-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "91.207.173.99" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "hostname": "sg-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "91.207.173.99" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "svk.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.114.74" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "hostname": "svk.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.114.74" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "sa-jn.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "129.232.176.170" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "hostname": "sa-jn.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "129.232.176.170" ] }, { "vpn": "openvpn", "country": "South Korea", "city": "Seoul", "hostname": "kr.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "103.249.31.36" ] }, { "vpn": "wireguard", "country": "South Korea", "city": "Seoul", "hostname": "kr.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "103.249.31.36" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Barcelona", "hostname": "es-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "108.181.71.242" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Barcelona", "hostname": "es-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "108.181.71.242" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "se-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "146.70.16.234" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "hostname": "se-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "146.70.16.234" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "ch-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "37.120.213.10" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "hostname": "ch-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "37.120.213.10" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Izmir", "hostname": "tr.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "185.123.101.43" ] }, { "vpn": "wireguard", "country": "Turkey", "city": "Izmir", "hostname": "tr.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "185.123.101.43" ] }, { "vpn": "openvpn", "country": "UAE", "city": "Dubai", "hostname": "uae.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "45.9.249.110" ] }, { "vpn": "wireguard", "country": "UAE", "city": "Dubai", "hostname": "uae.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "45.9.249.110" ] }, { "vpn": "openvpn", "country": "UK", "city": "London", "hostname": "uk-01.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "195.191.219.67" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "hostname": "uk-01.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "195.191.219.67" ] }, { "vpn": "openvpn", "country": "UK", "city": "London", "hostname": "uk-02.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "195.191.219.68" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "hostname": "uk-02.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "195.191.219.68" ] }, { "vpn": "openvpn", "country": "USA", "hostname": "us-wt1.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "23.105.160.221" ] }, { "vpn": "wireguard", "country": "USA", "hostname": "us-wt1.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "23.105.160.221" ] }, { "vpn": "openvpn", "country": "USA", "city": "Anchorage", "hostname": "nl-dbl.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "108.181.123.76" ] }, { "vpn": "wireguard", "country": "USA", "city": "Anchorage", "hostname": "nl-dbl.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "108.181.123.76" ] }, { "vpn": "openvpn", "country": "USA", "city": "Ashburn", "hostname": "us-ash.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "108.181.56.98" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn", "hostname": "us-ash.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "108.181.56.98" ] }, { "vpn": "openvpn", "country": "USA", "city": "Atlanta", "hostname": "us-at.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "167.160.88.250" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta", "hostname": "us-at.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "167.160.88.250" ] }, { "vpn": "openvpn", "country": "USA", "city": "Chicago", "hostname": "us-ch.jumptoserver.com", "udp": true, "ips": [ "88.216.97.2" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago", "hostname": "us-ch.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "88.216.97.2" ] }, { "vpn": "openvpn", "country": "USA", "city": "Dallas", "hostname": "us-dl.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "108.181.92.50" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas", "hostname": "us-dl.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "108.181.92.50" ] }, { "vpn": "openvpn", "country": "USA", "city": "Denver", "hostname": "us-dv1.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "139.28.179.82" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver", "hostname": "us-dv1.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "139.28.179.82" ] }, { "vpn": "openvpn", "country": "USA", "city": "Fargo", "hostname": "us-ash-stream.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "108.181.56.100" ] }, { "vpn": "wireguard", "country": "USA", "city": "Fargo", "hostname": "us-ash-stream.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "108.181.56.100" ] }, { "vpn": "openvpn", "country": "USA", "city": "Miami", "hostname": "us-mia.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "37.120.157.250" ] }, { "vpn": "wireguard", "country": "USA", "city": "Miami", "hostname": "us-mia.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "37.120.157.250" ] }, { "vpn": "openvpn", "country": "USA", "city": "New York", "hostname": "us-ny.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "173.208.96.145" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York", "hostname": "us-ny.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "173.208.96.145" ] }, { "vpn": "openvpn", "country": "USA", "city": "Seattle", "hostname": "us-se.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "64.42.176.74" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle", "hostname": "us-se.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "64.42.176.74" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyyiv", "hostname": "ur-kv.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "176.103.54.79" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyyiv", "hostname": "ur-kv.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "176.103.54.79" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "uk-streaming.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "195.191.219.70" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "hostname": "uk-streaming.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "195.191.219.70" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "us-dbl1.jumptoserver.com", "tcp": true, "udp": true, "ips": [ "139.28.179.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "hostname": "us-dbl1.jumptoserver.com", "wgpubkey": "658QxufMbjOTmB61Z7f+c7Rjg7oqWLnepTalqBERjF0=", "ips": [ "139.28.179.83" ] } ] }, "giganews": { "version": 1, "timestamp": 1726044812, "servers": [ { "vpn": "openvpn", "region": "Algeria", "hostname": "dz1.vpn.giganews.com", "udp": true, "ips": [ "128.90.104.253" ] }, { "vpn": "openvpn", "region": "Argentina", "hostname": "ar1.vpn.giganews.com", "udp": true, "ips": [ "216.168.16.35" ] }, { "vpn": "openvpn", "region": "Australia Melbourne", "hostname": "au2.vpn.giganews.com", "udp": true, "ips": [ "64.253.88.29" ] }, { "vpn": "openvpn", "region": "Australia Perth", "hostname": "au3.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.27" ] }, { "vpn": "openvpn", "region": "Australia Sydney", "hostname": "au1.vpn.giganews.com", "udp": true, "ips": [ "64.253.88.21" ] }, { "vpn": "openvpn", "region": "Austria", "hostname": "at1.vpn.giganews.com", "udp": true, "ips": [ "128.90.148.253" ] }, { "vpn": "openvpn", "region": "Bahrain", "hostname": "bh1.vpn.giganews.com", "udp": true, "ips": [ "128.90.63.253" ] }, { "vpn": "openvpn", "region": "Belgium", "hostname": "be1.vpn.giganews.com", "udp": true, "ips": [ "128.90.145.253" ] }, { "vpn": "openvpn", "region": "Brazil", "hostname": "br1.vpn.giganews.com", "udp": true, "ips": [ "216.168.16.33" ] }, { "vpn": "openvpn", "region": "Bulgaria", "hostname": "bg1.vpn.giganews.com", "udp": true, "ips": [ "128.90.167.253" ] }, { "vpn": "openvpn", "region": "Canada", "hostname": "ca1.vpn.giganews.com", "udp": true, "ips": [ "128.90.34.34" ] }, { "vpn": "openvpn", "region": "Columbia", "hostname": "co1.vpn.giganews.com", "udp": true, "ips": [ "216.168.16.37" ] }, { "vpn": "openvpn", "region": "Costa Rica", "hostname": "cr1.vpn.giganews.com", "udp": true, "ips": [ "216.168.16.39" ] }, { "vpn": "openvpn", "region": "Czech Republic", "hostname": "cz1.vpn.giganews.com", "udp": true, "ips": [ "128.90.164.253" ] }, { "vpn": "openvpn", "region": "Denmark", "hostname": "dk1.vpn.giganews.com", "udp": true, "ips": [ "128.90.154.253" ] }, { "vpn": "openvpn", "region": "Dubai", "hostname": "ae1.vpn.giganews.com", "udp": true, "ips": [ "128.90.101.253" ] }, { "vpn": "openvpn", "region": "Egypt", "hostname": "eg1.vpn.giganews.com", "udp": true, "ips": [ "31.6.10.253" ] }, { "vpn": "openvpn", "region": "El Salvador", "hostname": "sv1.vpn.giganews.com", "udp": true, "ips": [ "128.90.34.36" ] }, { "vpn": "openvpn", "region": "Finland", "hostname": "fi1.vpn.giganews.com", "udp": true, "ips": [ "128.90.166.253" ] }, { "vpn": "openvpn", "region": "France", "hostname": "fr1.vpn.giganews.com", "udp": true, "ips": [ "128.90.141.253" ] }, { "vpn": "openvpn", "region": "Germany", "hostname": "de1.vpn.giganews.com", "udp": true, "ips": [ "128.90.128.253" ] }, { "vpn": "openvpn", "region": "Greece", "hostname": "gr1.vpn.giganews.com", "udp": true, "ips": [ "31.6.11.253" ] }, { "vpn": "openvpn", "region": "Hong Kong", "hostname": "hk1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.37" ] }, { "vpn": "openvpn", "region": "Iceland", "hostname": "is1.vpn.giganews.com", "udp": true, "ips": [ "31.6.17.253" ] }, { "vpn": "openvpn", "region": "India", "hostname": "in1.vpn.giganews.com", "udp": true, "ips": [ "128.90.60.253" ] }, { "vpn": "openvpn", "region": "Indonesia", "hostname": "id1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.28" ] }, { "vpn": "openvpn", "region": "Ireland", "hostname": "ie1.vpn.giganews.com", "udp": true, "ips": [ "31.6.19.253" ] }, { "vpn": "openvpn", "region": "Israel", "hostname": "il1.vpn.giganews.com", "udp": true, "ips": [ "128.90.59.253" ] }, { "vpn": "openvpn", "region": "Italy", "hostname": "it1.vpn.giganews.com", "udp": true, "ips": [ "128.90.161.253" ] }, { "vpn": "openvpn", "region": "Japan", "hostname": "jp1.vpn.giganews.com", "udp": true, "ips": [ "216.168.20.20" ] }, { "vpn": "openvpn", "region": "Latvia", "hostname": "lv1.vpn.giganews.com", "udp": true, "ips": [ "128.90.174.253" ] }, { "vpn": "openvpn", "region": "Liechtenstein", "hostname": "li1.vpn.giganews.com", "udp": true, "ips": [ "128.90.177.253" ] }, { "vpn": "openvpn", "region": "Lithuania", "hostname": "lt1.vpn.giganews.com", "udp": true, "ips": [ "128.90.173.253" ] }, { "vpn": "openvpn", "region": "Luxembourg", "hostname": "lu1.vpn.giganews.com", "udp": true, "ips": [ "128.90.165.253" ] }, { "vpn": "openvpn", "region": "Macao", "hostname": "mo1.vpn.giganews.com", "udp": true, "ips": [ "69.167.31.253" ] }, { "vpn": "openvpn", "region": "Malaysia", "hostname": "my1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.29" ] }, { "vpn": "openvpn", "region": "Maldives", "hostname": "mv1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.35" ] }, { "vpn": "openvpn", "region": "Marshall Islands", "hostname": "mh1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.34" ] }, { "vpn": "openvpn", "region": "Mexico", "hostname": "mx1.vpn.giganews.com", "udp": true, "ips": [ "128.90.34.24" ] }, { "vpn": "openvpn", "region": "Netherlands", "hostname": "eu1.vpn.giganews.com", "udp": true, "ips": [ "128.90.135.253" ] }, { "vpn": "openvpn", "region": "New Zealand", "hostname": "nz1.vpn.giganews.com", "udp": true, "ips": [ "64.253.88.29" ] }, { "vpn": "openvpn", "region": "Norway", "hostname": "no1.vpn.giganews.com", "udp": true, "ips": [ "128.90.163.253" ] }, { "vpn": "openvpn", "region": "Pakistan", "hostname": "pk1.vpn.giganews.com", "udp": true, "ips": [ "31.6.58.253" ] }, { "vpn": "openvpn", "region": "Panama", "hostname": "pa1.vpn.giganews.com", "udp": true, "ips": [ "216.168.16.41" ] }, { "vpn": "openvpn", "region": "Philippines", "hostname": "ph1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.30" ] }, { "vpn": "openvpn", "region": "Poland", "hostname": "pl1.vpn.giganews.com", "udp": true, "ips": [ "128.90.170.253" ] }, { "vpn": "openvpn", "region": "Portugal", "hostname": "pt1.vpn.giganews.com", "udp": true, "ips": [ "128.90.168.253" ] }, { "vpn": "openvpn", "region": "Qatar", "hostname": "qa1.vpn.giganews.com", "udp": true, "ips": [ "128.90.62.253" ] }, { "vpn": "openvpn", "region": "Romania", "hostname": "ro1.vpn.giganews.com", "udp": true, "ips": [ "128.90.171.253" ] }, { "vpn": "openvpn", "region": "Russia", "hostname": "ru1.vpn.giganews.com", "udp": true, "ips": [ "128.90.151.253" ] }, { "vpn": "openvpn", "region": "Saudi Arabia", "hostname": "sa1.vpn.giganews.com", "udp": true, "ips": [ "128.90.61.253" ] }, { "vpn": "openvpn", "region": "Singapore", "hostname": "sg1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.31" ] }, { "vpn": "openvpn", "region": "Slovakia", "hostname": "sk1.vpn.giganews.com", "udp": true, "ips": [ "128.90.176.253" ] }, { "vpn": "openvpn", "region": "Slovenia", "hostname": "si1.vpn.giganews.com", "udp": true, "ips": [ "128.90.175.253" ] }, { "vpn": "openvpn", "region": "South Korea", "hostname": "kr1.vpn.giganews.com", "udp": true, "ips": [ "216.168.20.21" ] }, { "vpn": "openvpn", "region": "Spain", "hostname": "es1.vpn.giganews.com", "udp": true, "ips": [ "128.90.157.253" ] }, { "vpn": "openvpn", "region": "Sweden", "hostname": "se1.vpn.giganews.com", "udp": true, "ips": [ "128.90.159.253" ] }, { "vpn": "openvpn", "region": "Switzerland", "hostname": "ch1.vpn.giganews.com", "udp": true, "ips": [ "31.6.41.253" ] }, { "vpn": "openvpn", "region": "Taiwan", "hostname": "tw1.vpn.giganews.com", "udp": true, "ips": [ "69.167.32.253" ] }, { "vpn": "openvpn", "region": "Thailand", "hostname": "th1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.32" ] }, { "vpn": "openvpn", "region": "Turkey", "hostname": "tr1.vpn.giganews.com", "udp": true, "ips": [ "128.90.169.253" ] }, { "vpn": "openvpn", "region": "USA Austin", "hostname": "us3.vpn.giganews.com", "udp": true, "ips": [ "128.90.34.28" ] }, { "vpn": "openvpn", "region": "USA Chicago", "hostname": "us6.vpn.giganews.com", "udp": true, "ips": [ "128.90.34.22" ] }, { "vpn": "openvpn", "region": "USA Los Angeles", "hostname": "us1.vpn.giganews.com", "udp": true, "ips": [ "69.167.28.253" ] }, { "vpn": "openvpn", "region": "USA Miami", "hostname": "us4.vpn.giganews.com", "udp": true, "ips": [ "216.168.16.31" ] }, { "vpn": "openvpn", "region": "USA New York", "hostname": "us5.vpn.giganews.com", "udp": true, "ips": [ "128.90.34.32" ] }, { "vpn": "openvpn", "region": "USA San Francisco", "hostname": "us7.vpn.giganews.com", "udp": true, "ips": [ "69.167.29.253" ] }, { "vpn": "openvpn", "region": "USA Seattle", "hostname": "us8.vpn.giganews.com", "udp": true, "ips": [ "69.167.30.253" ] }, { "vpn": "openvpn", "region": "USA Washington DC", "hostname": "us2.vpn.giganews.com", "udp": true, "ips": [ "209.160.115.253" ] }, { "vpn": "openvpn", "region": "Ukraine", "hostname": "ua1.vpn.giganews.com", "udp": true, "ips": [ "128.90.172.253" ] }, { "vpn": "openvpn", "region": "United Kingdom", "hostname": "uk1.vpn.giganews.com", "udp": true, "ips": [ "178.208.168.253" ] }, { "vpn": "openvpn", "region": "Uruguay", "hostname": "uy1.vpn.giganews.com", "udp": true, "ips": [ "128.90.34.26" ] }, { "vpn": "openvpn", "region": "Vietnam", "hostname": "vn1.vpn.giganews.com", "udp": true, "ips": [ "216.168.18.33" ] } ] }, "hidemyass": { "version": 2, "timestamp": 1632268040, "servers": [ { "vpn": "openvpn", "country": "Afghanistan", "city": "Kabul", "hostname": "af.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.236", "5.62.63.232" ] }, { "vpn": "openvpn", "country": "Aland Islands", "city": "Mariehamn", "hostname": "ax.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.248", "5.62.63.244" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "hostname": "al.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.240", "5.62.63.236" ] }, { "vpn": "openvpn", "country": "Algeria", "city": "Annaba", "hostname": "dz.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.244", "5.62.63.240" ] }, { "vpn": "openvpn", "country": "American Samoa", "city": "Pago Pago", "hostname": "as.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.4", "5.62.58.4" ] }, { "vpn": "openvpn", "country": "Andorra", "city": "Andorrala Vella", "hostname": "ad.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.4", "5.62.62.4" ] }, { "vpn": "openvpn", "country": "Angola", "city": "Luanda", "hostname": "ao.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.8", "5.62.62.8" ] }, { "vpn": "openvpn", "country": "Anguilla", "city": "The Valley", "hostname": "ai.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.8", "5.62.58.8" ] }, { "vpn": "openvpn", "country": "Antiguaand Barbuda", "city": "Saint John's", "hostname": "ag.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.12", "5.62.58.12" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "ar.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.16", "5.62.58.16" ] }, { "vpn": "openvpn", "country": "Armenia", "city": "Tsaghkadzor", "hostname": "am.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.12", "5.62.62.12" ] }, { "vpn": "openvpn", "country": "Aruba", "city": "Palm Beach", "hostname": "aw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.20", "5.62.58.20" ] }, { "vpn": "openvpn", "country": "Australia", "region": "New South Wales", "city": "Sydney", "hostname": "au.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.23.3", "5.62.23.18" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Carinthia", "city": "Klagenfurt", "hostname": "at.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.253.207.3", "91.132.139.115", "94.198.41.94", "94.198.41.110", "94.198.41.142", "185.183.107.163", "185.210.219.99", "185.244.212.30", "185.244.212.35", "185.244.212.190" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "city": "Qusar", "hostname": "az.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.16", "5.62.62.16" ] }, { "vpn": "openvpn", "country": "Bahamas", "city": "Freeport", "hostname": "bs.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.24", "5.62.58.24" ] }, { "vpn": "openvpn", "country": "Bahrain", "city": "Manama", "hostname": "bh.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.20", "5.62.62.20" ] }, { "vpn": "openvpn", "country": "Bangladesh", "city": "Dhaka", "hostname": "bd.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.24", "5.62.62.24" ] }, { "vpn": "openvpn", "country": "Barbados", "city": "Worthing", "hostname": "bb.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.28", "5.62.58.28" ] }, { "vpn": "openvpn", "country": "Belarus", "city": "Minsk", "hostname": "by.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.28", "5.62.62.28" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "be.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.20.24", "5.62.20.33", "5.62.20.34", "5.62.20.44" ] }, { "vpn": "openvpn", "country": "Belize", "city": "Belize City", "hostname": "bz.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.32", "5.62.58.32" ] }, { "vpn": "openvpn", "country": "Benin", "city": "Cotonou", "hostname": "bj.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.32", "5.62.62.32" ] }, { "vpn": "openvpn", "country": "Bermuda", "city": "Hamilton", "hostname": "bm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.36", "5.62.58.36" ] }, { "vpn": "openvpn", "country": "Bhutan", "city": "Thimphu", "hostname": "bt.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.36", "5.62.62.36" ] }, { "vpn": "openvpn", "country": "Bolivia", "city": "Santa Cruz", "hostname": "bo.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.40", "5.62.58.40" ] }, { "vpn": "openvpn", "country": "Bosnia", "city": "Sarajevo", "hostname": "ba.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.40", "5.62.62.40" ] }, { "vpn": "openvpn", "country": "Botswana", "city": "Gaborone", "hostname": "bw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.44", "5.62.62.44" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Joao Pessoa", "hostname": "br.hma.rocks", "tcp": true, "udp": true, "ips": [ "181.215.238.207", "185.54.230.50", "185.54.230.130", "185.54.230.170" ] }, { "vpn": "openvpn", "country": "British Virgin Islands", "city": "Tortola", "hostname": "vg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.44", "5.62.58.44" ] }, { "vpn": "openvpn", "country": "Brunei", "city": "Jerudong", "hostname": "bn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.48", "5.62.62.48" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "bg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.52", "5.62.62.52" ] }, { "vpn": "openvpn", "country": "Burkina Faso", "city": "Ouagadougou", "hostname": "bf.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.56", "5.62.62.56" ] }, { "vpn": "openvpn", "country": "Burundi", "city": "Bujumbura", "hostname": "bi.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.60", "5.62.62.60" ] }, { "vpn": "openvpn", "country": "Cambodia", "city": "Phnom Penh", "hostname": "kh.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.64", "5.62.62.64" ] }, { "vpn": "openvpn", "country": "Cameroon", "city": "Yaounde", "hostname": "cm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.68", "5.62.62.68" ] }, { "vpn": "openvpn", "country": "Canada", "region": "British Columbia", "city": "Vancouver", "hostname": "ca.hma.rocks", "tcp": true, "udp": true, "ips": [ "51.161.54.15", "51.161.66.111", "54.39.219.127", "158.69.234.207", "192.99.89.207", "192.99.110.159", "198.27.103.191" ] }, { "vpn": "openvpn", "country": "Cape Verde", "city": "Cidade Velha", "hostname": "cv.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.72", "5.62.62.72" ] }, { "vpn": "openvpn", "country": "Cayman Islands", "city": "Spot Bay", "hostname": "ky.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.48", "5.62.58.48" ] }, { "vpn": "openvpn", "country": "Central African Republic", "city": "Bangassou", "hostname": "cf.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.76", "5.62.62.76" ] }, { "vpn": "openvpn", "country": "Chad", "city": "N'Djamena", "hostname": "td.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.80", "5.62.62.80" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "hostname": "cl.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.52", "5.62.58.52" ] }, { "vpn": "openvpn", "country": "China", "region": "Sichuan Sheng", "city": "Chengdu", "hostname": "cn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.41.133", "5.62.41.169", "5.62.41.181", "84.17.46.134", "185.246.210.130", "185.246.210.162", "212.102.38.186" ] }, { "vpn": "openvpn", "country": "Christmas Island", "city": "Flying Fish Cove", "hostname": "cx.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.88", "5.62.62.84" ] }, { "vpn": "openvpn", "country": "Cocos Islands", "city": "West Island", "hostname": "cc.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.92", "5.62.62.88" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "San Andres", "hostname": "co.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.60", "5.62.58.56" ] }, { "vpn": "openvpn", "country": "Comoros", "city": "Ouani", "hostname": "km.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.96", "5.62.62.92" ] }, { "vpn": "openvpn", "country": "Congo", "city": "Kinshasa", "hostname": "cd.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.100", "5.62.62.96" ] }, { "vpn": "openvpn", "country": "Cook Islands", "city": "Avarua", "hostname": "ck.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.64", "5.62.58.60" ] }, { "vpn": "openvpn", "country": "Costa Rica", "city": "San Jose", "hostname": "cr.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.68", "5.62.58.64" ] }, { "vpn": "openvpn", "country": "Coted`Ivoire", "city": "Yamoussoukro", "hostname": "ci.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.104", "5.62.62.100" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "hr.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.228", "5.62.63.224" ] }, { "vpn": "openvpn", "country": "Cuba", "city": "Havana", "hostname": "cu.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.72", "5.62.58.68" ] }, { "vpn": "openvpn", "country": "Cyprus", "city": "Limassol", "hostname": "cy.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.108", "5.62.62.104" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "cz.hma.rocks", "tcp": true, "udp": true, "ips": [ "185.246.210.130", "185.246.210.146", "185.246.210.162", "212.102.38.186" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "dk.hma.rocks", "tcp": true, "udp": true, "ips": [ "2.58.46.195", "37.120.232.78", "37.120.232.110", "37.120.232.126", "37.120.232.142", "95.174.65.142", "95.174.65.158", "185.212.169.174", "185.212.169.190", "185.212.169.206" ] }, { "vpn": "openvpn", "country": "Dominica", "city": "Marigot", "hostname": "dm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.76", "5.62.58.72" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "city": "Punta Cana", "hostname": "do.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.80", "5.62.58.76" ] }, { "vpn": "openvpn", "country": "Ecuador", "city": "Quito", "hostname": "ec.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.84", "5.62.58.80" ] }, { "vpn": "openvpn", "country": "Egypt", "city": "Cairo", "hostname": "eg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.112", "5.62.62.108" ] }, { "vpn": "openvpn", "country": "El Salvador", "city": "San Miguel", "hostname": "sv.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.88", "5.62.58.84" ] }, { "vpn": "openvpn", "country": "Equatorial Guinea", "city": "Malabo", "hostname": "gq.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.116", "5.62.62.112" ] }, { "vpn": "openvpn", "country": "Eritrea", "city": "Asmara", "hostname": "er.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.120", "5.62.62.116" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "ee.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.124", "5.62.62.120" ] }, { "vpn": "openvpn", "country": "Ethiopia", "city": "Gondar", "hostname": "et.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.128", "5.62.62.124" ] }, { "vpn": "openvpn", "country": "Falkland Islands", "city": "Stanley", "hostname": "fk.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.92", "5.62.58.88" ] }, { "vpn": "openvpn", "country": "Faroe Islands", "city": "Torshavn", "hostname": "fo.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.132", "5.62.62.128" ] }, { "vpn": "openvpn", "country": "Fiji", "city": "Nadi", "hostname": "fj.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.96", "5.62.58.92" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "fi.hma.rocks", "tcp": true, "udp": true, "ips": [ "185.77.217.16", "185.77.217.31", "185.77.217.61", "185.77.217.76", "185.77.217.91", "185.77.217.106" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "fr.hma.rocks", "tcp": true, "udp": true, "ips": [ "84.17.43.90", "84.17.43.103", "84.17.43.116", "185.93.2.114", "212.83.174.92", "212.83.190.239" ] }, { "vpn": "openvpn", "country": "Gabon", "city": "Libreville", "hostname": "ga.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.136", "5.62.62.132" ] }, { "vpn": "openvpn", "country": "Gambia", "city": "Serekunda", "hostname": "gm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.140", "5.62.62.136" ] }, { "vpn": "openvpn", "country": "Georgia", "city": "Tbilisi", "hostname": "ge.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.144", "5.62.62.140" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt", "hostname": "de.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.41.121", "5.62.41.145", "5.62.41.157", "5.62.41.169", "5.62.41.181" ] }, { "vpn": "openvpn", "country": "Ghana", "city": "Accra", "hostname": "gh.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.148", "5.62.62.144" ] }, { "vpn": "openvpn", "country": "Gibraltar", "city": "Catalan", "hostname": "gi.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.152", "5.62.62.148" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Patras", "hostname": "gr.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.156", "5.62.62.152" ] }, { "vpn": "openvpn", "country": "Greenland", "city": "Ilulissat", "hostname": "gl.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.160", "5.62.62.156" ] }, { "vpn": "openvpn", "country": "Grenada", "city": "Saint George", "hostname": "gd.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.100", "5.62.58.96" ] }, { "vpn": "openvpn", "country": "Guadeloupe", "city": "Le Gosier", "hostname": "gp.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.104", "5.62.58.100" ] }, { "vpn": "openvpn", "country": "Guam", "city": "Tamuning", "hostname": "gu.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.108", "5.62.60.164" ] }, { "vpn": "openvpn", "country": "Guatemala", "city": "Guatemala City", "hostname": "gt.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.112", "5.62.58.104" ] }, { "vpn": "openvpn", "country": "Guinea", "city": "Conakry", "hostname": "gn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.172", "5.62.62.164" ] }, { "vpn": "openvpn", "country": "Guinea-Bissau", "city": "Bissau", "hostname": "gw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.168", "5.62.62.160" ] }, { "vpn": "openvpn", "country": "Guyana", "city": "Barima-Waini", "hostname": "gy.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.116", "5.62.58.108" ] }, { "vpn": "openvpn", "country": "Haiti", "city": "Cap-Haitien", "hostname": "ht.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.120", "5.62.58.112" ] }, { "vpn": "openvpn", "country": "Honduras", "city": "Tegucigalpa", "hostname": "hn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.124", "5.62.58.116" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "hu.hma.rocks", "tcp": true, "udp": true, "ips": [ "37.120.144.78", "185.189.114.62", "185.252.223.62" ] }, { "vpn": "openvpn", "country": "Iceland", "city": "Reykjavik", "hostname": "is.hma.rocks", "tcp": true, "udp": true, "ips": [ "82.221.112.243", "82.221.112.244" ] }, { "vpn": "openvpn", "country": "India", "region": "Maharashtra", "city": "Mumbai", "hostname": "in.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.41.121", "5.62.41.133", "5.62.41.145", "84.17.46.158", "84.17.46.206", "84.17.46.251", "185.246.210.178", "212.102.38.173" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta", "hostname": "id.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.41.133", "5.62.41.145", "5.62.41.157", "5.62.41.169", "84.17.46.134", "84.17.46.158", "84.17.46.182", "84.17.46.251", "185.246.210.130", "185.246.210.146", "185.246.210.178", "185.246.210.194" ] }, { "vpn": "openvpn", "country": "Iran", "city": "Isfahan", "hostname": "ir.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.176", "5.62.62.168" ] }, { "vpn": "openvpn", "country": "Iraq", "city": "Baghdad", "hostname": "iq.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.180", "5.62.62.172" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "ie.hma.rocks", "tcp": true, "udp": true, "ips": [ "78.153.199.5", "78.153.199.29", "78.153.199.243", "81.17.242.165", "146.70.48.78", "146.70.48.94" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Petah Tikva", "hostname": "il.hma.rocks", "tcp": true, "udp": true, "ips": [ "185.185.132.62", "185.185.132.110", "185.185.133.78", "185.185.133.190" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Pordenone", "city": "Porcia", "hostname": "it.hma.rocks", "tcp": true, "udp": true, "ips": [ "45.87.184.15", "45.87.184.31", "45.87.184.79", "45.87.184.95", "84.17.58.168", "84.17.58.213", "84.17.59.45", "84.17.59.59" ] }, { "vpn": "openvpn", "country": "Jamaica", "city": "Montego Bay", "hostname": "jm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.128", "5.62.58.120" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "jp.hma.rocks", "tcp": true, "udp": true, "ips": [ "156.146.35.162", "156.146.35.184", "156.146.35.185", "212.102.51.235" ] }, { "vpn": "openvpn", "country": "Jordan", "city": "Amman", "hostname": "jo.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.188", "5.62.62.180" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "city": "Shymkent", "hostname": "kz.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.192", "5.62.62.184" ] }, { "vpn": "openvpn", "country": "Kenya", "city": "Nairobi", "hostname": "ke.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.196", "5.62.62.188" ] }, { "vpn": "openvpn", "country": "Kiribati", "city": "Umwa Village", "hostname": "ki.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.132", "5.62.58.124" ] }, { "vpn": "openvpn", "country": "Kuwait", "city": "Kuwait City", "hostname": "kw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.200", "5.62.62.192" ] }, { "vpn": "openvpn", "country": "Kyrgyzstan", "city": "Bishkek", "hostname": "kg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.204", "5.62.62.196" ] }, { "vpn": "openvpn", "country": "Laos", "city": "Thakhek", "hostname": "la.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.208", "5.62.62.200" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "hostname": "lv.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.212", "5.62.62.204" ] }, { "vpn": "openvpn", "country": "Lebanon", "city": "Beirut", "hostname": "lb.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.216", "5.62.62.208" ] }, { "vpn": "openvpn", "country": "Lesotho", "city": "Peka", "hostname": "ls.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.220", "5.62.62.212" ] }, { "vpn": "openvpn", "country": "Liberia", "city": "Monrovia", "hostname": "lr.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.224", "5.62.62.216" ] }, { "vpn": "openvpn", "country": "Libya", "city": "Ghadames", "hostname": "ly.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.228", "5.62.62.220" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "city": "Vaduz", "hostname": "li.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.232", "5.62.62.224" ] }, { "vpn": "openvpn", "country": "Lithuania", "city": "Siauliai", "hostname": "lt.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.236", "5.62.62.228" ] }, { "vpn": "openvpn", "country": "Luxembourg", "hostname": "lu.hma.rocks", "tcp": true, "udp": true, "ips": [ "92.38.162.123", "92.38.162.148", "92.38.162.151", "92.38.172.25" ] }, { "vpn": "openvpn", "country": "Macau", "city": "Macau", "hostname": "mo.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.240", "5.62.62.232" ] }, { "vpn": "openvpn", "country": "Macedonia", "city": "Skopje", "hostname": "mk.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.244", "5.62.62.236" ] }, { "vpn": "openvpn", "country": "Madagascar", "city": "Antsiranana", "hostname": "mg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.248", "5.62.62.240" ] }, { "vpn": "openvpn", "country": "Malawi", "city": "Lilongwe", "hostname": "mw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.60.252", "5.62.62.244" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "my.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.41.157", "84.17.46.134", "84.17.46.206", "84.17.46.251", "185.246.210.178" ] }, { "vpn": "openvpn", "country": "Maldives", "city": "Male", "hostname": "mv.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.0", "5.62.62.248" ] }, { "vpn": "openvpn", "country": "Mali", "city": "Bamako", "hostname": "ml.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.4", "5.62.62.252" ] }, { "vpn": "openvpn", "country": "Malta", "city": "Cospicua", "hostname": "mt.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.8", "5.62.63.0" ] }, { "vpn": "openvpn", "country": "Mauritius", "city": "Port Louis", "hostname": "mu.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.16", "5.62.63.8" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "Sinaloa", "city": "Mazatlan", "hostname": "mx.hma.rocks", "tcp": true, "udp": true, "ips": [ "31.14.72.16", "31.14.72.23", "31.14.72.30", "31.14.72.44", "31.14.72.51" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "md.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.20", "5.62.63.12" ] }, { "vpn": "openvpn", "country": "Monaco", "city": "Monaco", "hostname": "mc.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.24", "5.62.63.16" ] }, { "vpn": "openvpn", "country": "Mongolia", "city": "Suhbaatar", "hostname": "mn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.28", "5.62.63.20" ] }, { "vpn": "openvpn", "country": "Montenegro", "city": "Becici", "hostname": "me.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.32", "5.62.63.24" ] }, { "vpn": "openvpn", "country": "Montserrat", "city": "Plymouth", "hostname": "ms.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.136", "5.62.58.128" ] }, { "vpn": "openvpn", "country": "Morocco", "city": "Fes", "hostname": "ma.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.36", "5.62.63.28" ] }, { "vpn": "openvpn", "country": "Mozambique", "city": "Pemba", "hostname": "mz.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.40", "5.62.63.32" ] }, { "vpn": "openvpn", "country": "Myanmar", "city": "Yangon", "hostname": "mm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.44", "5.62.63.36" ] }, { "vpn": "openvpn", "country": "Namibia", "city": "Windhoek", "hostname": "na.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.48", "5.62.63.40" ] }, { "vpn": "openvpn", "country": "Nauru", "city": "Anabar", "hostname": "nr.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.140", "5.62.58.132" ] }, { "vpn": "openvpn", "country": "Nepal", "city": "Janakpur", "hostname": "np.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.52", "5.62.63.44" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "nl.hma.rocks", "tcp": true, "udp": true, "ips": [ "84.17.46.134", "84.17.46.158", "84.17.46.182", "84.17.46.206" ] }, { "vpn": "openvpn", "country": "New Caledonia", "city": "Noumea", "hostname": "nc.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.144", "5.62.58.136" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "nz.hma.rocks", "tcp": true, "udp": true, "ips": [ "103.76.164.3", "103.76.164.19", "103.108.94.243", "103.231.91.131" ] }, { "vpn": "openvpn", "country": "Nicaragua", "city": "Managua", "hostname": "ni.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.148", "5.62.58.140" ] }, { "vpn": "openvpn", "country": "Niger", "city": "Niamey", "hostname": "ne.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.56", "5.62.63.48" ] }, { "vpn": "openvpn", "country": "Nigeria", "city": "Lagos", "hostname": "ng.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.60", "5.62.63.52" ] }, { "vpn": "openvpn", "country": "Niue", "city": "Alofi", "hostname": "nu.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.152", "5.62.58.144" ] }, { "vpn": "openvpn", "country": "Norfolk Island", "city": "Kingston", "hostname": "nf.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.156", "5.62.58.148" ] }, { "vpn": "openvpn", "country": "North Korea", "city": "Manpo", "hostname": "kp.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.160", "5.62.61.64" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "hostname": "no.hma.rocks", "tcp": true, "udp": true, "ips": [ "185.101.32.48", "217.170.201.254", "217.170.203.128", "217.170.204.160", "217.170.204.223", "217.170.206.31" ] }, { "vpn": "openvpn", "country": "Oman", "city": "Salalah", "hostname": "om.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.68", "5.62.63.56" ] }, { "vpn": "openvpn", "country": "Pakistan", "city": "Karachi", "hostname": "pk.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.72", "5.62.63.60" ] }, { "vpn": "openvpn", "country": "Palau", "city": "Melekeok", "hostname": "pw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.164", "5.62.61.76" ] }, { "vpn": "openvpn", "country": "Palestine", "city": "Bethlehem", "hostname": "ps.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.80", "5.62.63.64" ] }, { "vpn": "openvpn", "country": "Panama", "city": "Panama City", "hostname": "pa.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.168", "5.62.58.152" ] }, { "vpn": "openvpn", "country": "Papua New Guinea", "city": "Alotau", "hostname": "pg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.172", "5.62.61.84" ] }, { "vpn": "openvpn", "country": "Paraguay", "city": "Boqueron", "hostname": "py.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.176", "5.62.58.156" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Cusco", "hostname": "pe.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.180", "5.62.58.160" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Baguio", "hostname": "ph.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.184", "5.62.61.88" ] }, { "vpn": "openvpn", "country": "Pitcairn Islands", "city": "Adamstown", "hostname": "pn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.188", "5.62.58.164" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "pl.hma.rocks", "tcp": true, "udp": true, "ips": [ "84.17.55.26", "185.246.208.34", "185.246.208.130", "185.246.208.157" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Leiria", "hostname": "pt.hma.rocks", "tcp": true, "udp": true, "ips": [ "91.250.240.113", "91.250.240.193", "194.39.126.135" ] }, { "vpn": "openvpn", "country": "Puerto Rico", "city": "San Juan", "hostname": "pr.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.192", "5.62.58.168" ] }, { "vpn": "openvpn", "country": "Qatar", "city": "Doha", "hostname": "qa.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.92", "5.62.63.68" ] }, { "vpn": "openvpn", "country": "Republicof Djibouti", "city": "Djibouti", "hostname": "dj.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.96", "5.62.63.72" ] }, { "vpn": "openvpn", "country": "Republicof Singapore", "city": "Singapore", "hostname": "sg.hma.rocks", "tcp": true, "udp": true, "ips": [ "92.223.85.20", "92.223.85.75", "92.223.85.77", "92.223.85.106", "92.223.85.113", "92.223.86.8", "92.223.86.46" ] }, { "vpn": "openvpn", "country": "Republicofthe Congo", "city": "Brazzaville", "hostname": "cg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.100", "5.62.63.76" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "ro.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.104", "5.62.63.80" ] }, { "vpn": "openvpn", "country": "Russia", "city": "Moscow", "hostname": "ru.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.19.47", "5.62.19.55", "5.62.19.63" ] }, { "vpn": "openvpn", "country": "Rwanda", "city": "Kigali", "hostname": "rw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.108", "5.62.63.84" ] }, { "vpn": "openvpn", "country": "Saint Helena", "city": "Tristan Da Cunha", "hostname": "sh.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.112", "5.62.63.88" ] }, { "vpn": "openvpn", "country": "Saint Kittsand Nevis", "city": "Basseterre", "hostname": "kn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.196", "5.62.58.172" ] }, { "vpn": "openvpn", "country": "Saint Lucia", "city": "Gros Islet", "hostname": "lc.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.200", "5.62.58.176" ] }, { "vpn": "openvpn", "country": "Saint Pierreand Miquelon", "city": "Saint-Pierre", "hostname": "pm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.58.180", "5.62.63.92" ] }, { "vpn": "openvpn", "country": "Saint Vincentandthe Grenadines", "city": "Kingstown", "hostname": "vc.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.204", "5.62.58.184" ] }, { "vpn": "openvpn", "country": "Samoa", "city": "Matatufu", "hostname": "ws.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.208", "5.62.58.188" ] }, { "vpn": "openvpn", "country": "San Marino", "city": "San Marino", "hostname": "sm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.116", "5.62.63.96" ] }, { "vpn": "openvpn", "country": "Sao Tomeand Principe", "city": "Sao Tome", "hostname": "st.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.120", "5.62.63.100" ] }, { "vpn": "openvpn", "country": "Saudi Arabia", "city": "Riyadh", "hostname": "sa.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.124", "5.62.63.104" ] }, { "vpn": "openvpn", "country": "Senegal", "city": "Dakar", "hostname": "sn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.128", "5.62.63.108" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "hostname": "rs.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.132", "5.62.63.112" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "sk.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.140", "5.62.63.120" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Vrhnika", "hostname": "si.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.144", "5.62.63.124" ] }, { "vpn": "openvpn", "country": "Solomon Islands", "city": "Honiara", "hostname": "sb.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.212", "5.62.58.192" ] }, { "vpn": "openvpn", "country": "Somalia", "city": "Afgooye", "hostname": "so.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.148", "5.62.63.128" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "za.hma.rocks", "tcp": true, "udp": true, "ips": [ "102.165.47.160", "102.165.47.176", "154.70.155.144" ] }, { "vpn": "openvpn", "country": "South Korea", "city": "Seoul", "hostname": "kr.hma.rocks", "tcp": true, "udp": true, "ips": [ "185.54.229.41", "185.54.229.57", "185.54.229.73" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Alicante", "hostname": "es.hma.rocks", "tcp": true, "udp": true, "ips": [ "82.102.17.126", "89.38.226.238", "217.138.218.126" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "city": "Moratuwa", "hostname": "lk.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.152", "5.62.63.132" ] }, { "vpn": "openvpn", "country": "Sudan", "city": "Khartoum", "hostname": "sd.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.156", "5.62.63.136" ] }, { "vpn": "openvpn", "country": "Suriname", "city": "Paramaribo", "hostname": "sr.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.216", "5.62.58.196" ] }, { "vpn": "openvpn", "country": "Svalbardand Jan Mayen", "city": "Longyearbyen", "hostname": "sj.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.160", "5.62.63.140" ] }, { "vpn": "openvpn", "country": "Swaziland", "city": "Manzini", "hostname": "sz.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.220", "5.62.58.200" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Stockholm", "city": "Nacka", "hostname": "se.hma.rocks", "tcp": true, "udp": true, "ips": [ "31.3.152.118", "31.3.152.170", "31.3.153.140", "37.46.121.240", "128.127.105.164" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "ch.hma.rocks", "tcp": true, "udp": true, "ips": [ "84.17.52.141", "84.17.52.154", "84.17.52.167", "84.17.52.180", "84.17.52.240", "89.187.165.179" ] }, { "vpn": "openvpn", "country": "Syria", "city": "Ad Darah", "hostname": "sy.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.164", "5.62.63.144" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.41.121", "5.62.41.133", "5.62.41.145", "5.62.41.157", "5.62.41.169", "5.62.41.181", "84.17.46.182", "185.246.210.130", "185.246.210.146", "185.246.210.178", "185.246.210.194" ] }, { "vpn": "openvpn", "country": "Tajikistan", "city": "Dushanbe", "hostname": "tj.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.168", "5.62.63.148" ] }, { "vpn": "openvpn", "country": "Tanzania", "city": "Arusha", "hostname": "tz.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.172", "5.62.63.152" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "hostname": "th.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.176", "5.62.63.156" ] }, { "vpn": "openvpn", "country": "Togo", "city": "Lome", "hostname": "tg.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.180", "5.62.63.160" ] }, { "vpn": "openvpn", "country": "Tokelau", "city": "Atafu", "hostname": "tk.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.224", "5.62.58.204" ] }, { "vpn": "openvpn", "country": "Tonga", "city": "Nukualofa", "hostname": "to.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.228", "5.62.58.208" ] }, { "vpn": "openvpn", "country": "Trinidadand Tobago", "city": "San Fernando", "hostname": "tt.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.232", "5.62.58.212" ] }, { "vpn": "openvpn", "country": "Tunisia", "city": "Mahdia", "hostname": "tn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.184", "5.62.63.164" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "tr.hma.rocks", "tcp": true, "udp": true, "ips": [ "92.38.180.63", "92.38.180.76", "92.38.180.86" ] }, { "vpn": "openvpn", "country": "Turkmenistan", "city": "Ashgabat", "hostname": "tm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.188", "5.62.63.168" ] }, { "vpn": "openvpn", "country": "Turksand Caicos Islands", "city": "Balfour Town", "hostname": "tc.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.236", "5.62.58.216" ] }, { "vpn": "openvpn", "country": "Tuvalu", "city": "Vaitupu", "hostname": "tv.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.240", "5.62.58.220" ] }, { "vpn": "openvpn", "country": "UK", "hostname": "gb.hma.rocks", "tcp": true, "udp": true, "ips": [ "62.128.207.110", "62.128.217.85", "62.128.217.112", "80.75.64.66", "87.117.225.146", "87.117.225.160", "87.117.225.174", "109.169.34.42", "109.169.34.62" ] }, { "vpn": "openvpn", "country": "UK", "city": "London", "hostname": "london.gb.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.43.202", "5.62.43.218", "5.62.43.229", "77.234.43.130", "77.234.43.166", "77.234.43.175", "77.234.43.185" ] }, { "vpn": "openvpn", "country": "UK", "region": "Scotland", "city": "Glasgow", "hostname": "scotland.gb.hma.rocks", "tcp": true, "udp": true, "ips": [ "62.128.207.110", "62.128.217.85", "62.128.217.112", "87.117.225.146", "87.117.225.160", "109.169.34.23", "109.169.34.62" ] }, { "vpn": "openvpn", "country": "USA", "hostname": "us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.84", "5.62.59.64" ] }, { "vpn": "openvpn", "country": "USA", "region": "Alabama", "city": "Montgomery", "hostname": "al.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "95.142.127.16", "95.142.127.25" ] }, { "vpn": "openvpn", "country": "USA", "region": "Alaska", "city": "Anchorage", "hostname": "ak.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.252", "5.62.58.232" ] }, { "vpn": "openvpn", "country": "USA", "region": "Arizona", "city": "Phoenix", "hostname": "az.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "23.83.130.34", "23.83.131.211", "23.83.131.215", "23.83.132.155", "23.83.132.176", "23.83.185.20" ] }, { "vpn": "openvpn", "country": "USA", "region": "Arkansas", "city": "Magnolia", "hostname": "ar.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.0", "5.62.58.236" ] }, { "vpn": "openvpn", "country": "USA", "region": "California", "city": "Los Angeles", "hostname": "ca.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "67.201.33.54", "107.181.178.97", "143.244.51.66", "162.253.68.177", "162.253.68.209", "162.253.68.241", "192.252.220.49" ] }, { "vpn": "openvpn", "country": "USA", "region": "Connecticut", "city": "Trumbull", "hostname": "ct.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.16.16", "5.62.16.25" ] }, { "vpn": "openvpn", "country": "USA", "region": "Delaware", "city": "Wilmington", "hostname": "de.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.4", "5.62.58.240" ] }, { "vpn": "openvpn", "country": "USA", "region": "Florida", "city": "Miami", "hostname": "fl.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "171.22.76.15", "171.22.76.47", "171.22.76.63", "171.22.76.79", "171.22.76.95" ] }, { "vpn": "openvpn", "country": "USA", "region": "Georgia", "city": "Atlanta", "hostname": "ga.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.24.15", "5.62.24.31", "5.62.24.46", "5.62.24.61", "66.115.181.161", "66.115.181.209", "66.115.181.225" ] }, { "vpn": "openvpn", "country": "USA", "region": "Hawaii", "city": "Honolulu", "hostname": "hi.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "131.100.2.51", "131.100.2.99", "131.100.2.121", "131.100.2.222" ] }, { "vpn": "openvpn", "country": "USA", "region": "Idaho", "city": "Idaho Falls", "hostname": "id.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.12", "5.62.58.248" ] }, { "vpn": "openvpn", "country": "USA", "region": "Illinois", "city": "Chicago", "hostname": "il.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "154.16.241.255", "181.214.58.176", "181.214.61.48", "181.214.61.64", "181.214.99.159", "181.214.102.159", "181.214.107.31", "181.214.107.47", "181.214.107.63", "181.215.127.240", "191.101.170.30" ] }, { "vpn": "openvpn", "country": "USA", "region": "Indiana", "city": "South Bend", "hostname": "in.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "198.134.108.67", "198.134.109.131" ] }, { "vpn": "openvpn", "country": "USA", "region": "Iowa", "city": "Des Moines", "hostname": "ia.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.104", "5.62.59.84" ] }, { "vpn": "openvpn", "country": "USA", "region": "Kansas", "city": "Wichita", "hostname": "ks.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.16", "5.62.58.252" ] }, { "vpn": "openvpn", "country": "USA", "region": "Kentucky", "city": "Louisville", "hostname": "ky.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.20", "5.62.59.0" ] }, { "vpn": "openvpn", "country": "USA", "region": "Louisiana", "city": "New Orleans", "hostname": "la.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.24", "5.62.59.4" ] }, { "vpn": "openvpn", "country": "USA", "region": "Maine", "city": "Bath", "hostname": "me.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.28", "5.62.59.8" ] }, { "vpn": "openvpn", "country": "USA", "region": "Maryland", "city": "Baltimore", "hostname": "md.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.32", "5.62.59.12" ] }, { "vpn": "openvpn", "country": "USA", "region": "Massachusetts", "city": "Boston", "hostname": "ma.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "38.146.55.35", "38.146.55.115", "38.146.57.205", "38.146.57.253", "38.242.7.243", "154.3.129.61", "154.3.222.163" ] }, { "vpn": "openvpn", "country": "USA", "region": "Michigan", "city": "Lansing", "hostname": "mi.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.36", "5.62.59.16" ] }, { "vpn": "openvpn", "country": "USA", "region": "Minnesota", "city": "Saint Paul", "hostname": "mn.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.108", "5.62.59.88" ] }, { "vpn": "openvpn", "country": "USA", "region": "Mississippi", "city": "Louisville", "hostname": "ms.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.40", "5.62.59.20" ] }, { "vpn": "openvpn", "country": "USA", "region": "Missouri", "city": "Kansas City", "hostname": "mo.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "209.239.115.164", "209.239.115.186" ] }, { "vpn": "openvpn", "country": "USA", "region": "Montana", "city": "Billings", "hostname": "mt.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.116", "5.62.59.92" ] }, { "vpn": "openvpn", "country": "USA", "region": "Nebraska", "city": "Omaha", "hostname": "ne.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.44", "5.62.59.24" ] }, { "vpn": "openvpn", "country": "USA", "region": "Nevada", "city": "Las Vegas", "hostname": "nv.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "76.164.200.114", "76.164.202.190", "76.164.205.194", "76.164.224.211", "76.164.225.75" ] }, { "vpn": "openvpn", "country": "USA", "region": "New Hampshire", "city": "Bedford", "hostname": "nh.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.48", "5.62.59.28" ] }, { "vpn": "openvpn", "country": "USA", "region": "New York", "city": "Manhattan", "hostname": "ny.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "156.146.36.103", "156.146.36.116", "212.102.33.50", "212.102.33.77", "212.102.33.90", "212.102.33.176", "212.102.33.192", "212.102.33.208", "212.102.33.224", "212.102.33.251" ] }, { "vpn": "openvpn", "country": "USA", "region": "North Carolina", "city": "Asheville", "hostname": "nc.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "104.247.208.78", "104.247.208.94", "104.247.208.110", "104.247.208.126", "104.247.208.142", "104.247.208.158", "104.247.208.174" ] }, { "vpn": "openvpn", "country": "USA", "region": "North Dakota", "city": "Grand Forks", "hostname": "nd.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.60", "5.62.59.40" ] }, { "vpn": "openvpn", "country": "USA", "region": "Ohio", "city": "Columbus", "hostname": "oh.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "199.114.218.99", "199.114.218.115" ] }, { "vpn": "openvpn", "country": "USA", "region": "Oklahoma", "city": "Oklahoma City", "hostname": "ok.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "216.107.129.115", "216.107.129.131" ] }, { "vpn": "openvpn", "country": "USA", "region": "Pennsylvania", "city": "Wilkes-Barre", "hostname": "pa.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.64", "5.62.59.44" ] }, { "vpn": "openvpn", "country": "USA", "region": "Rhode Island", "city": "Providence", "hostname": "ri.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.68", "5.62.59.48" ] }, { "vpn": "openvpn", "country": "USA", "region": "South Carolina", "city": "Columbia", "hostname": "sc.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.72", "5.62.59.52" ] }, { "vpn": "openvpn", "country": "USA", "region": "South Dakota", "city": "Sioux Falls", "hostname": "sd.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.76", "5.62.59.56" ] }, { "vpn": "openvpn", "country": "USA", "region": "Tennessee", "city": "Nashville", "hostname": "tn.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.80", "5.62.59.60" ] }, { "vpn": "openvpn", "country": "USA", "region": "Texas", "city": "Dallas", "hostname": "tx.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "89.187.164.144", "89.187.164.176", "156.146.38.154", "212.102.40.13", "212.102.40.141", "212.102.40.154" ] }, { "vpn": "openvpn", "country": "USA", "region": "Utah", "city": "Salt Lake City", "hostname": "ut.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "69.36.169.129", "199.189.106.235", "199.189.106.239", "199.189.106.245", "199.189.106.251", "209.95.34.73", "209.95.56.199" ] }, { "vpn": "openvpn", "country": "USA", "region": "Vermont", "city": "Rutland", "hostname": "vt.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.84", "5.62.59.64" ] }, { "vpn": "openvpn", "country": "USA", "region": "Virginia", "city": "Ashburn", "hostname": "va.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "198.98.183.37", "198.98.183.133", "198.98.183.152" ] }, { "vpn": "openvpn", "country": "USA", "region": "Washington", "city": "Seattle", "hostname": "wa.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "66.115.149.65", "66.115.149.81", "66.115.149.97", "172.98.86.150", "199.187.211.46", "199.187.211.92", "199.187.211.142", "199.187.211.157", "199.187.211.232", "199.187.211.247", "199.229.250.241" ] }, { "vpn": "openvpn", "country": "USA", "region": "West Virginia", "city": "Philippi", "hostname": "wv.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.88", "5.62.59.68" ] }, { "vpn": "openvpn", "country": "USA", "region": "Wisconsin", "city": "Madison", "hostname": "wi.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "204.15.110.131", "204.15.110.163" ] }, { "vpn": "openvpn", "country": "USA", "region": "Wyoming", "city": "Cheyenne", "hostname": "wy.us.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.92", "5.62.59.72" ] }, { "vpn": "openvpn", "country": "Uganda", "city": "Kampala", "hostname": "ug.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.192", "5.62.63.172" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Odessa", "hostname": "ua.hma.rocks", "tcp": true, "udp": true, "ips": [ "143.244.45.141", "143.244.45.154" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "ae.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.200", "5.62.63.188" ] }, { "vpn": "openvpn", "country": "Uruguay", "city": "Montevideo", "hostname": "uy.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.56.244", "5.62.58.224" ] }, { "vpn": "openvpn", "country": "Uzbekistan", "city": "Samarkand", "hostname": "uz.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.204", "5.62.63.192" ] }, { "vpn": "openvpn", "country": "Vanuatu", "city": "Loltong", "hostname": "vu.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.96", "5.62.59.76" ] }, { "vpn": "openvpn", "country": "Vatican", "city": "Vatican City", "hostname": "va.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.208", "5.62.63.196" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas", "hostname": "ve.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.57.100", "5.62.59.80" ] }, { "vpn": "openvpn", "country": "Vietnam", "city": "Ho Chi Minh City", "hostname": "vn.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.212", "5.62.63.200" ] }, { "vpn": "openvpn", "country": "Yemen", "city": "Sanaa", "hostname": "ye.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.216", "5.62.63.204" ] }, { "vpn": "openvpn", "country": "Zambia", "city": "Lusaka", "hostname": "zm.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.220", "5.62.63.208" ] }, { "vpn": "openvpn", "country": "Zimbabwe", "city": "Harare", "hostname": "zw.hma.rocks", "tcp": true, "udp": true, "ips": [ "5.62.61.224", "5.62.63.212" ] } ] }, "ipvanish": { "version": 2, "timestamp": 1769283042, "servers": [ { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "hostname": "tia-c01.ipvanish.com", "udp": true, "ips": [ "80.246.28.48" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "hostname": "tia-c02.ipvanish.com", "udp": true, "ips": [ "80.246.28.3" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "hostname": "tia-c03.ipvanish.com", "udp": true, "ips": [ "80.246.28.5" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "hostname": "tia-c05.ipvanish.com", "udp": true, "ips": [ "80.246.28.9" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "hostname": "tia-c07.ipvanish.com", "udp": true, "ips": [ "80.246.28.52" ] }, { "vpn": "openvpn", "country": "Algeria", "city": "Algiers Virtual", "hostname": "alg-c01.ipvanish.com", "udp": true, "ips": [ "209.107.216.130" ] }, { "vpn": "openvpn", "country": "Algeria", "city": "Algiers Virtual", "hostname": "alg-c02.ipvanish.com", "udp": true, "ips": [ "209.107.216.136" ] }, { "vpn": "openvpn", "country": "Algeria", "city": "Algiers Virtual", "hostname": "alg-c03.ipvanish.com", "udp": true, "ips": [ "209.107.216.142" ] }, { "vpn": "openvpn", "country": "Andorra", "city": "Andorra La Vella Virtual", "hostname": "adv-c01.ipvanish.com", "udp": true, "ips": [ "176.67.85.194" ] }, { "vpn": "openvpn", "country": "Andorra", "city": "Andorra La Vella Virtual", "hostname": "adv-c02.ipvanish.com", "udp": true, "ips": [ "176.67.85.200" ] }, { "vpn": "openvpn", "country": "Andorra", "city": "Andorra La Vella Virtual", "hostname": "adv-c03.ipvanish.com", "udp": true, "ips": [ "176.67.85.206" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c05.ipvanish.com", "udp": true, "ips": [ "64.145.79.5" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c06.ipvanish.com", "udp": true, "ips": [ "64.145.79.11" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c07.ipvanish.com", "udp": true, "ips": [ "64.145.79.17" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c08.ipvanish.com", "udp": true, "ips": [ "64.145.79.23" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c09.ipvanish.com", "udp": true, "ips": [ "64.145.79.29" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c12.ipvanish.com", "udp": true, "ips": [ "64.145.79.47" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c13.ipvanish.com", "udp": true, "ips": [ "64.145.79.53" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c14.ipvanish.com", "udp": true, "ips": [ "64.145.79.59" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c15.ipvanish.com", "udp": true, "ips": [ "64.145.79.65" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "hostname": "eze-c16.ipvanish.com", "udp": true, "ips": [ "64.145.79.71" ] }, { "vpn": "openvpn", "country": "Armenia", "city": "Yerevan Virtual", "hostname": "evn-c01.ipvanish.com", "udp": true, "ips": [ "36.255.204.162" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "hostname": "adl-c01.ipvanish.com", "udp": true, "ips": [ "116.90.73.3" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "hostname": "adl-c02.ipvanish.com", "udp": true, "ips": [ "116.90.73.7" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "hostname": "adl-c03.ipvanish.com", "udp": true, "ips": [ "116.90.73.11" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "hostname": "adl-c04.ipvanish.com", "udp": true, "ips": [ "116.90.73.15" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "hostname": "adl-c05.ipvanish.com", "udp": true, "ips": [ "116.90.73.19" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "hostname": "adl-c06.ipvanish.com", "udp": true, "ips": [ "116.90.73.23" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c02.ipvanish.com", "udp": true, "ips": [ "103.137.12.70" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c03.ipvanish.com", "udp": true, "ips": [ "103.137.12.72" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c05.ipvanish.com", "udp": true, "ips": [ "103.137.12.83" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c06.ipvanish.com", "udp": true, "ips": [ "103.137.12.85" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c07.ipvanish.com", "udp": true, "ips": [ "103.62.50.226" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c08.ipvanish.com", "udp": true, "ips": [ "103.62.50.230" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c09.ipvanish.com", "udp": true, "ips": [ "103.62.50.234" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c10.ipvanish.com", "udp": true, "ips": [ "103.62.50.238" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "hostname": "bne-c11.ipvanish.com", "udp": true, "ips": [ "103.62.50.242" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b06.ipvanish.com", "udp": true, "ips": [ "103.209.254.33" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b08.ipvanish.com", "udp": true, "ips": [ "103.209.254.45" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b10.ipvanish.com", "udp": true, "ips": [ "103.209.254.57" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b11.ipvanish.com", "udp": true, "ips": [ "103.209.254.63" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b12.ipvanish.com", "udp": true, "ips": [ "103.209.254.69" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b13.ipvanish.com", "udp": true, "ips": [ "103.209.254.75" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b14.ipvanish.com", "udp": true, "ips": [ "103.209.254.81" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b19.ipvanish.com", "udp": true, "ips": [ "103.209.254.111" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b20.ipvanish.com", "udp": true, "ips": [ "103.209.254.117" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b22.ipvanish.com", "udp": true, "ips": [ "103.209.254.129" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b24.ipvanish.com", "udp": true, "ips": [ "103.209.254.142" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b25.ipvanish.com", "udp": true, "ips": [ "103.209.254.148" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b26.ipvanish.com", "udp": true, "ips": [ "103.209.254.154" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b27.ipvanish.com", "udp": true, "ips": [ "103.209.254.160" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b29.ipvanish.com", "udp": true, "ips": [ "103.209.254.172" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b31.ipvanish.com", "udp": true, "ips": [ "103.209.254.184" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "mel-b33.ipvanish.com", "udp": true, "ips": [ "103.209.254.196" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "hostname": "per-c02.ipvanish.com", "udp": true, "ips": [ "103.107.197.38" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "hostname": "per-c03.ipvanish.com", "udp": true, "ips": [ "103.107.197.40" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "hostname": "per-c06.ipvanish.com", "udp": true, "ips": [ "103.107.197.53" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "hostname": "per-c08.ipvanish.com", "udp": true, "ips": [ "103.107.196.70" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "hostname": "per-c10.ipvanish.com", "udp": true, "ips": [ "103.107.196.78" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "hostname": "per-c11.ipvanish.com", "udp": true, "ips": [ "103.107.196.82" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b01.ipvanish.com", "udp": true, "ips": [ "173.245.209.4" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b04.ipvanish.com", "udp": true, "ips": [ "173.245.209.22" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b06.ipvanish.com", "udp": true, "ips": [ "173.245.209.34" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b09.ipvanish.com", "udp": true, "ips": [ "173.245.209.52" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b11.ipvanish.com", "udp": true, "ips": [ "173.245.209.64" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b13.ipvanish.com", "udp": true, "ips": [ "173.245.209.76" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b15.ipvanish.com", "udp": true, "ips": [ "173.245.209.88" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b17.ipvanish.com", "udp": true, "ips": [ "173.245.209.100" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b19.ipvanish.com", "udp": true, "ips": [ "173.245.209.112" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b23.ipvanish.com", "udp": true, "ips": [ "173.245.209.136" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b26.ipvanish.com", "udp": true, "ips": [ "173.245.209.154" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b29.ipvanish.com", "udp": true, "ips": [ "173.245.209.172" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b30.ipvanish.com", "udp": true, "ips": [ "173.245.209.178" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b31.ipvanish.com", "udp": true, "ips": [ "173.245.209.184" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-b33.ipvanish.com", "udp": true, "ips": [ "173.245.209.196" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-c01.ipvanish.com", "udp": true, "ips": [ "36.255.205.3" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-c03.ipvanish.com", "udp": true, "ips": [ "36.255.205.15" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "syd-c05.ipvanish.com", "udp": true, "ips": [ "36.255.205.27" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c01.ipvanish.com", "udp": true, "ips": [ "216.131.110.2" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c02.ipvanish.com", "udp": true, "ips": [ "216.131.110.8" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c03.ipvanish.com", "udp": true, "ips": [ "216.131.110.14" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c04.ipvanish.com", "udp": true, "ips": [ "216.131.110.20" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c05.ipvanish.com", "udp": true, "ips": [ "216.131.110.26" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c06.ipvanish.com", "udp": true, "ips": [ "216.131.110.130" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c09.ipvanish.com", "udp": true, "ips": [ "216.131.110.148" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c11.ipvanish.com", "udp": true, "ips": [ "216.131.110.160" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c12.ipvanish.com", "udp": true, "ips": [ "216.131.110.166" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c13.ipvanish.com", "udp": true, "ips": [ "216.131.110.35" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c15.ipvanish.com", "udp": true, "ips": [ "216.131.110.44" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c16.ipvanish.com", "udp": true, "ips": [ "216.131.110.50" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c17.ipvanish.com", "udp": true, "ips": [ "216.131.110.172" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "hostname": "vie-c18.ipvanish.com", "udp": true, "ips": [ "216.131.110.178" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "city": "Baku Virtual", "hostname": "gyd-c02.ipvanish.com", "udp": true, "ips": [ "36.255.204.136" ] }, { "vpn": "openvpn", "country": "Bahamas", "city": "Nassau Virtual", "hostname": "nas-c01.ipvanish.com", "udp": true, "ips": [ "108.171.106.194" ] }, { "vpn": "openvpn", "country": "Bahamas", "city": "Nassau Virtual", "hostname": "nas-c02.ipvanish.com", "udp": true, "ips": [ "108.171.106.200" ] }, { "vpn": "openvpn", "country": "Bahamas", "city": "Nassau Virtual", "hostname": "nas-c03.ipvanish.com", "udp": true, "ips": [ "108.171.106.206" ] }, { "vpn": "openvpn", "country": "Bahamas", "city": "Nassau Virtual", "hostname": "nas-c04.ipvanish.com", "udp": true, "ips": [ "108.171.106.212" ] }, { "vpn": "openvpn", "country": "Bangladesh", "city": "Dhaka Virtual", "hostname": "dac-c03.ipvanish.com", "udp": true, "ips": [ "108.171.110.77" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c01.ipvanish.com", "udp": true, "ips": [ "216.131.105.202" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c02.ipvanish.com", "udp": true, "ips": [ "216.131.105.208" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c03.ipvanish.com", "udp": true, "ips": [ "216.131.105.214" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c05.ipvanish.com", "udp": true, "ips": [ "216.131.105.226" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c13.ipvanish.com", "udp": true, "ips": [ "216.131.105.44" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c14.ipvanish.com", "udp": true, "ips": [ "216.131.105.50" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c15.ipvanish.com", "udp": true, "ips": [ "216.131.105.56" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c16.ipvanish.com", "udp": true, "ips": [ "216.131.105.2" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c17.ipvanish.com", "udp": true, "ips": [ "216.131.105.8" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c18.ipvanish.com", "udp": true, "ips": [ "216.131.105.14" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c19.ipvanish.com", "udp": true, "ips": [ "216.131.105.20" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c20.ipvanish.com", "udp": true, "ips": [ "216.131.105.26" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c21.ipvanish.com", "udp": true, "ips": [ "216.131.105.32" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c22.ipvanish.com", "udp": true, "ips": [ "216.131.105.38" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c25.ipvanish.com", "udp": true, "ips": [ "216.131.105.142" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c27.ipvanish.com", "udp": true, "ips": [ "216.131.105.154" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c28.ipvanish.com", "udp": true, "ips": [ "216.131.105.160" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c29.ipvanish.com", "udp": true, "ips": [ "216.131.105.166" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c30.ipvanish.com", "udp": true, "ips": [ "216.131.105.172" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c32.ipvanish.com", "udp": true, "ips": [ "216.131.105.184" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c33.ipvanish.com", "udp": true, "ips": [ "216.131.105.63" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c36.ipvanish.com", "udp": true, "ips": [ "216.131.105.81" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c37.ipvanish.com", "udp": true, "ips": [ "216.131.105.87" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c38.ipvanish.com", "udp": true, "ips": [ "216.131.105.93" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c39.ipvanish.com", "udp": true, "ips": [ "216.131.105.99" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c40.ipvanish.com", "udp": true, "ips": [ "216.131.105.105" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c41.ipvanish.com", "udp": true, "ips": [ "216.131.105.111" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "bru-c43.ipvanish.com", "udp": true, "ips": [ "216.131.105.196" ] }, { "vpn": "openvpn", "country": "Belize", "city": "Belize City Virtual", "hostname": "bze-c01.ipvanish.com", "udp": true, "ips": [ "108.171.106.130" ] }, { "vpn": "openvpn", "country": "Belize", "city": "Belize City Virtual", "hostname": "bze-c02.ipvanish.com", "udp": true, "ips": [ "108.171.106.136" ] }, { "vpn": "openvpn", "country": "Bermuda", "city": "St George Virtual", "hostname": "bda-c01.ipvanish.com", "udp": true, "ips": [ "173.255.163.194" ] }, { "vpn": "openvpn", "country": "Bolivia", "city": "Santa Cruz Virtual", "hostname": "vvi-c02.ipvanish.com", "udp": true, "ips": [ "205.185.214.9" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c01.ipvanish.com", "udp": true, "ips": [ "173.245.211.2" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c02.ipvanish.com", "udp": true, "ips": [ "173.245.211.8" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c04.ipvanish.com", "udp": true, "ips": [ "173.245.211.20" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c05.ipvanish.com", "udp": true, "ips": [ "173.245.211.26" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c06.ipvanish.com", "udp": true, "ips": [ "173.245.211.32" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c07.ipvanish.com", "udp": true, "ips": [ "173.245.211.38" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c08.ipvanish.com", "udp": true, "ips": [ "173.245.211.130" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c09.ipvanish.com", "udp": true, "ips": [ "173.245.211.136" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c10.ipvanish.com", "udp": true, "ips": [ "173.245.211.142" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Sao Paulo", "hostname": "gru-c11.ipvanish.com", "udp": true, "ips": [ "173.245.211.148" ] }, { "vpn": "openvpn", "country": "Brunei Darussalam", "city": "Bandar Seri Begawan Virtual", "hostname": "bwn-c01.ipvanish.com", "udp": true, "ips": [ "108.171.111.65" ] }, { "vpn": "openvpn", "country": "Brunei Darussalam", "city": "Bandar Seri Begawan Virtual", "hostname": "bwn-c02.ipvanish.com", "udp": true, "ips": [ "108.171.111.71" ] }, { "vpn": "openvpn", "country": "Brunei Darussalam", "city": "Bandar Seri Begawan Virtual", "hostname": "bwn-c03.ipvanish.com", "udp": true, "ips": [ "108.171.111.77" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "sof-c01.ipvanish.com", "udp": true, "ips": [ "217.138.202.35" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "sof-c05.ipvanish.com", "udp": true, "ips": [ "82.102.23.69" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "sof-c23.ipvanish.com", "udp": true, "ips": [ "176.67.84.2" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "sof-c28.ipvanish.com", "udp": true, "ips": [ "176.67.84.32" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "sof-c29.ipvanish.com", "udp": true, "ips": [ "176.67.84.38" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "sof-c30.ipvanish.com", "udp": true, "ips": [ "176.67.84.44" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "sof-c33.ipvanish.com", "udp": true, "ips": [ "176.67.84.62" ] }, { "vpn": "openvpn", "country": "Cambodia", "city": "Phnom Penh Virtual", "hostname": "pnh-c02.ipvanish.com", "udp": true, "ips": [ "108.171.109.135" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c24.ipvanish.com", "udp": true, "ips": [ "209.127.24.28" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c25.ipvanish.com", "udp": true, "ips": [ "209.127.24.32" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c26.ipvanish.com", "udp": true, "ips": [ "209.127.24.36" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c27.ipvanish.com", "udp": true, "ips": [ "209.127.24.40" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c29.ipvanish.com", "udp": true, "ips": [ "209.127.24.48" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c30.ipvanish.com", "udp": true, "ips": [ "173.255.170.4" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c31.ipvanish.com", "udp": true, "ips": [ "173.255.170.10" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c33.ipvanish.com", "udp": true, "ips": [ "173.255.170.22" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c34.ipvanish.com", "udp": true, "ips": [ "173.255.170.28" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c35.ipvanish.com", "udp": true, "ips": [ "173.255.170.34" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c37.ipvanish.com", "udp": true, "ips": [ "173.255.170.46" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c38.ipvanish.com", "udp": true, "ips": [ "173.255.170.52" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c40.ipvanish.com", "udp": true, "ips": [ "173.255.170.64" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c42.ipvanish.com", "udp": true, "ips": [ "173.255.170.76" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c43.ipvanish.com", "udp": true, "ips": [ "173.255.170.82" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c45.ipvanish.com", "udp": true, "ips": [ "173.255.170.94" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c46.ipvanish.com", "udp": true, "ips": [ "173.255.170.100" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c47.ipvanish.com", "udp": true, "ips": [ "173.255.170.106" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c48.ipvanish.com", "udp": true, "ips": [ "173.255.170.112" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c49.ipvanish.com", "udp": true, "ips": [ "173.255.170.118" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c50.ipvanish.com", "udp": true, "ips": [ "173.255.170.124" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c51.ipvanish.com", "udp": true, "ips": [ "173.255.170.130" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c52.ipvanish.com", "udp": true, "ips": [ "173.255.170.136" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c53.ipvanish.com", "udp": true, "ips": [ "173.255.170.142" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c54.ipvanish.com", "udp": true, "ips": [ "173.255.170.148" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c55.ipvanish.com", "udp": true, "ips": [ "173.255.170.154" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c57.ipvanish.com", "udp": true, "ips": [ "173.255.170.166" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c58.ipvanish.com", "udp": true, "ips": [ "173.255.170.172" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c59.ipvanish.com", "udp": true, "ips": [ "173.255.170.178" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c60.ipvanish.com", "udp": true, "ips": [ "173.255.170.184" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c61.ipvanish.com", "udp": true, "ips": [ "205.185.192.2" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c62.ipvanish.com", "udp": true, "ips": [ "205.185.192.8" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c63.ipvanish.com", "udp": true, "ips": [ "205.185.192.14" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c64.ipvanish.com", "udp": true, "ips": [ "205.185.192.20" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c65.ipvanish.com", "udp": true, "ips": [ "205.185.192.26" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c66.ipvanish.com", "udp": true, "ips": [ "205.185.192.32" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c68.ipvanish.com", "udp": true, "ips": [ "205.185.192.44" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "yul-c69.ipvanish.com", "udp": true, "ips": [ "205.185.192.50" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b01.ipvanish.com", "udp": true, "ips": [ "104.36.180.35" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b03.ipvanish.com", "udp": true, "ips": [ "104.36.180.47" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b05.ipvanish.com", "udp": true, "ips": [ "104.36.180.59" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b06.ipvanish.com", "udp": true, "ips": [ "104.36.180.65" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b08.ipvanish.com", "udp": true, "ips": [ "104.36.180.77" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b11.ipvanish.com", "udp": true, "ips": [ "104.36.180.95" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b12.ipvanish.com", "udp": true, "ips": [ "104.36.180.101" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b13.ipvanish.com", "udp": true, "ips": [ "104.36.180.107" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b14.ipvanish.com", "udp": true, "ips": [ "104.36.180.113" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b19.ipvanish.com", "udp": true, "ips": [ "104.36.180.194" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b20.ipvanish.com", "udp": true, "ips": [ "104.36.180.200" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b23.ipvanish.com", "udp": true, "ips": [ "104.36.181.22" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b24.ipvanish.com", "udp": true, "ips": [ "104.36.181.28" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b25.ipvanish.com", "udp": true, "ips": [ "104.36.181.34" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b27.ipvanish.com", "udp": true, "ips": [ "104.36.181.46" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b28.ipvanish.com", "udp": true, "ips": [ "104.36.181.52" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b29.ipvanish.com", "udp": true, "ips": [ "104.36.181.96" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b30.ipvanish.com", "udp": true, "ips": [ "104.36.181.102" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b31.ipvanish.com", "udp": true, "ips": [ "104.36.181.108" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b32.ipvanish.com", "udp": true, "ips": [ "104.36.181.114" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b34.ipvanish.com", "udp": true, "ips": [ "104.36.181.126" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b35.ipvanish.com", "udp": true, "ips": [ "104.36.181.132" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b36.ipvanish.com", "udp": true, "ips": [ "104.36.181.138" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b37.ipvanish.com", "udp": true, "ips": [ "104.36.181.144" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "tor-b38.ipvanish.com", "udp": true, "ips": [ "104.36.181.150" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c02.ipvanish.com", "udp": true, "ips": [ "209.234.253.110" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c03.ipvanish.com", "udp": true, "ips": [ "209.234.253.116" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c05.ipvanish.com", "udp": true, "ips": [ "209.234.253.62" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c06.ipvanish.com", "udp": true, "ips": [ "209.234.253.68" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c08.ipvanish.com", "udp": true, "ips": [ "209.234.253.2" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c09.ipvanish.com", "udp": true, "ips": [ "209.234.253.8" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c10.ipvanish.com", "udp": true, "ips": [ "209.234.253.14" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c11.ipvanish.com", "udp": true, "ips": [ "209.234.253.20" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c13.ipvanish.com", "udp": true, "ips": [ "209.234.253.32" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c14.ipvanish.com", "udp": true, "ips": [ "209.234.253.38" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c15.ipvanish.com", "udp": true, "ips": [ "209.234.253.44" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c17.ipvanish.com", "udp": true, "ips": [ "209.234.253.56" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c18.ipvanish.com", "udp": true, "ips": [ "209.234.253.80" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c19.ipvanish.com", "udp": true, "ips": [ "209.234.253.86" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c20.ipvanish.com", "udp": true, "ips": [ "209.234.253.92" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c21.ipvanish.com", "udp": true, "ips": [ "209.234.253.98" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c22.ipvanish.com", "udp": true, "ips": [ "209.234.253.128" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c23.ipvanish.com", "udp": true, "ips": [ "209.234.253.134" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c24.ipvanish.com", "udp": true, "ips": [ "209.234.253.140" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c25.ipvanish.com", "udp": true, "ips": [ "209.234.253.146" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c28.ipvanish.com", "udp": true, "ips": [ "209.234.253.164" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c29.ipvanish.com", "udp": true, "ips": [ "209.234.253.170" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c31.ipvanish.com", "udp": true, "ips": [ "209.234.253.182" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c32.ipvanish.com", "udp": true, "ips": [ "209.234.253.188" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c33.ipvanish.com", "udp": true, "ips": [ "209.234.253.194" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c34.ipvanish.com", "udp": true, "ips": [ "209.234.253.200" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "yvr-c35.ipvanish.com", "udp": true, "ips": [ "209.234.253.206" ] }, { "vpn": "openvpn", "country": "Cayman Islands", "city": "Georgetown Virtual", "hostname": "gcm-c01.ipvanish.com", "udp": true, "ips": [ "108.171.107.2" ] }, { "vpn": "openvpn", "country": "Cayman Islands", "city": "Georgetown Virtual", "hostname": "gcm-c03.ipvanish.com", "udp": true, "ips": [ "108.171.107.14" ] }, { "vpn": "openvpn", "country": "Cayman Islands", "city": "Georgetown Virtual", "hostname": "gcm-c04.ipvanish.com", "udp": true, "ips": [ "108.171.107.20" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "hostname": "scl-c06.ipvanish.com", "udp": true, "ips": [ "205.185.209.1" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "hostname": "scl-c08.ipvanish.com", "udp": true, "ips": [ "205.185.209.13" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "hostname": "scl-c09.ipvanish.com", "udp": true, "ips": [ "205.185.209.19" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "hostname": "scl-c10.ipvanish.com", "udp": true, "ips": [ "205.185.209.25" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "bog-c06.ipvanish.com", "udp": true, "ips": [ "173.255.173.2" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "bog-c07.ipvanish.com", "udp": true, "ips": [ "173.255.173.8" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "bog-c08.ipvanish.com", "udp": true, "ips": [ "173.255.173.14" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "bog-c09.ipvanish.com", "udp": true, "ips": [ "173.255.173.20" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "bog-c11.ipvanish.com", "udp": true, "ips": [ "173.255.173.32" ] }, { "vpn": "openvpn", "country": "Costa Rica", "city": "San Jose", "hostname": "sjo-c08.ipvanish.com", "udp": true, "ips": [ "199.33.68.14" ] }, { "vpn": "openvpn", "country": "Costa Rica", "city": "San Jose", "hostname": "sjo-c09.ipvanish.com", "udp": true, "ips": [ "199.33.68.20" ] }, { "vpn": "openvpn", "country": "Costa Rica", "city": "San Jose", "hostname": "sjo-c11.ipvanish.com", "udp": true, "ips": [ "199.33.68.32" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "zag-c02.ipvanish.com", "udp": true, "ips": [ "185.147.215.8" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "zag-c03.ipvanish.com", "udp": true, "ips": [ "185.147.215.14" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "zag-c04.ipvanish.com", "udp": true, "ips": [ "185.147.215.20" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "zag-c05.ipvanish.com", "udp": true, "ips": [ "185.147.215.26" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "zag-c07.ipvanish.com", "udp": true, "ips": [ "185.147.215.38" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "zag-c08.ipvanish.com", "udp": true, "ips": [ "185.147.215.44" ] }, { "vpn": "openvpn", "country": "Cyprus", "city": "Larnaca Virtual", "hostname": "lca-c01.ipvanish.com", "udp": true, "ips": [ "103.209.255.130" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c10.ipvanish.com", "udp": true, "ips": [ "216.131.109.45" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c11.ipvanish.com", "udp": true, "ips": [ "216.131.109.51" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c12.ipvanish.com", "udp": true, "ips": [ "216.131.109.57" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c13.ipvanish.com", "udp": true, "ips": [ "216.131.109.63" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c15.ipvanish.com", "udp": true, "ips": [ "216.131.109.130" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c17.ipvanish.com", "udp": true, "ips": [ "216.131.109.142" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c19.ipvanish.com", "udp": true, "ips": [ "216.131.109.154" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c21.ipvanish.com", "udp": true, "ips": [ "216.131.109.3" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "prg-c25.ipvanish.com", "udp": true, "ips": [ "216.131.109.27" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c21.ipvanish.com", "udp": true, "ips": [ "69.16.147.2" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c23.ipvanish.com", "udp": true, "ips": [ "69.16.147.14" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c26.ipvanish.com", "udp": true, "ips": [ "69.16.147.32" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c31.ipvanish.com", "udp": true, "ips": [ "69.16.147.130" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c32.ipvanish.com", "udp": true, "ips": [ "69.16.147.136" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c33.ipvanish.com", "udp": true, "ips": [ "69.16.147.142" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c34.ipvanish.com", "udp": true, "ips": [ "69.16.147.148" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "cph-c37.ipvanish.com", "udp": true, "ips": [ "69.16.147.166" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "city": "Santo Domingo Virtual", "hostname": "sdq-b01.ipvanish.com", "udp": true, "ips": [ "108.171.105.130" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "city": "Santo Domingo Virtual", "hostname": "sdq-b02.ipvanish.com", "udp": true, "ips": [ "108.171.105.136" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "city": "Santo Domingo Virtual", "hostname": "sdq-b03.ipvanish.com", "udp": true, "ips": [ "108.171.105.142" ] }, { "vpn": "openvpn", "country": "Ecuador", "city": "Quito Virtual", "hostname": "uio-c01.ipvanish.com", "udp": true, "ips": [ "216.131.115.199" ] }, { "vpn": "openvpn", "country": "Ecuador", "city": "Quito Virtual", "hostname": "uio-c02.ipvanish.com", "udp": true, "ips": [ "216.131.115.205" ] }, { "vpn": "openvpn", "country": "Ecuador", "city": "Quito Virtual", "hostname": "uio-c03.ipvanish.com", "udp": true, "ips": [ "216.131.115.211" ] }, { "vpn": "openvpn", "country": "Ecuador", "city": "Quito Virtual", "hostname": "uio-c04.ipvanish.com", "udp": true, "ips": [ "216.131.115.217" ] }, { "vpn": "openvpn", "country": "Egypt", "city": "Cairo Virtual", "hostname": "cai-c01.ipvanish.com", "udp": true, "ips": [ "216.131.88.66" ] }, { "vpn": "openvpn", "country": "Egypt", "city": "Cairo Virtual", "hostname": "cai-c02.ipvanish.com", "udp": true, "ips": [ "216.131.88.78" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "tll-c07.ipvanish.com", "udp": true, "ips": [ "185.174.159.131" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "tll-c08.ipvanish.com", "udp": true, "ips": [ "185.174.159.135" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "tll-c09.ipvanish.com", "udp": true, "ips": [ "185.174.159.139" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "tll-c10.ipvanish.com", "udp": true, "ips": [ "185.174.159.143" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c01.ipvanish.com", "udp": true, "ips": [ "185.108.107.3" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c04.ipvanish.com", "udp": true, "ips": [ "185.108.107.9" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c13.ipvanish.com", "udp": true, "ips": [ "185.108.107.13" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c14.ipvanish.com", "udp": true, "ips": [ "185.108.107.15" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c17.ipvanish.com", "udp": true, "ips": [ "185.108.107.73" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c18.ipvanish.com", "udp": true, "ips": [ "185.108.107.80" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c20.ipvanish.com", "udp": true, "ips": [ "185.108.107.92" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-c21.ipvanish.com", "udp": true, "ips": [ "185.108.107.98" ] }, { "vpn": "openvpn", "country": "France", "city": "Bordeaux", "hostname": "bod-c01.ipvanish.com", "udp": true, "ips": [ "185.108.106.194" ] }, { "vpn": "openvpn", "country": "France", "city": "Bordeaux", "hostname": "bod-c02.ipvanish.com", "udp": true, "ips": [ "185.108.106.196" ] }, { "vpn": "openvpn", "country": "France", "city": "Bordeaux", "hostname": "bod-c03.ipvanish.com", "udp": true, "ips": [ "185.108.106.198" ] }, { "vpn": "openvpn", "country": "France", "city": "Bordeaux", "hostname": "bod-c04.ipvanish.com", "udp": true, "ips": [ "185.108.106.200" ] }, { "vpn": "openvpn", "country": "France", "city": "Bordeaux", "hostname": "bod-c05.ipvanish.com", "udp": true, "ips": [ "185.108.106.219" ] }, { "vpn": "openvpn", "country": "France", "city": "Bordeaux", "hostname": "bod-c06.ipvanish.com", "udp": true, "ips": [ "185.108.106.221" ] }, { "vpn": "openvpn", "country": "France", "city": "Bordeaux", "hostname": "bod-c07.ipvanish.com", "udp": true, "ips": [ "185.108.106.223" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c06.ipvanish.com", "udp": true, "ips": [ "176.67.82.8" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c08.ipvanish.com", "udp": true, "ips": [ "176.67.82.20" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c10.ipvanish.com", "udp": true, "ips": [ "176.67.82.136" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c11.ipvanish.com", "udp": true, "ips": [ "176.67.82.142" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c12.ipvanish.com", "udp": true, "ips": [ "176.67.82.148" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c15.ipvanish.com", "udp": true, "ips": [ "176.67.82.166" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c17.ipvanish.com", "udp": true, "ips": [ "176.67.82.178" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c18.ipvanish.com", "udp": true, "ips": [ "176.67.82.184" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c19.ipvanish.com", "udp": true, "ips": [ "176.67.82.31" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "hostname": "mrs-c21.ipvanish.com", "udp": true, "ips": [ "176.67.82.43" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b02.ipvanish.com", "udp": true, "ips": [ "185.147.212.47" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b03.ipvanish.com", "udp": true, "ips": [ "185.147.212.53" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b04.ipvanish.com", "udp": true, "ips": [ "185.147.212.59" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b05.ipvanish.com", "udp": true, "ips": [ "185.147.212.65" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b09.ipvanish.com", "udp": true, "ips": [ "185.147.212.89" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b10.ipvanish.com", "udp": true, "ips": [ "185.147.212.95" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b15.ipvanish.com", "udp": true, "ips": [ "185.147.212.199" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b18.ipvanish.com", "udp": true, "ips": [ "185.147.212.217" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b20.ipvanish.com", "udp": true, "ips": [ "185.147.212.229" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b21.ipvanish.com", "udp": true, "ips": [ "185.147.212.235" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b25.ipvanish.com", "udp": true, "ips": [ "64.145.94.19" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b28.ipvanish.com", "udp": true, "ips": [ "64.145.94.37" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b31.ipvanish.com", "udp": true, "ips": [ "64.145.94.55" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b32.ipvanish.com", "udp": true, "ips": [ "64.145.94.61" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b33.ipvanish.com", "udp": true, "ips": [ "64.145.94.67" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b34.ipvanish.com", "udp": true, "ips": [ "64.145.94.73" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b39.ipvanish.com", "udp": true, "ips": [ "64.145.94.103" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b40.ipvanish.com", "udp": true, "ips": [ "64.145.94.109" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b41.ipvanish.com", "udp": true, "ips": [ "64.145.94.115" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b43.ipvanish.com", "udp": true, "ips": [ "64.145.94.135" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b44.ipvanish.com", "udp": true, "ips": [ "64.145.94.141" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-b45.ipvanish.com", "udp": true, "ips": [ "64.145.94.147" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-c02.ipvanish.com", "udp": true, "ips": [ "185.147.212.8" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-c05.ipvanish.com", "udp": true, "ips": [ "185.147.212.26" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "par-c06.ipvanish.com", "udp": true, "ips": [ "185.147.212.32" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c01.ipvanish.com", "udp": true, "ips": [ "205.185.222.2" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c04.ipvanish.com", "udp": true, "ips": [ "205.185.222.20" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c06.ipvanish.com", "udp": true, "ips": [ "205.185.222.130" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c09.ipvanish.com", "udp": true, "ips": [ "205.185.222.148" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c10.ipvanish.com", "udp": true, "ips": [ "205.185.222.155" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c12.ipvanish.com", "udp": true, "ips": [ "205.185.222.167" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c13.ipvanish.com", "udp": true, "ips": [ "205.185.222.173" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c14.ipvanish.com", "udp": true, "ips": [ "205.185.222.179" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c16.ipvanish.com", "udp": true, "ips": [ "205.185.222.36" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c17.ipvanish.com", "udp": true, "ips": [ "205.185.222.42" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c19.ipvanish.com", "udp": true, "ips": [ "205.185.222.54" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "hostname": "ber-c20.ipvanish.com", "udp": true, "ips": [ "205.185.222.60" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a02.ipvanish.com", "udp": true, "ips": [ "216.131.114.12" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a03.ipvanish.com", "udp": true, "ips": [ "216.131.114.18" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a04.ipvanish.com", "udp": true, "ips": [ "216.131.114.24" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a05.ipvanish.com", "udp": true, "ips": [ "216.131.114.30" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a07.ipvanish.com", "udp": true, "ips": [ "216.131.114.42" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a08.ipvanish.com", "udp": true, "ips": [ "216.131.114.48" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a11.ipvanish.com", "udp": true, "ips": [ "216.131.114.66" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a15.ipvanish.com", "udp": true, "ips": [ "216.131.114.90" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a16.ipvanish.com", "udp": true, "ips": [ "216.131.114.96" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a17.ipvanish.com", "udp": true, "ips": [ "216.131.114.102" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a18.ipvanish.com", "udp": true, "ips": [ "216.131.114.108" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a19.ipvanish.com", "udp": true, "ips": [ "216.131.114.114" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a20.ipvanish.com", "udp": true, "ips": [ "216.131.114.120" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a21.ipvanish.com", "udp": true, "ips": [ "216.131.114.126" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a22.ipvanish.com", "udp": true, "ips": [ "216.131.114.132" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a23.ipvanish.com", "udp": true, "ips": [ "216.131.114.138" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a24.ipvanish.com", "udp": true, "ips": [ "216.131.114.144" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a25.ipvanish.com", "udp": true, "ips": [ "216.131.114.150" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a26.ipvanish.com", "udp": true, "ips": [ "216.131.114.156" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a27.ipvanish.com", "udp": true, "ips": [ "216.131.114.162" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a28.ipvanish.com", "udp": true, "ips": [ "216.131.114.168" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a30.ipvanish.com", "udp": true, "ips": [ "216.131.114.180" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a32.ipvanish.com", "udp": true, "ips": [ "216.131.114.192" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a33.ipvanish.com", "udp": true, "ips": [ "216.131.114.198" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a34.ipvanish.com", "udp": true, "ips": [ "216.131.114.204" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a35.ipvanish.com", "udp": true, "ips": [ "216.131.114.210" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a36.ipvanish.com", "udp": true, "ips": [ "216.131.114.216" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a37.ipvanish.com", "udp": true, "ips": [ "216.131.114.222" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a39.ipvanish.com", "udp": true, "ips": [ "216.131.114.234" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a40.ipvanish.com", "udp": true, "ips": [ "216.131.114.240" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a42.ipvanish.com", "udp": true, "ips": [ "69.16.145.11" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a43.ipvanish.com", "udp": true, "ips": [ "69.16.145.17" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a45.ipvanish.com", "udp": true, "ips": [ "69.16.145.29" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a46.ipvanish.com", "udp": true, "ips": [ "69.16.145.35" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a47.ipvanish.com", "udp": true, "ips": [ "69.16.145.41" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a48.ipvanish.com", "udp": true, "ips": [ "69.16.145.47" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a49.ipvanish.com", "udp": true, "ips": [ "69.16.145.53" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a51.ipvanish.com", "udp": true, "ips": [ "69.16.145.65" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a52.ipvanish.com", "udp": true, "ips": [ "69.16.145.71" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a53.ipvanish.com", "udp": true, "ips": [ "69.16.145.77" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a55.ipvanish.com", "udp": true, "ips": [ "69.16.145.89" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a56.ipvanish.com", "udp": true, "ips": [ "69.16.145.95" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a59.ipvanish.com", "udp": true, "ips": [ "69.16.145.113" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a60.ipvanish.com", "udp": true, "ips": [ "69.16.145.119" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a61.ipvanish.com", "udp": true, "ips": [ "69.16.145.125" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a63.ipvanish.com", "udp": true, "ips": [ "69.16.145.137" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a65.ipvanish.com", "udp": true, "ips": [ "69.16.145.149" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a67.ipvanish.com", "udp": true, "ips": [ "69.16.145.161" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a68.ipvanish.com", "udp": true, "ips": [ "69.16.145.167" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a70.ipvanish.com", "udp": true, "ips": [ "69.16.145.179" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a71.ipvanish.com", "udp": true, "ips": [ "69.16.145.185" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a73.ipvanish.com", "udp": true, "ips": [ "69.16.145.197" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a74.ipvanish.com", "udp": true, "ips": [ "69.16.145.203" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a75.ipvanish.com", "udp": true, "ips": [ "69.16.145.209" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-a76.ipvanish.com", "udp": true, "ips": [ "69.16.145.215" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c01.ipvanish.com", "udp": true, "ips": [ "216.131.111.2" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c02.ipvanish.com", "udp": true, "ips": [ "216.131.111.8" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c03.ipvanish.com", "udp": true, "ips": [ "216.131.111.14" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c04.ipvanish.com", "udp": true, "ips": [ "216.131.111.20" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c06.ipvanish.com", "udp": true, "ips": [ "216.131.111.32" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c07.ipvanish.com", "udp": true, "ips": [ "216.131.111.38" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c08.ipvanish.com", "udp": true, "ips": [ "216.131.111.44" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c10.ipvanish.com", "udp": true, "ips": [ "216.131.111.136" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c11.ipvanish.com", "udp": true, "ips": [ "216.131.111.142" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c12.ipvanish.com", "udp": true, "ips": [ "216.131.111.148" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c13.ipvanish.com", "udp": true, "ips": [ "216.131.111.154" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c24.ipvanish.com", "udp": true, "ips": [ "216.131.111.179" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c25.ipvanish.com", "udp": true, "ips": [ "216.131.111.185" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c26.ipvanish.com", "udp": true, "ips": [ "216.131.111.191" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c27.ipvanish.com", "udp": true, "ips": [ "216.131.111.197" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c29.ipvanish.com", "udp": true, "ips": [ "216.131.111.209" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c30.ipvanish.com", "udp": true, "ips": [ "216.131.111.52" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c31.ipvanish.com", "udp": true, "ips": [ "216.131.111.58" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c32.ipvanish.com", "udp": true, "ips": [ "216.131.111.64" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c33.ipvanish.com", "udp": true, "ips": [ "216.131.111.70" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c34.ipvanish.com", "udp": true, "ips": [ "216.131.111.76" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c35.ipvanish.com", "udp": true, "ips": [ "216.131.111.82" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-c36.ipvanish.com", "udp": true, "ips": [ "216.131.111.88" ] }, { "vpn": "openvpn", "country": "Ghana", "city": "Accra Virtual", "hostname": "acc-c01.ipvanish.com", "udp": true, "ips": [ "216.151.191.130" ] }, { "vpn": "openvpn", "country": "Ghana", "city": "Accra Virtual", "hostname": "acc-c02.ipvanish.com", "udp": true, "ips": [ "216.151.191.136" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-c04.ipvanish.com", "udp": true, "ips": [ "173.255.174.3" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-c05.ipvanish.com", "udp": true, "ips": [ "173.255.174.9" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-c06.ipvanish.com", "udp": true, "ips": [ "173.255.174.15" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-c07.ipvanish.com", "udp": true, "ips": [ "173.255.174.21" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-c08.ipvanish.com", "udp": true, "ips": [ "173.255.174.27" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-c09.ipvanish.com", "udp": true, "ips": [ "173.255.174.33" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-c10.ipvanish.com", "udp": true, "ips": [ "173.255.174.39" ] }, { "vpn": "openvpn", "country": "Guatemala", "city": "Guatemala City Virtual", "hostname": "gua-c01.ipvanish.com", "udp": true, "ips": [ "108.171.105.66" ] }, { "vpn": "openvpn", "country": "Honduras", "city": "Tegucigalpa Virtual", "hostname": "tgu-b02.ipvanish.com", "udp": true, "ips": [ "108.171.105.200" ] }, { "vpn": "openvpn", "country": "Honduras", "city": "Tegucigalpa Virtual", "hostname": "tgu-b03.ipvanish.com", "udp": true, "ips": [ "108.171.105.206" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a01.ipvanish.com", "udp": true, "ips": [ "103.209.252.9" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a04.ipvanish.com", "udp": true, "ips": [ "103.209.252.27" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a05.ipvanish.com", "udp": true, "ips": [ "103.209.252.33" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a06.ipvanish.com", "udp": true, "ips": [ "103.209.252.39" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a09.ipvanish.com", "udp": true, "ips": [ "103.209.252.57" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a11.ipvanish.com", "udp": true, "ips": [ "103.209.252.69" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a14.ipvanish.com", "udp": true, "ips": [ "103.209.252.87" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a15.ipvanish.com", "udp": true, "ips": [ "103.209.252.93" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hkg-a16.ipvanish.com", "udp": true, "ips": [ "103.209.252.99" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c05.ipvanish.com", "udp": true, "ips": [ "146.70.203.67" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c06.ipvanish.com", "udp": true, "ips": [ "146.70.203.71" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c07.ipvanish.com", "udp": true, "ips": [ "146.70.203.75" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c08.ipvanish.com", "udp": true, "ips": [ "146.70.203.79" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c09.ipvanish.com", "udp": true, "ips": [ "146.70.203.83" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c10.ipvanish.com", "udp": true, "ips": [ "146.70.203.87" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c11.ipvanish.com", "udp": true, "ips": [ "146.70.203.91" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c12.ipvanish.com", "udp": true, "ips": [ "146.70.203.95" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c13.ipvanish.com", "udp": true, "ips": [ "146.70.203.99" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c14.ipvanish.com", "udp": true, "ips": [ "146.70.203.103" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c15.ipvanish.com", "udp": true, "ips": [ "146.70.203.107" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c16.ipvanish.com", "udp": true, "ips": [ "146.70.203.111" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c17.ipvanish.com", "udp": true, "ips": [ "146.70.203.115" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "bud-c18.ipvanish.com", "udp": true, "ips": [ "146.70.203.119" ] }, { "vpn": "openvpn", "country": "Iceland", "city": "Reykjavik", "hostname": "rkv-c04.ipvanish.com", "udp": true, "ips": [ "45.133.192.181" ] }, { "vpn": "openvpn", "country": "India", "city": "Virtual", "hostname": "pnq-c01.ipvanish.com", "udp": true, "ips": [ "103.209.253.2" ] }, { "vpn": "openvpn", "country": "India", "city": "Virtual", "hostname": "pnq-c04.ipvanish.com", "udp": true, "ips": [ "103.209.253.20" ] }, { "vpn": "openvpn", "country": "India", "city": "Virtual", "hostname": "pnq-c06.ipvanish.com", "udp": true, "ips": [ "103.209.253.32" ] }, { "vpn": "openvpn", "country": "India", "city": "Virtual", "hostname": "pnq-c08.ipvanish.com", "udp": true, "ips": [ "103.209.253.44" ] }, { "vpn": "openvpn", "country": "India", "city": "Virtual", "hostname": "pnq-c09.ipvanish.com", "udp": true, "ips": [ "103.209.253.50" ] }, { "vpn": "openvpn", "country": "India", "city": "Virtual", "hostname": "pnq-c10.ipvanish.com", "udp": true, "ips": [ "103.209.253.56" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta Virtual", "hostname": "cgk-c01.ipvanish.com", "udp": true, "ips": [ "108.171.109.66" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta Virtual", "hostname": "cgk-c02.ipvanish.com", "udp": true, "ips": [ "108.171.109.72" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta Virtual", "hostname": "cgk-c03.ipvanish.com", "udp": true, "ips": [ "108.171.109.78" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta Virtual", "hostname": "cgk-c04.ipvanish.com", "udp": true, "ips": [ "108.171.109.84" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c12.ipvanish.com", "udp": true, "ips": [ "205.185.193.38" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c13.ipvanish.com", "udp": true, "ips": [ "205.185.193.44" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c14.ipvanish.com", "udp": true, "ips": [ "205.185.193.50" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c15.ipvanish.com", "udp": true, "ips": [ "205.185.193.2" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c16.ipvanish.com", "udp": true, "ips": [ "205.185.193.8" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c17.ipvanish.com", "udp": true, "ips": [ "205.185.193.14" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c18.ipvanish.com", "udp": true, "ips": [ "205.185.193.20" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c19.ipvanish.com", "udp": true, "ips": [ "205.185.193.26" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c21.ipvanish.com", "udp": true, "ips": [ "205.185.193.130" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c22.ipvanish.com", "udp": true, "ips": [ "205.185.193.136" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c23.ipvanish.com", "udp": true, "ips": [ "205.185.193.142" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c24.ipvanish.com", "udp": true, "ips": [ "205.185.193.148" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c25.ipvanish.com", "udp": true, "ips": [ "205.185.193.154" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c27.ipvanish.com", "udp": true, "ips": [ "205.185.193.166" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c28.ipvanish.com", "udp": true, "ips": [ "205.185.193.172" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "dub-c30.ipvanish.com", "udp": true, "ips": [ "205.185.193.184" ] }, { "vpn": "openvpn", "country": "Isle Of Man", "city": "Castletown Virtual", "hostname": "iom-a02.ipvanish.com", "udp": true, "ips": [ "216.169.135.201" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "hostname": "tlv-c11.ipvanish.com", "udp": true, "ips": [ "103.209.255.4" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "hostname": "tlv-c13.ipvanish.com", "udp": true, "ips": [ "103.209.255.8" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "hostname": "tlv-c18.ipvanish.com", "udp": true, "ips": [ "103.209.255.18" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "hostname": "tlv-c19.ipvanish.com", "udp": true, "ips": [ "103.209.255.20" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "hostname": "tlv-c20.ipvanish.com", "udp": true, "ips": [ "103.209.255.22" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "hostname": "tlv-c23.ipvanish.com", "udp": true, "ips": [ "103.209.255.28" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a14.ipvanish.com", "udp": true, "ips": [ "69.16.157.10" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a16.ipvanish.com", "udp": true, "ips": [ "69.16.157.22" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a17.ipvanish.com", "udp": true, "ips": [ "69.16.157.28" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a20.ipvanish.com", "udp": true, "ips": [ "69.16.157.46" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a22.ipvanish.com", "udp": true, "ips": [ "69.16.157.58" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a23.ipvanish.com", "udp": true, "ips": [ "69.16.157.64" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a25.ipvanish.com", "udp": true, "ips": [ "69.16.157.76" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a26.ipvanish.com", "udp": true, "ips": [ "69.16.157.82" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a27.ipvanish.com", "udp": true, "ips": [ "69.16.157.88" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a28.ipvanish.com", "udp": true, "ips": [ "69.16.157.94" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a29.ipvanish.com", "udp": true, "ips": [ "69.16.157.100" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a31.ipvanish.com", "udp": true, "ips": [ "69.16.157.112" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a34.ipvanish.com", "udp": true, "ips": [ "69.16.157.130" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a35.ipvanish.com", "udp": true, "ips": [ "69.16.157.136" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "lin-a37.ipvanish.com", "udp": true, "ips": [ "69.16.157.148" ] }, { "vpn": "openvpn", "country": "Jamaica", "city": "Kingston Virtual", "hostname": "kin-c02.ipvanish.com", "udp": true, "ips": [ "108.171.106.8" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "hostname": "kix-c02.ipvanish.com", "udp": true, "ips": [ "45.8.221.9" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "hostname": "kix-c03.ipvanish.com", "udp": true, "ips": [ "45.8.221.15" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "hostname": "kix-c04.ipvanish.com", "udp": true, "ips": [ "45.8.221.21" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "hostname": "kix-c07.ipvanish.com", "udp": true, "ips": [ "45.8.221.40" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "hostname": "kix-c08.ipvanish.com", "udp": true, "ips": [ "45.8.221.46" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "hostname": "kix-c09.ipvanish.com", "udp": true, "ips": [ "45.8.221.52" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a01.ipvanish.com", "udp": true, "ips": [ "64.145.90.6" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a04.ipvanish.com", "udp": true, "ips": [ "64.145.90.24" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a05.ipvanish.com", "udp": true, "ips": [ "64.145.90.30" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a06.ipvanish.com", "udp": true, "ips": [ "64.145.90.36" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a07.ipvanish.com", "udp": true, "ips": [ "64.145.90.42" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a08.ipvanish.com", "udp": true, "ips": [ "64.145.90.48" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a10.ipvanish.com", "udp": true, "ips": [ "64.145.90.60" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a13.ipvanish.com", "udp": true, "ips": [ "64.145.90.78" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a14.ipvanish.com", "udp": true, "ips": [ "64.145.90.84" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a15.ipvanish.com", "udp": true, "ips": [ "64.145.90.90" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a24.ipvanish.com", "udp": true, "ips": [ "64.145.90.144" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a32.ipvanish.com", "udp": true, "ips": [ "64.145.90.192" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-a35.ipvanish.com", "udp": true, "ips": [ "64.145.90.210" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-b01.ipvanish.com", "udp": true, "ips": [ "36.255.206.2" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-b07.ipvanish.com", "udp": true, "ips": [ "36.255.206.38" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-b08.ipvanish.com", "udp": true, "ips": [ "36.255.206.44" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-b11.ipvanish.com", "udp": true, "ips": [ "36.255.206.130" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-b13.ipvanish.com", "udp": true, "ips": [ "36.255.206.142" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c01.ipvanish.com", "udp": true, "ips": [ "36.255.206.64" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c02.ipvanish.com", "udp": true, "ips": [ "36.255.206.68" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c04.ipvanish.com", "udp": true, "ips": [ "36.255.206.76" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c06.ipvanish.com", "udp": true, "ips": [ "36.255.206.85" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c07.ipvanish.com", "udp": true, "ips": [ "36.255.206.89" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c09.ipvanish.com", "udp": true, "ips": [ "36.255.206.97" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c10.ipvanish.com", "udp": true, "ips": [ "36.255.206.101" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c11.ipvanish.com", "udp": true, "ips": [ "36.255.206.105" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "hostname": "nrt-c12.ipvanish.com", "udp": true, "ips": [ "36.255.206.109" ] }, { "vpn": "openvpn", "country": "Jersey", "city": "Saint Helier Virtual", "hostname": "jer-c01.ipvanish.com", "udp": true, "ips": [ "185.147.212.130" ] }, { "vpn": "openvpn", "country": "Jersey", "city": "Saint Helier Virtual", "hostname": "jer-c02.ipvanish.com", "udp": true, "ips": [ "185.147.212.136" ] }, { "vpn": "openvpn", "country": "Jersey", "city": "Saint Helier Virtual", "hostname": "jer-c03.ipvanish.com", "udp": true, "ips": [ "185.147.212.142" ] }, { "vpn": "openvpn", "country": "Jordan", "city": "Amman Virtual", "hostname": "amm-c01.ipvanish.com", "udp": true, "ips": [ "103.209.255.162" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "city": "Astana Virtual", "hostname": "nqz-c01.ipvanish.com", "udp": true, "ips": [ "64.145.91.130" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "city": "Astana Virtual", "hostname": "nqz-c02.ipvanish.com", "udp": true, "ips": [ "64.145.91.136" ] }, { "vpn": "openvpn", "country": "Kenya", "city": "Nairobi Virtual", "hostname": "nbo-c01.ipvanish.com", "udp": true, "ips": [ "176.67.85.66" ] }, { "vpn": "openvpn", "country": "Kenya", "city": "Nairobi Virtual", "hostname": "nbo-c02.ipvanish.com", "udp": true, "ips": [ "176.67.85.72" ] }, { "vpn": "openvpn", "country": "Kenya", "city": "Nairobi Virtual", "hostname": "nbo-c03.ipvanish.com", "udp": true, "ips": [ "176.67.85.78" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "hostname": "sel-c13.ipvanish.com", "udp": true, "ips": [ "173.245.219.4" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "hostname": "sel-c19.ipvanish.com", "udp": true, "ips": [ "173.245.219.40" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "hostname": "sel-c20.ipvanish.com", "udp": true, "ips": [ "173.245.219.46" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "hostname": "sel-c22.ipvanish.com", "udp": true, "ips": [ "173.245.219.58" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "hostname": "sel-c23.ipvanish.com", "udp": true, "ips": [ "173.245.219.64" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "hostname": "sel-c25.ipvanish.com", "udp": true, "ips": [ "173.245.219.76" ] }, { "vpn": "openvpn", "country": "Lao People's Democratic Republic", "city": "Vientiane Virtual", "hostname": "vte-c01.ipvanish.com", "udp": true, "ips": [ "108.171.111.2" ] }, { "vpn": "openvpn", "country": "Lao People's Democratic Republic", "city": "Vientiane Virtual", "hostname": "vte-c02.ipvanish.com", "udp": true, "ips": [ "108.171.111.8" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "hostname": "rix-c08.ipvanish.com", "udp": true, "ips": [ "198.181.163.3" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "hostname": "rix-c10.ipvanish.com", "udp": true, "ips": [ "198.181.163.15" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "hostname": "rix-c13.ipvanish.com", "udp": true, "ips": [ "198.181.163.33" ] }, { "vpn": "openvpn", "country": "Lebanon", "city": "Beirut Virtual", "hostname": "bey-b01.ipvanish.com", "udp": true, "ips": [ "103.209.255.194" ] }, { "vpn": "openvpn", "country": "Lebanon", "city": "Beirut Virtual", "hostname": "bey-b02.ipvanish.com", "udp": true, "ips": [ "103.209.255.200" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "city": "Vaduz Virtual", "hostname": "vdu-c01.ipvanish.com", "udp": true, "ips": [ "216.131.108.194" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "city": "Vaduz Virtual", "hostname": "vdu-c04.ipvanish.com", "udp": true, "ips": [ "216.131.108.212" ] }, { "vpn": "openvpn", "country": "Lithuania", "city": "Vilnius Virtual", "hostname": "vno-b01.ipvanish.com", "udp": true, "ips": [ "216.151.183.194" ] }, { "vpn": "openvpn", "country": "Lithuania", "city": "Vilnius Virtual", "hostname": "vno-b02.ipvanish.com", "udp": true, "ips": [ "216.151.183.200" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "hostname": "lux-c06.ipvanish.com", "udp": true, "ips": [ "216.131.68.16" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "hostname": "lux-c07.ipvanish.com", "udp": true, "ips": [ "216.131.68.22" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "hostname": "lux-c09.ipvanish.com", "udp": true, "ips": [ "216.131.68.34" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "hostname": "lux-c10.ipvanish.com", "udp": true, "ips": [ "216.131.68.40" ] }, { "vpn": "openvpn", "country": "Macao", "city": "Taipa Virtual", "hostname": "mfm-b01.ipvanish.com", "udp": true, "ips": [ "103.209.252.129" ] }, { "vpn": "openvpn", "country": "Macao", "city": "Taipa Virtual", "hostname": "mfm-b02.ipvanish.com", "udp": true, "ips": [ "103.209.252.135" ] }, { "vpn": "openvpn", "country": "Macao", "city": "Taipa Virtual", "hostname": "mfm-b03.ipvanish.com", "udp": true, "ips": [ "103.209.252.141" ] }, { "vpn": "openvpn", "country": "Macao", "city": "Taipa Virtual", "hostname": "mfm-b04.ipvanish.com", "udp": true, "ips": [ "103.209.252.147" ] }, { "vpn": "openvpn", "country": "Macedonia", "city": "Skopje Virtual", "hostname": "skp-c01.ipvanish.com", "udp": true, "ips": [ "216.131.89.66" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c11.ipvanish.com", "udp": true, "ips": [ "103.175.51.131" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c12.ipvanish.com", "udp": true, "ips": [ "103.175.51.135" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c14.ipvanish.com", "udp": true, "ips": [ "103.175.51.143" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c15.ipvanish.com", "udp": true, "ips": [ "103.175.51.147" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c16.ipvanish.com", "udp": true, "ips": [ "103.175.51.151" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c18.ipvanish.com", "udp": true, "ips": [ "103.175.51.173" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c19.ipvanish.com", "udp": true, "ips": [ "103.175.51.177" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "hostname": "kul-c21.ipvanish.com", "udp": true, "ips": [ "103.175.51.185" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Queretaro", "hostname": "qro-c05.ipvanish.com", "udp": true, "ips": [ "199.33.71.26" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Queretaro", "hostname": "qro-c08.ipvanish.com", "udp": true, "ips": [ "199.33.71.44" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "kiv-c05.ipvanish.com", "udp": true, "ips": [ "178.175.140.66" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "kiv-c07.ipvanish.com", "udp": true, "ips": [ "178.175.140.78" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "kiv-c09.ipvanish.com", "udp": true, "ips": [ "178.175.140.90" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "kiv-c10.ipvanish.com", "udp": true, "ips": [ "178.175.140.96" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "kiv-c11.ipvanish.com", "udp": true, "ips": [ "178.175.140.102" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "kiv-c13.ipvanish.com", "udp": true, "ips": [ "178.175.140.114" ] }, { "vpn": "openvpn", "country": "Mongolia", "city": "Ulaanbaatar Virtual", "hostname": "uln-c01.ipvanish.com", "udp": true, "ips": [ "64.145.91.194" ] }, { "vpn": "openvpn", "country": "Mongolia", "city": "Ulaanbaatar Virtual", "hostname": "uln-c02.ipvanish.com", "udp": true, "ips": [ "64.145.91.200" ] }, { "vpn": "openvpn", "country": "Montenegro", "city": "Podgorica Virtual", "hostname": "tgd-c01.ipvanish.com", "udp": true, "ips": [ "216.131.89.130" ] }, { "vpn": "openvpn", "country": "Morocco", "city": "Casablanca Virtual", "hostname": "cmn-c01.ipvanish.com", "udp": true, "ips": [ "209.107.216.194" ] }, { "vpn": "openvpn", "country": "Nepal", "city": "Kathmandu Virtual", "hostname": "ktm-c01.ipvanish.com", "udp": true, "ips": [ "108.171.110.2" ] }, { "vpn": "openvpn", "country": "Nepal", "city": "Kathmandu Virtual", "hostname": "ktm-c02.ipvanish.com", "udp": true, "ips": [ "108.171.110.8" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a01.ipvanish.com", "udp": true, "ips": [ "176.67.80.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a02.ipvanish.com", "udp": true, "ips": [ "176.67.80.12" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a03.ipvanish.com", "udp": true, "ips": [ "176.67.80.18" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a04.ipvanish.com", "udp": true, "ips": [ "176.67.80.24" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a05.ipvanish.com", "udp": true, "ips": [ "176.67.80.30" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a06.ipvanish.com", "udp": true, "ips": [ "176.67.80.36" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a07.ipvanish.com", "udp": true, "ips": [ "176.67.80.42" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a08.ipvanish.com", "udp": true, "ips": [ "176.67.80.48" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a10.ipvanish.com", "udp": true, "ips": [ "176.67.80.60" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a11.ipvanish.com", "udp": true, "ips": [ "176.67.80.66" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a12.ipvanish.com", "udp": true, "ips": [ "176.67.80.72" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a13.ipvanish.com", "udp": true, "ips": [ "176.67.80.78" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a14.ipvanish.com", "udp": true, "ips": [ "176.67.80.84" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a15.ipvanish.com", "udp": true, "ips": [ "176.67.80.90" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a16.ipvanish.com", "udp": true, "ips": [ "176.67.80.96" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a17.ipvanish.com", "udp": true, "ips": [ "176.67.80.102" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a18.ipvanish.com", "udp": true, "ips": [ "176.67.80.108" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a19.ipvanish.com", "udp": true, "ips": [ "176.67.80.114" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a20.ipvanish.com", "udp": true, "ips": [ "176.67.80.120" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a21.ipvanish.com", "udp": true, "ips": [ "176.67.80.126" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a22.ipvanish.com", "udp": true, "ips": [ "176.67.80.132" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a23.ipvanish.com", "udp": true, "ips": [ "176.67.80.138" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a24.ipvanish.com", "udp": true, "ips": [ "176.67.80.144" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a25.ipvanish.com", "udp": true, "ips": [ "176.67.80.150" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a26.ipvanish.com", "udp": true, "ips": [ "176.67.80.156" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a27.ipvanish.com", "udp": true, "ips": [ "176.67.80.162" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a28.ipvanish.com", "udp": true, "ips": [ "176.67.80.168" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a29.ipvanish.com", "udp": true, "ips": [ "176.67.80.174" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a30.ipvanish.com", "udp": true, "ips": [ "176.67.80.180" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a32.ipvanish.com", "udp": true, "ips": [ "176.67.80.192" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a33.ipvanish.com", "udp": true, "ips": [ "176.67.80.198" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a34.ipvanish.com", "udp": true, "ips": [ "176.67.80.204" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a35.ipvanish.com", "udp": true, "ips": [ "176.67.80.210" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a36.ipvanish.com", "udp": true, "ips": [ "176.67.80.216" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a38.ipvanish.com", "udp": true, "ips": [ "176.67.80.228" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a39.ipvanish.com", "udp": true, "ips": [ "176.67.80.234" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a40.ipvanish.com", "udp": true, "ips": [ "176.67.80.240" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a41.ipvanish.com", "udp": true, "ips": [ "176.67.80.246" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a42.ipvanish.com", "udp": true, "ips": [ "176.67.80.255" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a43.ipvanish.com", "udp": true, "ips": [ "176.67.81.5" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a44.ipvanish.com", "udp": true, "ips": [ "176.67.81.11" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a45.ipvanish.com", "udp": true, "ips": [ "176.67.81.17" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a46.ipvanish.com", "udp": true, "ips": [ "176.67.81.23" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a47.ipvanish.com", "udp": true, "ips": [ "176.67.81.29" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a48.ipvanish.com", "udp": true, "ips": [ "176.67.81.35" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a49.ipvanish.com", "udp": true, "ips": [ "176.67.81.41" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a50.ipvanish.com", "udp": true, "ips": [ "176.67.81.47" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a51.ipvanish.com", "udp": true, "ips": [ "176.67.81.53" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a52.ipvanish.com", "udp": true, "ips": [ "176.67.81.59" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a53.ipvanish.com", "udp": true, "ips": [ "176.67.81.65" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a54.ipvanish.com", "udp": true, "ips": [ "176.67.81.71" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a55.ipvanish.com", "udp": true, "ips": [ "176.67.81.77" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a56.ipvanish.com", "udp": true, "ips": [ "176.67.81.83" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a58.ipvanish.com", "udp": true, "ips": [ "176.67.81.95" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a59.ipvanish.com", "udp": true, "ips": [ "176.67.81.101" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a60.ipvanish.com", "udp": true, "ips": [ "176.67.81.107" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a62.ipvanish.com", "udp": true, "ips": [ "176.67.81.121" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a63.ipvanish.com", "udp": true, "ips": [ "176.67.81.127" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a64.ipvanish.com", "udp": true, "ips": [ "176.67.81.133" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a65.ipvanish.com", "udp": true, "ips": [ "176.67.81.139" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a66.ipvanish.com", "udp": true, "ips": [ "176.67.81.145" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a67.ipvanish.com", "udp": true, "ips": [ "176.67.81.151" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a68.ipvanish.com", "udp": true, "ips": [ "176.67.81.157" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a70.ipvanish.com", "udp": true, "ips": [ "176.67.81.169" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a72.ipvanish.com", "udp": true, "ips": [ "176.67.81.181" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a73.ipvanish.com", "udp": true, "ips": [ "176.67.81.187" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a74.ipvanish.com", "udp": true, "ips": [ "176.67.81.193" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a75.ipvanish.com", "udp": true, "ips": [ "176.67.81.199" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a76.ipvanish.com", "udp": true, "ips": [ "176.67.81.205" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a77.ipvanish.com", "udp": true, "ips": [ "176.67.81.211" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a78.ipvanish.com", "udp": true, "ips": [ "176.67.81.217" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-a79.ipvanish.com", "udp": true, "ips": [ "176.67.81.223" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c41.ipvanish.com", "udp": true, "ips": [ "205.185.199.5" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c42.ipvanish.com", "udp": true, "ips": [ "205.185.199.11" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c43.ipvanish.com", "udp": true, "ips": [ "205.185.199.17" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c44.ipvanish.com", "udp": true, "ips": [ "205.185.199.23" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c45.ipvanish.com", "udp": true, "ips": [ "205.185.199.29" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c46.ipvanish.com", "udp": true, "ips": [ "205.185.199.35" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c47.ipvanish.com", "udp": true, "ips": [ "205.185.199.41" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c48.ipvanish.com", "udp": true, "ips": [ "205.185.199.47" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c49.ipvanish.com", "udp": true, "ips": [ "205.185.199.53" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c50.ipvanish.com", "udp": true, "ips": [ "205.185.199.59" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c51.ipvanish.com", "udp": true, "ips": [ "205.185.199.65" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c52.ipvanish.com", "udp": true, "ips": [ "205.185.199.71" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c54.ipvanish.com", "udp": true, "ips": [ "205.185.199.83" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c55.ipvanish.com", "udp": true, "ips": [ "205.185.199.89" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c56.ipvanish.com", "udp": true, "ips": [ "205.185.199.95" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c57.ipvanish.com", "udp": true, "ips": [ "205.185.199.101" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c58.ipvanish.com", "udp": true, "ips": [ "205.185.199.107" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c59.ipvanish.com", "udp": true, "ips": [ "205.185.199.113" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c60.ipvanish.com", "udp": true, "ips": [ "205.185.199.119" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c61.ipvanish.com", "udp": true, "ips": [ "205.185.199.125" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c62.ipvanish.com", "udp": true, "ips": [ "205.185.199.131" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c63.ipvanish.com", "udp": true, "ips": [ "205.185.199.137" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c64.ipvanish.com", "udp": true, "ips": [ "205.185.199.143" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c65.ipvanish.com", "udp": true, "ips": [ "205.185.199.149" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c66.ipvanish.com", "udp": true, "ips": [ "205.185.199.155" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c67.ipvanish.com", "udp": true, "ips": [ "205.185.199.161" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c68.ipvanish.com", "udp": true, "ips": [ "205.185.199.167" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c69.ipvanish.com", "udp": true, "ips": [ "205.185.199.173" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c71.ipvanish.com", "udp": true, "ips": [ "205.185.199.185" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c72.ipvanish.com", "udp": true, "ips": [ "205.185.199.191" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c73.ipvanish.com", "udp": true, "ips": [ "205.185.199.197" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c74.ipvanish.com", "udp": true, "ips": [ "205.185.199.203" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c75.ipvanish.com", "udp": true, "ips": [ "205.185.199.209" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c76.ipvanish.com", "udp": true, "ips": [ "205.185.199.215" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c77.ipvanish.com", "udp": true, "ips": [ "205.185.199.221" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c78.ipvanish.com", "udp": true, "ips": [ "205.185.199.227" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "hostname": "ams-c79.ipvanish.com", "udp": true, "ips": [ "205.185.199.233" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c01.ipvanish.com", "udp": true, "ips": [ "116.90.74.195" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c02.ipvanish.com", "udp": true, "ips": [ "116.90.74.201" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c03.ipvanish.com", "udp": true, "ips": [ "116.90.74.207" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c04.ipvanish.com", "udp": true, "ips": [ "116.90.74.213" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c05.ipvanish.com", "udp": true, "ips": [ "116.90.75.98" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c06.ipvanish.com", "udp": true, "ips": [ "116.90.75.104" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c07.ipvanish.com", "udp": true, "ips": [ "116.90.75.110" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "akl-c08.ipvanish.com", "udp": true, "ips": [ "116.90.75.116" ] }, { "vpn": "openvpn", "country": "Nigeria", "city": "Lagos", "hostname": "los-c01.ipvanish.com", "udp": true, "ips": [ "216.151.191.2" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "hostname": "osl-c01.ipvanish.com", "udp": true, "ips": [ "84.247.50.224" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "hostname": "osl-c03.ipvanish.com", "udp": true, "ips": [ "84.247.50.228" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "hostname": "osl-c04.ipvanish.com", "udp": true, "ips": [ "84.247.50.230" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "hostname": "osl-c06.ipvanish.com", "udp": true, "ips": [ "84.247.50.234" ] }, { "vpn": "openvpn", "country": "Pakistan", "city": "Islamabad", "hostname": "isb-c01.ipvanish.com", "udp": true, "ips": [ "156.59.215.67" ] }, { "vpn": "openvpn", "country": "Pakistan", "city": "Islamabad", "hostname": "isb-c02.ipvanish.com", "udp": true, "ips": [ "156.59.215.73" ] }, { "vpn": "openvpn", "country": "Pakistan", "city": "Islamabad", "hostname": "isb-c04.ipvanish.com", "udp": true, "ips": [ "156.59.215.85" ] }, { "vpn": "openvpn", "country": "Pakistan", "city": "Islamabad", "hostname": "isb-c05.ipvanish.com", "udp": true, "ips": [ "156.59.215.91" ] }, { "vpn": "openvpn", "country": "Panama", "city": "Panama City Virtual", "hostname": "pty-c02.ipvanish.com", "udp": true, "ips": [ "216.131.115.152" ] }, { "vpn": "openvpn", "country": "Panama", "city": "Panama City Virtual", "hostname": "pty-c03.ipvanish.com", "udp": true, "ips": [ "216.131.115.158" ] }, { "vpn": "openvpn", "country": "Panama", "city": "Panama City Virtual", "hostname": "pty-c04.ipvanish.com", "udp": true, "ips": [ "216.131.115.164" ] }, { "vpn": "openvpn", "country": "Papua New Guinea", "city": "Port Moresby Virtual", "hostname": "pom-c01.ipvanish.com", "udp": true, "ips": [ "108.171.111.130" ] }, { "vpn": "openvpn", "country": "Papua New Guinea", "city": "Port Moresby Virtual", "hostname": "pom-c02.ipvanish.com", "udp": true, "ips": [ "108.171.111.136" ] }, { "vpn": "openvpn", "country": "Paraguay", "city": "Asuncion Virtual", "hostname": "asu-c01.ipvanish.com", "udp": true, "ips": [ "64.145.65.2" ] }, { "vpn": "openvpn", "country": "Paraguay", "city": "Asuncion Virtual", "hostname": "asu-c02.ipvanish.com", "udp": true, "ips": [ "64.145.65.8" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Lima", "hostname": "lim-c02.ipvanish.com", "udp": true, "ips": [ "205.185.218.11" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Lima", "hostname": "lim-c03.ipvanish.com", "udp": true, "ips": [ "205.185.218.17" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Lima", "hostname": "lim-c04.ipvanish.com", "udp": true, "ips": [ "205.185.218.23" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "hostname": "mnl-c02.ipvanish.com", "udp": true, "ips": [ "156.59.233.135" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "hostname": "mnl-c03.ipvanish.com", "udp": true, "ips": [ "156.59.233.141" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "hostname": "mnl-c06.ipvanish.com", "udp": true, "ips": [ "156.59.233.194" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "hostname": "mnl-c08.ipvanish.com", "udp": true, "ips": [ "156.59.233.206" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "hostname": "mnl-c10.ipvanish.com", "udp": true, "ips": [ "156.59.233.218" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b01.ipvanish.com", "udp": true, "ips": [ "216.151.183.6" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b02.ipvanish.com", "udp": true, "ips": [ "216.151.183.12" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b03.ipvanish.com", "udp": true, "ips": [ "216.151.183.18" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b04.ipvanish.com", "udp": true, "ips": [ "216.151.183.24" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b05.ipvanish.com", "udp": true, "ips": [ "216.151.183.30" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b06.ipvanish.com", "udp": true, "ips": [ "216.151.183.36" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b07.ipvanish.com", "udp": true, "ips": [ "216.151.183.42" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b08.ipvanish.com", "udp": true, "ips": [ "216.151.183.48" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b10.ipvanish.com", "udp": true, "ips": [ "216.151.183.60" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b11.ipvanish.com", "udp": true, "ips": [ "216.151.183.66" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b12.ipvanish.com", "udp": true, "ips": [ "216.151.183.72" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b13.ipvanish.com", "udp": true, "ips": [ "216.151.183.78" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b14.ipvanish.com", "udp": true, "ips": [ "216.151.183.84" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b15.ipvanish.com", "udp": true, "ips": [ "216.151.183.90" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b17.ipvanish.com", "udp": true, "ips": [ "216.151.183.102" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b20.ipvanish.com", "udp": true, "ips": [ "216.151.183.120" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b21.ipvanish.com", "udp": true, "ips": [ "216.151.183.126" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b22.ipvanish.com", "udp": true, "ips": [ "216.151.183.132" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b23.ipvanish.com", "udp": true, "ips": [ "216.151.183.138" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b24.ipvanish.com", "udp": true, "ips": [ "216.151.183.144" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b25.ipvanish.com", "udp": true, "ips": [ "216.151.183.150" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b27.ipvanish.com", "udp": true, "ips": [ "216.151.183.162" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b28.ipvanish.com", "udp": true, "ips": [ "216.151.183.168" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b29.ipvanish.com", "udp": true, "ips": [ "216.151.183.174" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b30.ipvanish.com", "udp": true, "ips": [ "216.151.183.180" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-b31.ipvanish.com", "udp": true, "ips": [ "216.151.183.186" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-c01.ipvanish.com", "udp": true, "ips": [ "176.67.86.2" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-c02.ipvanish.com", "udp": true, "ips": [ "176.67.86.8" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-c03.ipvanish.com", "udp": true, "ips": [ "176.67.86.14" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-c04.ipvanish.com", "udp": true, "ips": [ "176.67.86.20" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-c05.ipvanish.com", "udp": true, "ips": [ "176.67.86.26" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "hostname": "waw-c06.ipvanish.com", "udp": true, "ips": [ "176.67.86.32" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c03.ipvanish.com", "udp": true, "ips": [ "173.245.203.14" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c05.ipvanish.com", "udp": true, "ips": [ "173.245.203.26" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c06.ipvanish.com", "udp": true, "ips": [ "173.245.203.32" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c07.ipvanish.com", "udp": true, "ips": [ "173.245.203.38" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c15.ipvanish.com", "udp": true, "ips": [ "173.245.203.130" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c16.ipvanish.com", "udp": true, "ips": [ "173.245.203.136" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c17.ipvanish.com", "udp": true, "ips": [ "173.245.203.142" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c19.ipvanish.com", "udp": true, "ips": [ "173.245.203.154" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c20.ipvanish.com", "udp": true, "ips": [ "173.245.203.160" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "lis-c21.ipvanish.com", "udp": true, "ips": [ "173.245.203.166" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a02.ipvanish.com", "udp": true, "ips": [ "173.255.164.14" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a04.ipvanish.com", "udp": true, "ips": [ "173.255.164.26" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a06.ipvanish.com", "udp": true, "ips": [ "173.255.164.38" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a07.ipvanish.com", "udp": true, "ips": [ "173.255.164.44" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a08.ipvanish.com", "udp": true, "ips": [ "173.255.164.50" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a09.ipvanish.com", "udp": true, "ips": [ "173.255.164.56" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a10.ipvanish.com", "udp": true, "ips": [ "173.255.164.62" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a12.ipvanish.com", "udp": true, "ips": [ "173.255.164.74" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a13.ipvanish.com", "udp": true, "ips": [ "173.255.164.80" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a15.ipvanish.com", "udp": true, "ips": [ "173.255.164.92" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a17.ipvanish.com", "udp": true, "ips": [ "173.255.164.104" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a19.ipvanish.com", "udp": true, "ips": [ "173.255.164.116" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a23.ipvanish.com", "udp": true, "ips": [ "173.255.164.140" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a24.ipvanish.com", "udp": true, "ips": [ "173.255.164.146" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a25.ipvanish.com", "udp": true, "ips": [ "173.255.164.152" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a26.ipvanish.com", "udp": true, "ips": [ "173.255.164.158" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a27.ipvanish.com", "udp": true, "ips": [ "173.255.164.164" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a33.ipvanish.com", "udp": true, "ips": [ "173.255.164.200" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a34.ipvanish.com", "udp": true, "ips": [ "173.255.164.206" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a37.ipvanish.com", "udp": true, "ips": [ "173.255.164.224" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a38.ipvanish.com", "udp": true, "ips": [ "173.255.164.230" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a39.ipvanish.com", "udp": true, "ips": [ "173.255.164.236" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a42.ipvanish.com", "udp": true, "ips": [ "173.255.165.4" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a45.ipvanish.com", "udp": true, "ips": [ "173.255.165.22" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a46.ipvanish.com", "udp": true, "ips": [ "173.255.165.28" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "hostname": "otp-a47.ipvanish.com", "udp": true, "ips": [ "173.255.165.34" ] }, { "vpn": "openvpn", "country": "Saudi Arabia", "city": "Jeddah Virtual", "hostname": "jed-c02.ipvanish.com", "udp": true, "ips": [ "216.131.88.142" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "hostname": "beg-c05.ipvanish.com", "udp": true, "ips": [ "176.67.83.29" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a01.ipvanish.com", "udp": true, "ips": [ "108.171.108.6" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a02.ipvanish.com", "udp": true, "ips": [ "108.171.108.12" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a03.ipvanish.com", "udp": true, "ips": [ "108.171.108.18" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a05.ipvanish.com", "udp": true, "ips": [ "108.171.108.30" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a06.ipvanish.com", "udp": true, "ips": [ "108.171.108.36" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a07.ipvanish.com", "udp": true, "ips": [ "108.171.108.42" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a11.ipvanish.com", "udp": true, "ips": [ "108.171.108.66" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a12.ipvanish.com", "udp": true, "ips": [ "108.171.108.72" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a13.ipvanish.com", "udp": true, "ips": [ "108.171.108.78" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a14.ipvanish.com", "udp": true, "ips": [ "108.171.108.84" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a15.ipvanish.com", "udp": true, "ips": [ "108.171.108.90" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a17.ipvanish.com", "udp": true, "ips": [ "108.171.108.102" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a22.ipvanish.com", "udp": true, "ips": [ "108.171.108.132" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a26.ipvanish.com", "udp": true, "ips": [ "108.171.108.156" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a27.ipvanish.com", "udp": true, "ips": [ "108.171.108.162" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-a30.ipvanish.com", "udp": true, "ips": [ "108.171.108.180" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c01.ipvanish.com", "udp": true, "ips": [ "209.234.248.130" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c02.ipvanish.com", "udp": true, "ips": [ "209.234.248.136" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c03.ipvanish.com", "udp": true, "ips": [ "209.234.248.142" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c04.ipvanish.com", "udp": true, "ips": [ "209.234.248.148" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c05.ipvanish.com", "udp": true, "ips": [ "209.234.248.154" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c06.ipvanish.com", "udp": true, "ips": [ "209.234.248.160" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c09.ipvanish.com", "udp": true, "ips": [ "209.234.248.179" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sin-c11.ipvanish.com", "udp": true, "ips": [ "209.234.248.191" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "bts-c05.ipvanish.com", "udp": true, "ips": [ "176.67.87.8" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "bts-c06.ipvanish.com", "udp": true, "ips": [ "176.67.87.18" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "bts-c07.ipvanish.com", "udp": true, "ips": [ "176.67.87.28" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "bts-c09.ipvanish.com", "udp": true, "ips": [ "176.67.87.48" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Ljubljana", "hostname": "lju-c03.ipvanish.com", "udp": true, "ips": [ "195.158.249.72" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Ljubljana", "hostname": "lju-c04.ipvanish.com", "udp": true, "ips": [ "195.158.249.74" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Ljubljana", "hostname": "lju-c05.ipvanish.com", "udp": true, "ips": [ "195.158.249.76" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "jnb-c03.ipvanish.com", "udp": true, "ips": [ "64.145.67.2" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "jnb-c04.ipvanish.com", "udp": true, "ips": [ "64.145.67.8" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "jnb-c05.ipvanish.com", "udp": true, "ips": [ "64.145.67.14" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "jnb-c09.ipvanish.com", "udp": true, "ips": [ "64.145.67.38" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "jnb-c10.ipvanish.com", "udp": true, "ips": [ "64.145.67.44" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a01.ipvanish.com", "udp": true, "ips": [ "185.147.214.18" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a04.ipvanish.com", "udp": true, "ips": [ "185.147.214.36" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a05.ipvanish.com", "udp": true, "ips": [ "185.147.214.42" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a08.ipvanish.com", "udp": true, "ips": [ "185.147.214.62" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a10.ipvanish.com", "udp": true, "ips": [ "185.147.214.74" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a13.ipvanish.com", "udp": true, "ips": [ "185.147.214.92" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a14.ipvanish.com", "udp": true, "ips": [ "185.147.214.98" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a15.ipvanish.com", "udp": true, "ips": [ "185.147.214.104" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a16.ipvanish.com", "udp": true, "ips": [ "185.147.214.110" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a17.ipvanish.com", "udp": true, "ips": [ "185.147.214.116" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a18.ipvanish.com", "udp": true, "ips": [ "185.147.214.235" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a19.ipvanish.com", "udp": true, "ips": [ "185.147.214.241" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a20.ipvanish.com", "udp": true, "ips": [ "185.147.214.134" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a22.ipvanish.com", "udp": true, "ips": [ "185.147.214.146" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a23.ipvanish.com", "udp": true, "ips": [ "185.147.214.152" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a25.ipvanish.com", "udp": true, "ips": [ "185.147.214.164" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a29.ipvanish.com", "udp": true, "ips": [ "185.147.214.188" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "mad-a30.ipvanish.com", "udp": true, "ips": [ "185.147.214.194" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Valencia", "hostname": "vlc-c01.ipvanish.com", "udp": true, "ips": [ "193.19.207.163" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Valencia", "hostname": "vlc-c02.ipvanish.com", "udp": true, "ips": [ "193.19.207.167" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Valencia", "hostname": "vlc-c04.ipvanish.com", "udp": true, "ips": [ "193.19.207.183" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Valencia", "hostname": "vlc-c07.ipvanish.com", "udp": true, "ips": [ "193.19.207.171" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Valencia", "hostname": "vlc-c08.ipvanish.com", "udp": true, "ips": [ "193.19.207.175" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "city": "Colombo Virtual", "hostname": "cmb-c01.ipvanish.com", "udp": true, "ips": [ "108.171.109.194" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "city": "Colombo Virtual", "hostname": "cmb-c02.ipvanish.com", "udp": true, "ips": [ "108.171.109.200" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a13.ipvanish.com", "udp": true, "ips": [ "185.147.213.131" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a14.ipvanish.com", "udp": true, "ips": [ "185.147.213.137" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a15.ipvanish.com", "udp": true, "ips": [ "185.147.213.143" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a17.ipvanish.com", "udp": true, "ips": [ "185.147.213.155" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a18.ipvanish.com", "udp": true, "ips": [ "185.147.213.161" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a19.ipvanish.com", "udp": true, "ips": [ "185.147.213.167" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a21.ipvanish.com", "udp": true, "ips": [ "185.147.213.179" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a25.ipvanish.com", "udp": true, "ips": [ "185.147.213.203" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a27.ipvanish.com", "udp": true, "ips": [ "185.147.213.215" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a32.ipvanish.com", "udp": true, "ips": [ "185.147.213.53" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a33.ipvanish.com", "udp": true, "ips": [ "185.147.213.59" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a34.ipvanish.com", "udp": true, "ips": [ "185.147.213.65" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a36.ipvanish.com", "udp": true, "ips": [ "185.147.213.77" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a38.ipvanish.com", "udp": true, "ips": [ "185.147.213.89" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a39.ipvanish.com", "udp": true, "ips": [ "185.147.213.95" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-a40.ipvanish.com", "udp": true, "ips": [ "185.147.213.101" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-c02.ipvanish.com", "udp": true, "ips": [ "185.147.213.10" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-c04.ipvanish.com", "udp": true, "ips": [ "185.147.213.22" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "sto-c05.ipvanish.com", "udp": true, "ips": [ "185.147.213.28" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c01.ipvanish.com", "udp": true, "ips": [ "216.131.108.2" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c02.ipvanish.com", "udp": true, "ips": [ "216.131.108.8" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c03.ipvanish.com", "udp": true, "ips": [ "216.131.108.14" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c04.ipvanish.com", "udp": true, "ips": [ "216.131.108.20" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c07.ipvanish.com", "udp": true, "ips": [ "216.131.108.130" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c08.ipvanish.com", "udp": true, "ips": [ "216.131.108.136" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c09.ipvanish.com", "udp": true, "ips": [ "216.131.108.142" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c10.ipvanish.com", "udp": true, "ips": [ "216.131.108.148" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c11.ipvanish.com", "udp": true, "ips": [ "216.131.108.154" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c12.ipvanish.com", "udp": true, "ips": [ "216.131.108.160" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c13.ipvanish.com", "udp": true, "ips": [ "216.131.108.43" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c15.ipvanish.com", "udp": true, "ips": [ "216.131.108.55" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c17.ipvanish.com", "udp": true, "ips": [ "216.131.108.67" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c20.ipvanish.com", "udp": true, "ips": [ "216.131.108.82" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c22.ipvanish.com", "udp": true, "ips": [ "216.131.108.94" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c23.ipvanish.com", "udp": true, "ips": [ "216.131.108.104" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "hostname": "zrh-c24.ipvanish.com", "udp": true, "ips": [ "216.131.108.106" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c01.ipvanish.com", "udp": true, "ips": [ "23.248.176.130" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c02.ipvanish.com", "udp": true, "ips": [ "23.248.176.137" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c03.ipvanish.com", "udp": true, "ips": [ "23.248.176.143" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c05.ipvanish.com", "udp": true, "ips": [ "23.248.176.155" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c06.ipvanish.com", "udp": true, "ips": [ "23.248.176.161" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c09.ipvanish.com", "udp": true, "ips": [ "192.169.119.136" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c10.ipvanish.com", "udp": true, "ips": [ "192.169.119.142" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c11.ipvanish.com", "udp": true, "ips": [ "192.169.119.148" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tpe-c12.ipvanish.com", "udp": true, "ips": [ "192.169.119.154" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "hostname": "bkk-c01.ipvanish.com", "udp": true, "ips": [ "129.227.230.67" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "hostname": "bkk-c02.ipvanish.com", "udp": true, "ips": [ "129.227.230.72" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "hostname": "bkk-c04.ipvanish.com", "udp": true, "ips": [ "129.227.230.78" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "hostname": "bkk-c06.ipvanish.com", "udp": true, "ips": [ "129.227.230.86" ] }, { "vpn": "openvpn", "country": "Trinidad And Tobago", "city": "Port Of Spain Virtual", "hostname": "pos-b01.ipvanish.com", "udp": true, "ips": [ "108.171.106.66" ] }, { "vpn": "openvpn", "country": "Trinidad And Tobago", "city": "Port Of Spain Virtual", "hostname": "pos-b03.ipvanish.com", "udp": true, "ips": [ "108.171.106.78" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "ist-c01.ipvanish.com", "udp": true, "ips": [ "36.255.204.3" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "ist-c03.ipvanish.com", "udp": true, "ips": [ "36.255.204.15" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "ist-c04.ipvanish.com", "udp": true, "ips": [ "36.255.204.21" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "ist-c05.ipvanish.com", "udp": true, "ips": [ "36.255.204.27" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "ist-c06.ipvanish.com", "udp": true, "ips": [ "36.255.204.33" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "ist-c08.ipvanish.com", "udp": true, "ips": [ "36.255.204.45" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "ist-c09.ipvanish.com", "udp": true, "ips": [ "36.255.204.51" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "hostname": "kbp-b01.ipvanish.com", "udp": true, "ips": [ "209.107.196.1" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "hostname": "kbp-b04.ipvanish.com", "udp": true, "ips": [ "209.107.196.19" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "hostname": "kbp-b05.ipvanish.com", "udp": true, "ips": [ "209.107.196.25" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c10.ipvanish.com", "udp": true, "ips": [ "205.185.221.129" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c11.ipvanish.com", "udp": true, "ips": [ "205.185.221.135" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c12.ipvanish.com", "udp": true, "ips": [ "205.185.221.170" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c13.ipvanish.com", "udp": true, "ips": [ "205.185.221.146" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c14.ipvanish.com", "udp": true, "ips": [ "205.185.221.152" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c15.ipvanish.com", "udp": true, "ips": [ "205.185.221.158" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c20.ipvanish.com", "udp": true, "ips": [ "205.185.221.2" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c21.ipvanish.com", "udp": true, "ips": [ "205.185.221.8" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c23.ipvanish.com", "udp": true, "ips": [ "205.185.221.20" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c25.ipvanish.com", "udp": true, "ips": [ "205.185.221.32" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "dxb-c26.ipvanish.com", "udp": true, "ips": [ "205.185.221.38" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Belfast Virtual", "hostname": "bfs-c01.ipvanish.com", "udp": true, "ips": [ "216.169.135.130" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Belfast Virtual", "hostname": "bfs-c02.ipvanish.com", "udp": true, "ips": [ "216.169.135.136" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c01.ipvanish.com", "udp": true, "ips": [ "94.46.220.87" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c04.ipvanish.com", "udp": true, "ips": [ "94.46.220.93" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c05.ipvanish.com", "udp": true, "ips": [ "78.110.173.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c06.ipvanish.com", "udp": true, "ips": [ "78.110.173.133" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c07.ipvanish.com", "udp": true, "ips": [ "78.110.173.135" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c08.ipvanish.com", "udp": true, "ips": [ "78.110.173.137" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c10.ipvanish.com", "udp": true, "ips": [ "78.110.173.141" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c12.ipvanish.com", "udp": true, "ips": [ "78.110.173.160" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c13.ipvanish.com", "udp": true, "ips": [ "78.110.173.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c15.ipvanish.com", "udp": true, "ips": [ "78.110.173.166" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c17.ipvanish.com", "udp": true, "ips": [ "185.103.99.76" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c19.ipvanish.com", "udp": true, "ips": [ "185.103.99.88" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c23.ipvanish.com", "udp": true, "ips": [ "185.103.99.109" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c24.ipvanish.com", "udp": true, "ips": [ "185.103.99.115" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c25.ipvanish.com", "udp": true, "ips": [ "185.103.99.121" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c26.ipvanish.com", "udp": true, "ips": [ "185.99.253.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c28.ipvanish.com", "udp": true, "ips": [ "185.99.253.143" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c30.ipvanish.com", "udp": true, "ips": [ "185.99.253.155" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c31.ipvanish.com", "udp": true, "ips": [ "185.99.253.161" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Birmingham", "hostname": "bhx-c32.ipvanish.com", "udp": true, "ips": [ "185.99.253.167" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c01.ipvanish.com", "udp": true, "ips": [ "194.88.103.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c03.ipvanish.com", "udp": true, "ips": [ "194.88.103.203" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c04.ipvanish.com", "udp": true, "ips": [ "194.88.103.207" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c07.ipvanish.com", "udp": true, "ips": [ "194.88.103.219" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c08.ipvanish.com", "udp": true, "ips": [ "194.88.103.223" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c09.ipvanish.com", "udp": true, "ips": [ "194.88.103.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c10.ipvanish.com", "udp": true, "ips": [ "194.88.103.231" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c11.ipvanish.com", "udp": true, "ips": [ "194.88.103.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c12.ipvanish.com", "udp": true, "ips": [ "194.88.103.239" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c13.ipvanish.com", "udp": true, "ips": [ "194.88.103.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "hostname": "edi-c14.ipvanish.com", "udp": true, "ips": [ "194.88.103.247" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Glasgow", "hostname": "gla-c01.ipvanish.com", "udp": true, "ips": [ "185.108.105.164" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Glasgow", "hostname": "gla-c02.ipvanish.com", "udp": true, "ips": [ "185.108.105.170" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Glasgow", "hostname": "gla-c03.ipvanish.com", "udp": true, "ips": [ "185.108.105.176" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Glasgow", "hostname": "gla-c04.ipvanish.com", "udp": true, "ips": [ "185.108.105.196" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Glasgow", "hostname": "gla-c05.ipvanish.com", "udp": true, "ips": [ "185.108.105.202" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Glasgow", "hostname": "gla-c06.ipvanish.com", "udp": true, "ips": [ "185.108.105.208" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a01.ipvanish.com", "udp": true, "ips": [ "185.91.122.6" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a02.ipvanish.com", "udp": true, "ips": [ "185.91.122.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a05.ipvanish.com", "udp": true, "ips": [ "185.91.122.30" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a07.ipvanish.com", "udp": true, "ips": [ "185.91.122.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a08.ipvanish.com", "udp": true, "ips": [ "185.91.122.48" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a09.ipvanish.com", "udp": true, "ips": [ "185.91.122.54" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a11.ipvanish.com", "udp": true, "ips": [ "185.91.122.66" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a13.ipvanish.com", "udp": true, "ips": [ "185.91.122.78" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a16.ipvanish.com", "udp": true, "ips": [ "185.91.122.96" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a17.ipvanish.com", "udp": true, "ips": [ "185.91.122.102" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a18.ipvanish.com", "udp": true, "ips": [ "185.91.122.108" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a19.ipvanish.com", "udp": true, "ips": [ "185.91.122.114" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a21.ipvanish.com", "udp": true, "ips": [ "185.91.122.126" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a22.ipvanish.com", "udp": true, "ips": [ "185.91.122.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a24.ipvanish.com", "udp": true, "ips": [ "185.91.122.144" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a25.ipvanish.com", "udp": true, "ips": [ "185.91.122.150" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a26.ipvanish.com", "udp": true, "ips": [ "185.91.122.156" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a27.ipvanish.com", "udp": true, "ips": [ "185.91.122.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a28.ipvanish.com", "udp": true, "ips": [ "185.91.122.168" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a29.ipvanish.com", "udp": true, "ips": [ "185.91.122.174" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a30.ipvanish.com", "udp": true, "ips": [ "185.91.122.180" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a31.ipvanish.com", "udp": true, "ips": [ "185.91.122.186" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a33.ipvanish.com", "udp": true, "ips": [ "185.91.122.198" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a34.ipvanish.com", "udp": true, "ips": [ "185.91.122.204" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a35.ipvanish.com", "udp": true, "ips": [ "185.91.122.210" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a36.ipvanish.com", "udp": true, "ips": [ "185.91.122.216" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a38.ipvanish.com", "udp": true, "ips": [ "185.91.122.228" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a39.ipvanish.com", "udp": true, "ips": [ "185.91.122.234" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a40.ipvanish.com", "udp": true, "ips": [ "185.91.122.240" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a41.ipvanish.com", "udp": true, "ips": [ "185.91.122.246" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a44.ipvanish.com", "udp": true, "ips": [ "185.91.123.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a47.ipvanish.com", "udp": true, "ips": [ "185.91.123.30" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a49.ipvanish.com", "udp": true, "ips": [ "185.91.123.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a52.ipvanish.com", "udp": true, "ips": [ "185.91.123.60" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a54.ipvanish.com", "udp": true, "ips": [ "185.91.123.72" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a55.ipvanish.com", "udp": true, "ips": [ "185.91.123.78" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a56.ipvanish.com", "udp": true, "ips": [ "185.91.123.84" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a57.ipvanish.com", "udp": true, "ips": [ "185.91.123.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a59.ipvanish.com", "udp": true, "ips": [ "185.91.123.102" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a60.ipvanish.com", "udp": true, "ips": [ "185.91.123.108" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a61.ipvanish.com", "udp": true, "ips": [ "185.91.123.114" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a64.ipvanish.com", "udp": true, "ips": [ "185.91.123.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a67.ipvanish.com", "udp": true, "ips": [ "185.91.123.150" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a68.ipvanish.com", "udp": true, "ips": [ "185.91.123.156" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a77.ipvanish.com", "udp": true, "ips": [ "216.131.116.44" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a80.ipvanish.com", "udp": true, "ips": [ "216.131.116.62" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a83.ipvanish.com", "udp": true, "ips": [ "216.131.116.80" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a84.ipvanish.com", "udp": true, "ips": [ "216.131.116.86" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a85.ipvanish.com", "udp": true, "ips": [ "216.131.116.92" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a86.ipvanish.com", "udp": true, "ips": [ "216.131.116.98" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a87.ipvanish.com", "udp": true, "ips": [ "216.131.116.104" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a88.ipvanish.com", "udp": true, "ips": [ "216.131.116.110" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a89.ipvanish.com", "udp": true, "ips": [ "216.131.116.116" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a95.ipvanish.com", "udp": true, "ips": [ "216.131.116.152" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a96.ipvanish.com", "udp": true, "ips": [ "216.131.116.158" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-a97.ipvanish.com", "udp": true, "ips": [ "216.131.116.164" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b06.ipvanish.com", "udp": true, "ips": [ "216.151.184.31" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b07.ipvanish.com", "udp": true, "ips": [ "216.151.184.37" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b09.ipvanish.com", "udp": true, "ips": [ "216.151.184.49" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b25.ipvanish.com", "udp": true, "ips": [ "216.131.116.194" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b26.ipvanish.com", "udp": true, "ips": [ "216.131.116.200" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b27.ipvanish.com", "udp": true, "ips": [ "216.131.116.206" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b28.ipvanish.com", "udp": true, "ips": [ "216.131.116.212" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b29.ipvanish.com", "udp": true, "ips": [ "216.131.116.218" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b31.ipvanish.com", "udp": true, "ips": [ "216.131.116.230" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b32.ipvanish.com", "udp": true, "ips": [ "216.131.116.236" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b38.ipvanish.com", "udp": true, "ips": [ "216.131.117.19" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b40.ipvanish.com", "udp": true, "ips": [ "216.131.117.31" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b43.ipvanish.com", "udp": true, "ips": [ "216.131.117.49" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b45.ipvanish.com", "udp": true, "ips": [ "216.131.117.61" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b52.ipvanish.com", "udp": true, "ips": [ "216.131.117.103" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b54.ipvanish.com", "udp": true, "ips": [ "216.131.117.115" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b58.ipvanish.com", "udp": true, "ips": [ "216.131.117.139" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b60.ipvanish.com", "udp": true, "ips": [ "216.131.117.151" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b61.ipvanish.com", "udp": true, "ips": [ "216.131.117.157" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b62.ipvanish.com", "udp": true, "ips": [ "216.131.117.163" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lon-b63.ipvanish.com", "udp": true, "ips": [ "216.131.117.169" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a01.ipvanish.com", "udp": true, "ips": [ "216.169.132.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a02.ipvanish.com", "udp": true, "ips": [ "216.169.132.10" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a04.ipvanish.com", "udp": true, "ips": [ "216.169.132.22" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a05.ipvanish.com", "udp": true, "ips": [ "216.169.132.28" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a07.ipvanish.com", "udp": true, "ips": [ "216.169.132.40" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a08.ipvanish.com", "udp": true, "ips": [ "216.169.132.46" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a10.ipvanish.com", "udp": true, "ips": [ "216.169.132.58" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a12.ipvanish.com", "udp": true, "ips": [ "216.169.132.70" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a15.ipvanish.com", "udp": true, "ips": [ "216.169.132.88" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a19.ipvanish.com", "udp": true, "ips": [ "216.169.132.112" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a21.ipvanish.com", "udp": true, "ips": [ "216.169.133.6" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a22.ipvanish.com", "udp": true, "ips": [ "216.169.133.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a23.ipvanish.com", "udp": true, "ips": [ "216.169.133.18" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a27.ipvanish.com", "udp": true, "ips": [ "216.169.133.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a28.ipvanish.com", "udp": true, "ips": [ "216.169.133.48" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a31.ipvanish.com", "udp": true, "ips": [ "216.169.133.66" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a32.ipvanish.com", "udp": true, "ips": [ "216.169.133.72" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a33.ipvanish.com", "udp": true, "ips": [ "216.169.133.78" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a34.ipvanish.com", "udp": true, "ips": [ "216.169.133.84" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a35.ipvanish.com", "udp": true, "ips": [ "216.169.133.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a36.ipvanish.com", "udp": true, "ips": [ "216.169.133.96" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a39.ipvanish.com", "udp": true, "ips": [ "216.169.133.114" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "man-a40.ipvanish.com", "udp": true, "ips": [ "216.169.133.120" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b02.ipvanish.com", "udp": true, "ips": [ "216.131.72.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b03.ipvanish.com", "udp": true, "ips": [ "216.131.72.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b04.ipvanish.com", "udp": true, "ips": [ "216.131.72.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b05.ipvanish.com", "udp": true, "ips": [ "216.131.72.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b08.ipvanish.com", "udp": true, "ips": [ "216.131.72.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b10.ipvanish.com", "udp": true, "ips": [ "216.131.72.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b11.ipvanish.com", "udp": true, "ips": [ "216.131.72.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b14.ipvanish.com", "udp": true, "ips": [ "216.131.72.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b15.ipvanish.com", "udp": true, "ips": [ "216.131.73.3" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b16.ipvanish.com", "udp": true, "ips": [ "216.131.73.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b17.ipvanish.com", "udp": true, "ips": [ "216.131.73.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b18.ipvanish.com", "udp": true, "ips": [ "216.131.73.21" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b19.ipvanish.com", "udp": true, "ips": [ "216.131.73.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b20.ipvanish.com", "udp": true, "ips": [ "216.131.73.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b22.ipvanish.com", "udp": true, "ips": [ "216.131.73.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b23.ipvanish.com", "udp": true, "ips": [ "216.131.73.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b24.ipvanish.com", "udp": true, "ips": [ "216.131.73.57" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b26.ipvanish.com", "udp": true, "ips": [ "216.131.73.69" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b27.ipvanish.com", "udp": true, "ips": [ "216.131.73.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b28.ipvanish.com", "udp": true, "ips": [ "216.131.73.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b30.ipvanish.com", "udp": true, "ips": [ "216.131.72.94" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b31.ipvanish.com", "udp": true, "ips": [ "216.131.72.100" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b33.ipvanish.com", "udp": true, "ips": [ "216.131.72.112" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b34.ipvanish.com", "udp": true, "ips": [ "216.131.72.118" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b35.ipvanish.com", "udp": true, "ips": [ "216.131.72.124" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b36.ipvanish.com", "udp": true, "ips": [ "216.131.72.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b37.ipvanish.com", "udp": true, "ips": [ "216.131.72.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b38.ipvanish.com", "udp": true, "ips": [ "216.131.72.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b40.ipvanish.com", "udp": true, "ips": [ "216.131.72.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b41.ipvanish.com", "udp": true, "ips": [ "216.131.72.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b43.ipvanish.com", "udp": true, "ips": [ "216.131.72.172" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b46.ipvanish.com", "udp": true, "ips": [ "216.131.72.189" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b49.ipvanish.com", "udp": true, "ips": [ "216.131.72.207" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b50.ipvanish.com", "udp": true, "ips": [ "216.131.72.213" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b51.ipvanish.com", "udp": true, "ips": [ "216.131.72.219" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b52.ipvanish.com", "udp": true, "ips": [ "216.131.72.225" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-b53.ipvanish.com", "udp": true, "ips": [ "216.131.72.231" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c01.ipvanish.com", "udp": true, "ips": [ "98.96.216.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c02.ipvanish.com", "udp": true, "ips": [ "98.96.216.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c03.ipvanish.com", "udp": true, "ips": [ "98.96.216.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c04.ipvanish.com", "udp": true, "ips": [ "98.96.216.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c05.ipvanish.com", "udp": true, "ips": [ "98.96.216.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c07.ipvanish.com", "udp": true, "ips": [ "98.96.216.194" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c08.ipvanish.com", "udp": true, "ips": [ "98.96.216.200" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c09.ipvanish.com", "udp": true, "ips": [ "98.96.216.206" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c10.ipvanish.com", "udp": true, "ips": [ "98.96.216.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c11.ipvanish.com", "udp": true, "ips": [ "98.96.216.218" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c12.ipvanish.com", "udp": true, "ips": [ "98.96.216.224" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c13.ipvanish.com", "udp": true, "ips": [ "216.131.73.87" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c16.ipvanish.com", "udp": true, "ips": [ "216.131.73.105" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c17.ipvanish.com", "udp": true, "ips": [ "216.131.73.111" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c18.ipvanish.com", "udp": true, "ips": [ "216.131.73.117" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c19.ipvanish.com", "udp": true, "ips": [ "216.131.73.123" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c20.ipvanish.com", "udp": true, "ips": [ "216.169.136.6" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c22.ipvanish.com", "udp": true, "ips": [ "216.169.136.18" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c23.ipvanish.com", "udp": true, "ips": [ "216.169.136.24" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c24.ipvanish.com", "udp": true, "ips": [ "216.169.136.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c25.ipvanish.com", "udp": true, "ips": [ "216.169.136.36" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c26.ipvanish.com", "udp": true, "ips": [ "216.169.136.42" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c29.ipvanish.com", "udp": true, "ips": [ "216.169.136.60" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c30.ipvanish.com", "udp": true, "ips": [ "216.169.136.66" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c31.ipvanish.com", "udp": true, "ips": [ "216.169.136.72" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c33.ipvanish.com", "udp": true, "ips": [ "216.169.136.84" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c34.ipvanish.com", "udp": true, "ips": [ "216.169.136.90" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c36.ipvanish.com", "udp": true, "ips": [ "216.169.136.102" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c37.ipvanish.com", "udp": true, "ips": [ "216.169.136.108" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c40.ipvanish.com", "udp": true, "ips": [ "216.169.136.138" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c41.ipvanish.com", "udp": true, "ips": [ "216.169.136.144" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c42.ipvanish.com", "udp": true, "ips": [ "216.169.136.150" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c43.ipvanish.com", "udp": true, "ips": [ "216.169.136.156" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c44.ipvanish.com", "udp": true, "ips": [ "216.169.136.162" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c46.ipvanish.com", "udp": true, "ips": [ "216.169.136.174" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c47.ipvanish.com", "udp": true, "ips": [ "216.169.136.180" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c50.ipvanish.com", "udp": true, "ips": [ "216.169.136.198" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c53.ipvanish.com", "udp": true, "ips": [ "216.169.136.216" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c55.ipvanish.com", "udp": true, "ips": [ "216.169.136.228" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c56.ipvanish.com", "udp": true, "ips": [ "216.169.136.234" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c57.ipvanish.com", "udp": true, "ips": [ "216.169.136.240" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "hostname": "iad-c58.ipvanish.com", "udp": true, "ips": [ "216.169.136.246" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a01.ipvanish.com", "udp": true, "ips": [ "216.131.74.202" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a03.ipvanish.com", "udp": true, "ips": [ "216.131.74.214" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a04.ipvanish.com", "udp": true, "ips": [ "216.131.74.220" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a05.ipvanish.com", "udp": true, "ips": [ "216.131.74.226" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a06.ipvanish.com", "udp": true, "ips": [ "192.200.149.79" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a07.ipvanish.com", "udp": true, "ips": [ "192.200.149.85" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a08.ipvanish.com", "udp": true, "ips": [ "192.200.149.91" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a09.ipvanish.com", "udp": true, "ips": [ "192.200.149.97" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a10.ipvanish.com", "udp": true, "ips": [ "192.200.149.103" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a11.ipvanish.com", "udp": true, "ips": [ "192.200.149.109" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a12.ipvanish.com", "udp": true, "ips": [ "192.200.149.115" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a13.ipvanish.com", "udp": true, "ips": [ "192.200.149.121" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a14.ipvanish.com", "udp": true, "ips": [ "192.200.149.127" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a15.ipvanish.com", "udp": true, "ips": [ "192.200.149.133" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a16.ipvanish.com", "udp": true, "ips": [ "192.200.149.139" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a18.ipvanish.com", "udp": true, "ips": [ "192.200.149.151" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a19.ipvanish.com", "udp": true, "ips": [ "192.200.149.157" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a20.ipvanish.com", "udp": true, "ips": [ "192.200.149.163" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a22.ipvanish.com", "udp": true, "ips": [ "192.200.149.175" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a23.ipvanish.com", "udp": true, "ips": [ "192.200.149.181" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a24.ipvanish.com", "udp": true, "ips": [ "192.200.149.187" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a25.ipvanish.com", "udp": true, "ips": [ "192.200.149.193" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a26.ipvanish.com", "udp": true, "ips": [ "192.200.149.199" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a27.ipvanish.com", "udp": true, "ips": [ "192.200.149.205" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a28.ipvanish.com", "udp": true, "ips": [ "192.200.149.211" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a29.ipvanish.com", "udp": true, "ips": [ "192.200.149.217" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a30.ipvanish.com", "udp": true, "ips": [ "192.200.149.223" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a31.ipvanish.com", "udp": true, "ips": [ "192.200.149.229" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a32.ipvanish.com", "udp": true, "ips": [ "192.200.149.235" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a33.ipvanish.com", "udp": true, "ips": [ "192.200.149.241" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a34.ipvanish.com", "udp": true, "ips": [ "192.200.150.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a35.ipvanish.com", "udp": true, "ips": [ "192.200.150.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a36.ipvanish.com", "udp": true, "ips": [ "192.200.150.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a38.ipvanish.com", "udp": true, "ips": [ "192.200.150.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a39.ipvanish.com", "udp": true, "ips": [ "192.200.150.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a40.ipvanish.com", "udp": true, "ips": [ "192.200.150.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a78.ipvanish.com", "udp": true, "ips": [ "192.200.148.240" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a79.ipvanish.com", "udp": true, "ips": [ "192.200.148.246" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a80.ipvanish.com", "udp": true, "ips": [ "192.200.149.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a81.ipvanish.com", "udp": true, "ips": [ "192.200.149.7" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a82.ipvanish.com", "udp": true, "ips": [ "192.200.149.13" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a83.ipvanish.com", "udp": true, "ips": [ "192.200.149.19" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a84.ipvanish.com", "udp": true, "ips": [ "192.200.149.25" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a85.ipvanish.com", "udp": true, "ips": [ "192.200.149.31" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a86.ipvanish.com", "udp": true, "ips": [ "192.200.149.37" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a88.ipvanish.com", "udp": true, "ips": [ "192.200.149.49" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a90.ipvanish.com", "udp": true, "ips": [ "192.200.148.204" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a91.ipvanish.com", "udp": true, "ips": [ "192.200.148.210" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a92.ipvanish.com", "udp": true, "ips": [ "192.200.148.216" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a93.ipvanish.com", "udp": true, "ips": [ "192.200.148.222" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a94.ipvanish.com", "udp": true, "ips": [ "192.200.148.228" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a95.ipvanish.com", "udp": true, "ips": [ "192.200.148.234" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a96.ipvanish.com", "udp": true, "ips": [ "192.200.149.55" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-a98.ipvanish.com", "udp": true, "ips": [ "192.200.149.67" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b03.ipvanish.com", "udp": true, "ips": [ "216.131.74.16" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b05.ipvanish.com", "udp": true, "ips": [ "216.131.74.28" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b06.ipvanish.com", "udp": true, "ips": [ "216.131.74.34" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b09.ipvanish.com", "udp": true, "ips": [ "216.131.74.52" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b10.ipvanish.com", "udp": true, "ips": [ "216.131.74.58" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b12.ipvanish.com", "udp": true, "ips": [ "216.131.74.70" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b13.ipvanish.com", "udp": true, "ips": [ "216.131.74.76" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b14.ipvanish.com", "udp": true, "ips": [ "216.131.74.82" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b16.ipvanish.com", "udp": true, "ips": [ "216.131.74.94" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b17.ipvanish.com", "udp": true, "ips": [ "216.131.74.100" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b18.ipvanish.com", "udp": true, "ips": [ "216.131.74.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b19.ipvanish.com", "udp": true, "ips": [ "216.131.74.112" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b20.ipvanish.com", "udp": true, "ips": [ "216.131.74.118" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b21.ipvanish.com", "udp": true, "ips": [ "216.131.74.124" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b23.ipvanish.com", "udp": true, "ips": [ "216.131.74.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b24.ipvanish.com", "udp": true, "ips": [ "216.131.74.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b26.ipvanish.com", "udp": true, "ips": [ "216.131.74.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b27.ipvanish.com", "udp": true, "ips": [ "216.131.74.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b28.ipvanish.com", "udp": true, "ips": [ "216.131.74.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b30.ipvanish.com", "udp": true, "ips": [ "216.131.75.3" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b31.ipvanish.com", "udp": true, "ips": [ "216.131.75.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b32.ipvanish.com", "udp": true, "ips": [ "216.131.75.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b34.ipvanish.com", "udp": true, "ips": [ "216.131.75.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b35.ipvanish.com", "udp": true, "ips": [ "216.131.75.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b37.ipvanish.com", "udp": true, "ips": [ "216.131.75.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b40.ipvanish.com", "udp": true, "ips": [ "216.131.75.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b41.ipvanish.com", "udp": true, "ips": [ "216.131.75.69" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b42.ipvanish.com", "udp": true, "ips": [ "216.131.75.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b43.ipvanish.com", "udp": true, "ips": [ "216.131.75.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b44.ipvanish.com", "udp": true, "ips": [ "216.131.75.88" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b45.ipvanish.com", "udp": true, "ips": [ "216.131.75.94" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b46.ipvanish.com", "udp": true, "ips": [ "216.131.75.100" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b47.ipvanish.com", "udp": true, "ips": [ "216.131.75.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b48.ipvanish.com", "udp": true, "ips": [ "216.131.75.112" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b49.ipvanish.com", "udp": true, "ips": [ "216.131.75.118" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b50.ipvanish.com", "udp": true, "ips": [ "216.131.75.124" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b51.ipvanish.com", "udp": true, "ips": [ "216.131.75.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b53.ipvanish.com", "udp": true, "ips": [ "216.131.75.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b54.ipvanish.com", "udp": true, "ips": [ "216.131.75.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b55.ipvanish.com", "udp": true, "ips": [ "216.131.75.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b56.ipvanish.com", "udp": true, "ips": [ "216.131.75.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b57.ipvanish.com", "udp": true, "ips": [ "216.131.75.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b59.ipvanish.com", "udp": true, "ips": [ "216.131.75.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b60.ipvanish.com", "udp": true, "ips": [ "216.131.75.184" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b61.ipvanish.com", "udp": true, "ips": [ "216.131.75.190" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b63.ipvanish.com", "udp": true, "ips": [ "192.200.148.6" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b64.ipvanish.com", "udp": true, "ips": [ "192.200.148.12" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b65.ipvanish.com", "udp": true, "ips": [ "192.200.148.18" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b66.ipvanish.com", "udp": true, "ips": [ "192.200.148.24" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b67.ipvanish.com", "udp": true, "ips": [ "192.200.148.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b68.ipvanish.com", "udp": true, "ips": [ "192.200.148.36" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b69.ipvanish.com", "udp": true, "ips": [ "192.200.148.42" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b70.ipvanish.com", "udp": true, "ips": [ "192.200.148.48" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b71.ipvanish.com", "udp": true, "ips": [ "192.200.148.54" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b73.ipvanish.com", "udp": true, "ips": [ "192.200.148.66" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b75.ipvanish.com", "udp": true, "ips": [ "192.200.148.78" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b76.ipvanish.com", "udp": true, "ips": [ "192.200.148.84" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b78.ipvanish.com", "udp": true, "ips": [ "192.200.148.96" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b79.ipvanish.com", "udp": true, "ips": [ "192.200.148.102" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b80.ipvanish.com", "udp": true, "ips": [ "192.200.148.108" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b81.ipvanish.com", "udp": true, "ips": [ "192.200.148.114" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b82.ipvanish.com", "udp": true, "ips": [ "192.200.148.120" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b83.ipvanish.com", "udp": true, "ips": [ "192.200.148.126" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b84.ipvanish.com", "udp": true, "ips": [ "192.200.148.132" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b85.ipvanish.com", "udp": true, "ips": [ "192.200.148.138" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b87.ipvanish.com", "udp": true, "ips": [ "192.200.148.150" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b89.ipvanish.com", "udp": true, "ips": [ "192.200.148.162" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b92.ipvanish.com", "udp": true, "ips": [ "192.200.148.180" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b93.ipvanish.com", "udp": true, "ips": [ "192.200.148.186" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b95.ipvanish.com", "udp": true, "ips": [ "216.131.74.172" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b96.ipvanish.com", "udp": true, "ips": [ "216.131.74.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b97.ipvanish.com", "udp": true, "ips": [ "216.131.74.184" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-b99.ipvanish.com", "udp": true, "ips": [ "216.131.74.196" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c01.ipvanish.com", "udp": true, "ips": [ "216.169.140.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c02.ipvanish.com", "udp": true, "ips": [ "216.169.140.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c03.ipvanish.com", "udp": true, "ips": [ "216.169.140.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c04.ipvanish.com", "udp": true, "ips": [ "216.169.140.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c05.ipvanish.com", "udp": true, "ips": [ "216.169.140.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c08.ipvanish.com", "udp": true, "ips": [ "216.169.140.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c09.ipvanish.com", "udp": true, "ips": [ "216.169.140.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c10.ipvanish.com", "udp": true, "ips": [ "216.169.140.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c14.ipvanish.com", "udp": true, "ips": [ "216.169.140.86" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c15.ipvanish.com", "udp": true, "ips": [ "216.169.140.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c16.ipvanish.com", "udp": true, "ips": [ "216.169.140.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c17.ipvanish.com", "udp": true, "ips": [ "216.169.140.104" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c18.ipvanish.com", "udp": true, "ips": [ "216.169.140.110" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c19.ipvanish.com", "udp": true, "ips": [ "216.169.140.116" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c20.ipvanish.com", "udp": true, "ips": [ "216.169.140.122" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c21.ipvanish.com", "udp": true, "ips": [ "216.169.140.128" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c22.ipvanish.com", "udp": true, "ips": [ "216.169.140.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c24.ipvanish.com", "udp": true, "ips": [ "216.169.140.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c25.ipvanish.com", "udp": true, "ips": [ "216.169.140.152" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c26.ipvanish.com", "udp": true, "ips": [ "216.169.140.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c28.ipvanish.com", "udp": true, "ips": [ "216.169.140.170" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c29.ipvanish.com", "udp": true, "ips": [ "216.169.140.176" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c30.ipvanish.com", "udp": true, "ips": [ "216.169.140.182" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c31.ipvanish.com", "udp": true, "ips": [ "216.169.140.188" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c32.ipvanish.com", "udp": true, "ips": [ "216.169.140.194" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c33.ipvanish.com", "udp": true, "ips": [ "216.169.140.200" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c36.ipvanish.com", "udp": true, "ips": [ "216.169.140.218" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c37.ipvanish.com", "udp": true, "ips": [ "216.169.140.224" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c39.ipvanish.com", "udp": true, "ips": [ "216.169.140.236" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c41.ipvanish.com", "udp": true, "ips": [ "216.169.141.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c42.ipvanish.com", "udp": true, "ips": [ "216.169.141.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c43.ipvanish.com", "udp": true, "ips": [ "216.169.141.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c44.ipvanish.com", "udp": true, "ips": [ "216.169.141.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c45.ipvanish.com", "udp": true, "ips": [ "216.169.141.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c46.ipvanish.com", "udp": true, "ips": [ "216.169.141.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c47.ipvanish.com", "udp": true, "ips": [ "216.169.141.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c48.ipvanish.com", "udp": true, "ips": [ "216.169.141.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c49.ipvanish.com", "udp": true, "ips": [ "216.169.141.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c50.ipvanish.com", "udp": true, "ips": [ "216.169.141.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c51.ipvanish.com", "udp": true, "ips": [ "216.169.141.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c52.ipvanish.com", "udp": true, "ips": [ "216.169.141.74" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c53.ipvanish.com", "udp": true, "ips": [ "216.169.141.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c55.ipvanish.com", "udp": true, "ips": [ "216.169.141.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c56.ipvanish.com", "udp": true, "ips": [ "216.169.141.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c57.ipvanish.com", "udp": true, "ips": [ "216.169.141.104" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c59.ipvanish.com", "udp": true, "ips": [ "216.169.141.116" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c60.ipvanish.com", "udp": true, "ips": [ "216.169.141.122" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c61.ipvanish.com", "udp": true, "ips": [ "216.169.141.128" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c62.ipvanish.com", "udp": true, "ips": [ "216.169.141.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c64.ipvanish.com", "udp": true, "ips": [ "216.169.141.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c65.ipvanish.com", "udp": true, "ips": [ "216.169.141.152" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c67.ipvanish.com", "udp": true, "ips": [ "216.169.141.164" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c68.ipvanish.com", "udp": true, "ips": [ "216.169.141.170" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c69.ipvanish.com", "udp": true, "ips": [ "216.169.141.176" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c70.ipvanish.com", "udp": true, "ips": [ "216.169.141.182" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c71.ipvanish.com", "udp": true, "ips": [ "216.169.141.188" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c72.ipvanish.com", "udp": true, "ips": [ "216.169.141.194" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c73.ipvanish.com", "udp": true, "ips": [ "216.169.141.200" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c74.ipvanish.com", "udp": true, "ips": [ "216.169.141.206" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "atl-c75.ipvanish.com", "udp": true, "ips": [ "216.169.141.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c02.ipvanish.com", "udp": true, "ips": [ "108.171.103.203" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c03.ipvanish.com", "udp": true, "ips": [ "108.171.103.209" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c04.ipvanish.com", "udp": true, "ips": [ "108.171.103.215" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c05.ipvanish.com", "udp": true, "ips": [ "108.171.103.221" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c06.ipvanish.com", "udp": true, "ips": [ "108.171.103.227" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c07.ipvanish.com", "udp": true, "ips": [ "108.171.103.233" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c08.ipvanish.com", "udp": true, "ips": [ "108.171.103.237" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c09.ipvanish.com", "udp": true, "ips": [ "108.171.103.241" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c11.ipvanish.com", "udp": true, "ips": [ "108.171.103.3" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c12.ipvanish.com", "udp": true, "ips": [ "108.171.103.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c13.ipvanish.com", "udp": true, "ips": [ "108.171.103.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c15.ipvanish.com", "udp": true, "ips": [ "108.171.103.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c17.ipvanish.com", "udp": true, "ips": [ "108.171.103.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c19.ipvanish.com", "udp": true, "ips": [ "108.171.103.57" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c20.ipvanish.com", "udp": true, "ips": [ "108.171.103.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c21.ipvanish.com", "udp": true, "ips": [ "108.171.103.69" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c22.ipvanish.com", "udp": true, "ips": [ "108.171.103.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c24.ipvanish.com", "udp": true, "ips": [ "108.171.103.87" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c26.ipvanish.com", "udp": true, "ips": [ "108.171.103.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c27.ipvanish.com", "udp": true, "ips": [ "108.171.103.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c28.ipvanish.com", "udp": true, "ips": [ "108.171.103.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c32.ipvanish.com", "udp": true, "ips": [ "108.171.103.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c34.ipvanish.com", "udp": true, "ips": [ "108.171.103.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "hostname": "bos-c36.ipvanish.com", "udp": true, "ips": [ "108.171.103.190" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "buf-c02.ipvanish.com", "udp": true, "ips": [ "192.3.2.72" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "buf-c03.ipvanish.com", "udp": true, "ips": [ "192.3.2.78" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "buf-c05.ipvanish.com", "udp": true, "ips": [ "192.3.2.90" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "buf-c07.ipvanish.com", "udp": true, "ips": [ "192.3.2.101" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "buf-c08.ipvanish.com", "udp": true, "ips": [ "192.3.2.107" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "buf-c09.ipvanish.com", "udp": true, "ips": [ "192.3.2.113" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "buf-c10.ipvanish.com", "udp": true, "ips": [ "192.3.2.119" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c01.ipvanish.com", "udp": true, "ips": [ "207.204.229.5" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c02.ipvanish.com", "udp": true, "ips": [ "207.204.229.11" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c04.ipvanish.com", "udp": true, "ips": [ "207.204.229.23" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c05.ipvanish.com", "udp": true, "ips": [ "207.204.229.29" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c06.ipvanish.com", "udp": true, "ips": [ "207.204.229.35" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c07.ipvanish.com", "udp": true, "ips": [ "207.204.229.41" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c09.ipvanish.com", "udp": true, "ips": [ "207.204.229.53" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c10.ipvanish.com", "udp": true, "ips": [ "207.204.229.59" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c11.ipvanish.com", "udp": true, "ips": [ "207.204.229.65" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c12.ipvanish.com", "udp": true, "ips": [ "207.204.229.71" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c14.ipvanish.com", "udp": true, "ips": [ "216.131.104.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c15.ipvanish.com", "udp": true, "ips": [ "216.131.104.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c16.ipvanish.com", "udp": true, "ips": [ "216.131.104.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c17.ipvanish.com", "udp": true, "ips": [ "216.131.104.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c18.ipvanish.com", "udp": true, "ips": [ "216.131.104.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c19.ipvanish.com", "udp": true, "ips": [ "216.131.104.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c20.ipvanish.com", "udp": true, "ips": [ "216.131.104.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c21.ipvanish.com", "udp": true, "ips": [ "216.131.104.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c23.ipvanish.com", "udp": true, "ips": [ "216.131.104.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c24.ipvanish.com", "udp": true, "ips": [ "216.131.104.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c25.ipvanish.com", "udp": true, "ips": [ "216.131.104.74" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c26.ipvanish.com", "udp": true, "ips": [ "216.131.104.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c27.ipvanish.com", "udp": true, "ips": [ "216.131.104.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c28.ipvanish.com", "udp": true, "ips": [ "216.131.104.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c29.ipvanish.com", "udp": true, "ips": [ "216.131.104.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c30.ipvanish.com", "udp": true, "ips": [ "216.131.104.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c31.ipvanish.com", "udp": true, "ips": [ "216.131.104.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c33.ipvanish.com", "udp": true, "ips": [ "216.131.104.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c35.ipvanish.com", "udp": true, "ips": [ "216.131.104.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c37.ipvanish.com", "udp": true, "ips": [ "216.131.104.190" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c40.ipvanish.com", "udp": true, "ips": [ "216.131.104.208" ] }, { "vpn": "openvpn", "country": "United States", "city": "Charlotte", "hostname": "clt-c41.ipvanish.com", "udp": true, "ips": [ "216.131.104.214" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b01.ipvanish.com", "udp": true, "ips": [ "216.131.76.3" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b02.ipvanish.com", "udp": true, "ips": [ "216.131.76.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b03.ipvanish.com", "udp": true, "ips": [ "216.131.76.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b04.ipvanish.com", "udp": true, "ips": [ "216.131.76.21" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b05.ipvanish.com", "udp": true, "ips": [ "216.131.76.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b06.ipvanish.com", "udp": true, "ips": [ "216.131.76.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b07.ipvanish.com", "udp": true, "ips": [ "216.131.76.39" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b08.ipvanish.com", "udp": true, "ips": [ "216.131.76.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b09.ipvanish.com", "udp": true, "ips": [ "216.131.76.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b10.ipvanish.com", "udp": true, "ips": [ "216.131.76.57" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b11.ipvanish.com", "udp": true, "ips": [ "216.131.76.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b12.ipvanish.com", "udp": true, "ips": [ "216.131.76.69" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b13.ipvanish.com", "udp": true, "ips": [ "216.131.76.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b14.ipvanish.com", "udp": true, "ips": [ "216.131.76.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b15.ipvanish.com", "udp": true, "ips": [ "216.131.76.87" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b16.ipvanish.com", "udp": true, "ips": [ "216.131.76.93" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b17.ipvanish.com", "udp": true, "ips": [ "216.131.76.99" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b18.ipvanish.com", "udp": true, "ips": [ "216.131.76.105" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b19.ipvanish.com", "udp": true, "ips": [ "216.131.76.111" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b24.ipvanish.com", "udp": true, "ips": [ "216.131.76.141" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b25.ipvanish.com", "udp": true, "ips": [ "216.131.76.147" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b26.ipvanish.com", "udp": true, "ips": [ "216.131.76.153" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b27.ipvanish.com", "udp": true, "ips": [ "216.131.76.159" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b28.ipvanish.com", "udp": true, "ips": [ "216.131.77.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b29.ipvanish.com", "udp": true, "ips": [ "216.131.77.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b30.ipvanish.com", "udp": true, "ips": [ "216.131.77.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b31.ipvanish.com", "udp": true, "ips": [ "216.131.77.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b32.ipvanish.com", "udp": true, "ips": [ "216.131.77.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b33.ipvanish.com", "udp": true, "ips": [ "216.131.77.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b34.ipvanish.com", "udp": true, "ips": [ "216.131.77.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b35.ipvanish.com", "udp": true, "ips": [ "216.131.77.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b36.ipvanish.com", "udp": true, "ips": [ "216.131.77.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b37.ipvanish.com", "udp": true, "ips": [ "216.131.77.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b38.ipvanish.com", "udp": true, "ips": [ "216.131.77.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b39.ipvanish.com", "udp": true, "ips": [ "216.131.77.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b41.ipvanish.com", "udp": true, "ips": [ "216.131.77.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b42.ipvanish.com", "udp": true, "ips": [ "216.131.77.86" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b43.ipvanish.com", "udp": true, "ips": [ "216.131.77.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b44.ipvanish.com", "udp": true, "ips": [ "216.131.77.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b45.ipvanish.com", "udp": true, "ips": [ "216.131.77.104" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b46.ipvanish.com", "udp": true, "ips": [ "216.131.77.110" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b47.ipvanish.com", "udp": true, "ips": [ "216.131.77.116" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b48.ipvanish.com", "udp": true, "ips": [ "216.131.77.122" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b49.ipvanish.com", "udp": true, "ips": [ "216.131.77.128" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b50.ipvanish.com", "udp": true, "ips": [ "216.131.77.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b51.ipvanish.com", "udp": true, "ips": [ "216.131.77.140" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b52.ipvanish.com", "udp": true, "ips": [ "216.131.77.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b53.ipvanish.com", "udp": true, "ips": [ "216.131.77.152" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b54.ipvanish.com", "udp": true, "ips": [ "216.131.77.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b55.ipvanish.com", "udp": true, "ips": [ "216.131.77.164" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b56.ipvanish.com", "udp": true, "ips": [ "216.131.77.170" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b57.ipvanish.com", "udp": true, "ips": [ "216.131.77.176" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b58.ipvanish.com", "udp": true, "ips": [ "216.131.77.182" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b59.ipvanish.com", "udp": true, "ips": [ "216.131.77.188" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b60.ipvanish.com", "udp": true, "ips": [ "216.131.77.194" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b61.ipvanish.com", "udp": true, "ips": [ "216.131.77.200" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b62.ipvanish.com", "udp": true, "ips": [ "216.131.77.206" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b63.ipvanish.com", "udp": true, "ips": [ "216.131.77.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b64.ipvanish.com", "udp": true, "ips": [ "216.131.77.218" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b65.ipvanish.com", "udp": true, "ips": [ "216.131.77.224" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b66.ipvanish.com", "udp": true, "ips": [ "173.245.202.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b67.ipvanish.com", "udp": true, "ips": [ "173.245.202.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b68.ipvanish.com", "udp": true, "ips": [ "173.245.202.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b69.ipvanish.com", "udp": true, "ips": [ "173.245.202.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b70.ipvanish.com", "udp": true, "ips": [ "173.245.202.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b71.ipvanish.com", "udp": true, "ips": [ "173.245.202.74" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b72.ipvanish.com", "udp": true, "ips": [ "173.245.202.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b73.ipvanish.com", "udp": true, "ips": [ "173.245.202.86" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b74.ipvanish.com", "udp": true, "ips": [ "173.245.202.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-b75.ipvanish.com", "udp": true, "ips": [ "173.245.202.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c01.ipvanish.com", "udp": true, "ips": [ "216.131.76.165" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c03.ipvanish.com", "udp": true, "ips": [ "216.131.76.177" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c04.ipvanish.com", "udp": true, "ips": [ "216.131.76.183" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c06.ipvanish.com", "udp": true, "ips": [ "216.131.76.195" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c08.ipvanish.com", "udp": true, "ips": [ "216.131.76.207" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c09.ipvanish.com", "udp": true, "ips": [ "216.131.76.213" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c10.ipvanish.com", "udp": true, "ips": [ "216.131.76.219" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c11.ipvanish.com", "udp": true, "ips": [ "216.131.76.225" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c12.ipvanish.com", "udp": true, "ips": [ "216.131.76.231" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c13.ipvanish.com", "udp": true, "ips": [ "173.245.202.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c14.ipvanish.com", "udp": true, "ips": [ "173.245.202.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c15.ipvanish.com", "udp": true, "ips": [ "173.245.202.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c16.ipvanish.com", "udp": true, "ips": [ "173.245.202.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c17.ipvanish.com", "udp": true, "ips": [ "173.245.202.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c18.ipvanish.com", "udp": true, "ips": [ "173.245.202.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c19.ipvanish.com", "udp": true, "ips": [ "173.245.202.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c20.ipvanish.com", "udp": true, "ips": [ "204.188.246.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c21.ipvanish.com", "udp": true, "ips": [ "204.188.246.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c22.ipvanish.com", "udp": true, "ips": [ "204.188.246.138" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c23.ipvanish.com", "udp": true, "ips": [ "204.188.246.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c24.ipvanish.com", "udp": true, "ips": [ "204.188.246.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c25.ipvanish.com", "udp": true, "ips": [ "204.188.246.150" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c26.ipvanish.com", "udp": true, "ips": [ "204.188.246.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c27.ipvanish.com", "udp": true, "ips": [ "204.188.246.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c28.ipvanish.com", "udp": true, "ips": [ "204.188.246.162" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c29.ipvanish.com", "udp": true, "ips": [ "204.188.246.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c30.ipvanish.com", "udp": true, "ips": [ "204.188.246.170" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "chi-c32.ipvanish.com", "udp": true, "ips": [ "204.188.246.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b01.ipvanish.com", "udp": true, "ips": [ "216.131.84.7" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b03.ipvanish.com", "udp": true, "ips": [ "216.131.84.19" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b04.ipvanish.com", "udp": true, "ips": [ "216.131.84.25" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b05.ipvanish.com", "udp": true, "ips": [ "216.131.84.31" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b08.ipvanish.com", "udp": true, "ips": [ "216.131.84.49" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b10.ipvanish.com", "udp": true, "ips": [ "216.131.84.61" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b11.ipvanish.com", "udp": true, "ips": [ "216.131.84.67" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b12.ipvanish.com", "udp": true, "ips": [ "216.131.84.73" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b13.ipvanish.com", "udp": true, "ips": [ "216.131.84.79" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b14.ipvanish.com", "udp": true, "ips": [ "216.131.84.85" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b17.ipvanish.com", "udp": true, "ips": [ "216.131.84.103" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b18.ipvanish.com", "udp": true, "ips": [ "216.131.84.109" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b19.ipvanish.com", "udp": true, "ips": [ "216.131.84.115" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b20.ipvanish.com", "udp": true, "ips": [ "216.131.84.121" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b21.ipvanish.com", "udp": true, "ips": [ "216.131.84.127" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b22.ipvanish.com", "udp": true, "ips": [ "216.131.84.135" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b23.ipvanish.com", "udp": true, "ips": [ "216.131.84.141" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b24.ipvanish.com", "udp": true, "ips": [ "216.131.84.147" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b26.ipvanish.com", "udp": true, "ips": [ "216.131.84.159" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b27.ipvanish.com", "udp": true, "ips": [ "216.131.84.165" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b30.ipvanish.com", "udp": true, "ips": [ "216.131.84.183" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b32.ipvanish.com", "udp": true, "ips": [ "216.131.84.195" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b33.ipvanish.com", "udp": true, "ips": [ "216.131.84.201" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b34.ipvanish.com", "udp": true, "ips": [ "216.131.84.207" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b35.ipvanish.com", "udp": true, "ips": [ "216.131.84.213" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b36.ipvanish.com", "udp": true, "ips": [ "216.131.84.219" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b37.ipvanish.com", "udp": true, "ips": [ "216.131.84.225" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b39.ipvanish.com", "udp": true, "ips": [ "216.131.84.237" ] }, { "vpn": "openvpn", "country": "United States", "city": "Cincinnati", "hostname": "cvg-b40.ipvanish.com", "udp": true, "ips": [ "216.131.84.243" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b01.ipvanish.com", "udp": true, "ips": [ "216.131.78.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b02.ipvanish.com", "udp": true, "ips": [ "216.131.78.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b05.ipvanish.com", "udp": true, "ips": [ "216.131.78.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b06.ipvanish.com", "udp": true, "ips": [ "216.131.78.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b07.ipvanish.com", "udp": true, "ips": [ "216.131.78.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b08.ipvanish.com", "udp": true, "ips": [ "216.131.78.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b09.ipvanish.com", "udp": true, "ips": [ "216.131.78.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b11.ipvanish.com", "udp": true, "ips": [ "216.131.78.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b19.ipvanish.com", "udp": true, "ips": [ "216.131.79.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b20.ipvanish.com", "udp": true, "ips": [ "216.131.79.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b22.ipvanish.com", "udp": true, "ips": [ "216.131.79.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b23.ipvanish.com", "udp": true, "ips": [ "216.131.79.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b24.ipvanish.com", "udp": true, "ips": [ "216.131.79.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b25.ipvanish.com", "udp": true, "ips": [ "216.131.79.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b27.ipvanish.com", "udp": true, "ips": [ "216.131.79.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b28.ipvanish.com", "udp": true, "ips": [ "216.131.79.86" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b30.ipvanish.com", "udp": true, "ips": [ "216.131.79.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b31.ipvanish.com", "udp": true, "ips": [ "216.131.79.104" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b32.ipvanish.com", "udp": true, "ips": [ "216.131.79.110" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b35.ipvanish.com", "udp": true, "ips": [ "216.131.79.128" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b36.ipvanish.com", "udp": true, "ips": [ "216.131.79.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b37.ipvanish.com", "udp": true, "ips": [ "216.131.79.140" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b40.ipvanish.com", "udp": true, "ips": [ "216.131.79.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b42.ipvanish.com", "udp": true, "ips": [ "216.131.78.89" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b44.ipvanish.com", "udp": true, "ips": [ "216.131.79.167" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b45.ipvanish.com", "udp": true, "ips": [ "216.131.79.173" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b46.ipvanish.com", "udp": true, "ips": [ "216.131.79.179" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b47.ipvanish.com", "udp": true, "ips": [ "216.131.79.185" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b48.ipvanish.com", "udp": true, "ips": [ "216.131.79.188" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b49.ipvanish.com", "udp": true, "ips": [ "216.131.79.194" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b50.ipvanish.com", "udp": true, "ips": [ "216.131.79.200" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b51.ipvanish.com", "udp": true, "ips": [ "216.131.79.206" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b52.ipvanish.com", "udp": true, "ips": [ "216.131.79.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b53.ipvanish.com", "udp": true, "ips": [ "216.131.79.218" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b54.ipvanish.com", "udp": true, "ips": [ "216.131.79.224" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b55.ipvanish.com", "udp": true, "ips": [ "173.255.166.4" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b56.ipvanish.com", "udp": true, "ips": [ "173.255.166.10" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b57.ipvanish.com", "udp": true, "ips": [ "173.255.166.16" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b58.ipvanish.com", "udp": true, "ips": [ "173.255.166.22" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b59.ipvanish.com", "udp": true, "ips": [ "173.255.166.28" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b60.ipvanish.com", "udp": true, "ips": [ "173.255.166.34" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b61.ipvanish.com", "udp": true, "ips": [ "173.255.166.40" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b62.ipvanish.com", "udp": true, "ips": [ "173.255.166.46" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b63.ipvanish.com", "udp": true, "ips": [ "173.255.166.52" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b66.ipvanish.com", "udp": true, "ips": [ "173.255.166.70" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b68.ipvanish.com", "udp": true, "ips": [ "173.255.166.82" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b69.ipvanish.com", "udp": true, "ips": [ "173.255.166.88" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b70.ipvanish.com", "udp": true, "ips": [ "173.255.166.94" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b71.ipvanish.com", "udp": true, "ips": [ "173.255.166.100" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b72.ipvanish.com", "udp": true, "ips": [ "173.255.166.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b73.ipvanish.com", "udp": true, "ips": [ "173.255.166.112" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b75.ipvanish.com", "udp": true, "ips": [ "173.255.166.124" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b76.ipvanish.com", "udp": true, "ips": [ "173.255.166.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b78.ipvanish.com", "udp": true, "ips": [ "173.255.166.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b79.ipvanish.com", "udp": true, "ips": [ "173.255.166.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b80.ipvanish.com", "udp": true, "ips": [ "173.255.166.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b81.ipvanish.com", "udp": true, "ips": [ "173.255.166.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b82.ipvanish.com", "udp": true, "ips": [ "173.255.166.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b83.ipvanish.com", "udp": true, "ips": [ "173.255.166.172" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b84.ipvanish.com", "udp": true, "ips": [ "173.255.166.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b85.ipvanish.com", "udp": true, "ips": [ "173.255.166.184" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b86.ipvanish.com", "udp": true, "ips": [ "173.255.166.190" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b87.ipvanish.com", "udp": true, "ips": [ "173.255.166.196" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b88.ipvanish.com", "udp": true, "ips": [ "173.255.166.202" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b92.ipvanish.com", "udp": true, "ips": [ "173.255.166.226" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b93.ipvanish.com", "udp": true, "ips": [ "173.255.166.232" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b95.ipvanish.com", "udp": true, "ips": [ "173.255.166.244" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b96.ipvanish.com", "udp": true, "ips": [ "173.255.167.23" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b97.ipvanish.com", "udp": true, "ips": [ "173.255.167.5" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-b99.ipvanish.com", "udp": true, "ips": [ "173.255.167.17" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-c02.ipvanish.com", "udp": true, "ips": [ "216.131.78.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-c04.ipvanish.com", "udp": true, "ips": [ "216.131.78.118" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-c05.ipvanish.com", "udp": true, "ips": [ "216.131.78.124" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-c06.ipvanish.com", "udp": true, "ips": [ "216.131.78.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-c07.ipvanish.com", "udp": true, "ips": [ "216.131.78.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "dal-c10.ipvanish.com", "udp": true, "ips": [ "216.131.78.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b01.ipvanish.com", "udp": true, "ips": [ "64.145.93.6" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b02.ipvanish.com", "udp": true, "ips": [ "64.145.93.12" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b03.ipvanish.com", "udp": true, "ips": [ "64.145.93.18" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b04.ipvanish.com", "udp": true, "ips": [ "64.145.93.24" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b05.ipvanish.com", "udp": true, "ips": [ "64.145.93.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b06.ipvanish.com", "udp": true, "ips": [ "64.145.93.36" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b08.ipvanish.com", "udp": true, "ips": [ "64.145.93.48" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b10.ipvanish.com", "udp": true, "ips": [ "64.145.93.60" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b11.ipvanish.com", "udp": true, "ips": [ "64.145.93.66" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b12.ipvanish.com", "udp": true, "ips": [ "64.145.93.72" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b13.ipvanish.com", "udp": true, "ips": [ "64.145.93.78" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b14.ipvanish.com", "udp": true, "ips": [ "64.145.93.84" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b15.ipvanish.com", "udp": true, "ips": [ "64.145.93.90" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b16.ipvanish.com", "udp": true, "ips": [ "64.145.93.96" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b19.ipvanish.com", "udp": true, "ips": [ "64.145.93.114" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b20.ipvanish.com", "udp": true, "ips": [ "64.145.93.120" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b21.ipvanish.com", "udp": true, "ips": [ "64.145.93.126" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b22.ipvanish.com", "udp": true, "ips": [ "64.145.93.132" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b24.ipvanish.com", "udp": true, "ips": [ "64.145.93.144" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b25.ipvanish.com", "udp": true, "ips": [ "64.145.93.150" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b26.ipvanish.com", "udp": true, "ips": [ "64.145.93.156" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b27.ipvanish.com", "udp": true, "ips": [ "64.145.93.162" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b30.ipvanish.com", "udp": true, "ips": [ "64.145.93.180" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b31.ipvanish.com", "udp": true, "ips": [ "64.145.93.186" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b32.ipvanish.com", "udp": true, "ips": [ "64.145.93.192" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b33.ipvanish.com", "udp": true, "ips": [ "64.145.93.198" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-b34.ipvanish.com", "udp": true, "ips": [ "64.145.93.204" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c01.ipvanish.com", "udp": true, "ips": [ "108.171.102.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c02.ipvanish.com", "udp": true, "ips": [ "108.171.102.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c05.ipvanish.com", "udp": true, "ips": [ "108.171.102.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c06.ipvanish.com", "udp": true, "ips": [ "108.171.102.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c08.ipvanish.com", "udp": true, "ips": [ "108.171.102.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c10.ipvanish.com", "udp": true, "ips": [ "108.171.102.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c12.ipvanish.com", "udp": true, "ips": [ "108.171.102.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "den-c14.ipvanish.com", "udp": true, "ips": [ "108.171.102.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a01.ipvanish.com", "udp": true, "ips": [ "216.131.118.5" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a02.ipvanish.com", "udp": true, "ips": [ "216.131.118.11" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a03.ipvanish.com", "udp": true, "ips": [ "216.131.118.17" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a04.ipvanish.com", "udp": true, "ips": [ "216.131.118.23" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a05.ipvanish.com", "udp": true, "ips": [ "216.131.118.29" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a06.ipvanish.com", "udp": true, "ips": [ "216.131.118.35" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a09.ipvanish.com", "udp": true, "ips": [ "216.131.118.53" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a10.ipvanish.com", "udp": true, "ips": [ "216.131.118.59" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a11.ipvanish.com", "udp": true, "ips": [ "216.131.118.65" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a12.ipvanish.com", "udp": true, "ips": [ "216.131.118.71" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a13.ipvanish.com", "udp": true, "ips": [ "216.131.118.77" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a14.ipvanish.com", "udp": true, "ips": [ "216.131.118.83" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a17.ipvanish.com", "udp": true, "ips": [ "216.131.118.95" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a18.ipvanish.com", "udp": true, "ips": [ "216.131.118.101" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a20.ipvanish.com", "udp": true, "ips": [ "216.131.118.113" ] }, { "vpn": "openvpn", "country": "United States", "city": "Detroit Virtual", "hostname": "dtw-a21.ipvanish.com", "udp": true, "ips": [ "216.131.118.125" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c01.ipvanish.com", "udp": true, "ips": [ "207.204.248.13" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c02.ipvanish.com", "udp": true, "ips": [ "207.204.248.19" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c03.ipvanish.com", "udp": true, "ips": [ "207.204.248.25" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c04.ipvanish.com", "udp": true, "ips": [ "207.204.248.31" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c05.ipvanish.com", "udp": true, "ips": [ "207.204.248.37" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c06.ipvanish.com", "udp": true, "ips": [ "207.204.248.43" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c07.ipvanish.com", "udp": true, "ips": [ "207.204.248.49" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c10.ipvanish.com", "udp": true, "ips": [ "207.204.248.67" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c11.ipvanish.com", "udp": true, "ips": [ "207.204.248.73" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c12.ipvanish.com", "udp": true, "ips": [ "207.204.248.79" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c13.ipvanish.com", "udp": true, "ips": [ "207.204.248.85" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c15.ipvanish.com", "udp": true, "ips": [ "207.204.248.97" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c16.ipvanish.com", "udp": true, "ips": [ "207.204.248.103" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c17.ipvanish.com", "udp": true, "ips": [ "207.204.248.109" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c18.ipvanish.com", "udp": true, "ips": [ "207.204.248.115" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c19.ipvanish.com", "udp": true, "ips": [ "207.204.248.121" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c20.ipvanish.com", "udp": true, "ips": [ "207.204.248.127" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c22.ipvanish.com", "udp": true, "ips": [ "207.204.248.139" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c23.ipvanish.com", "udp": true, "ips": [ "207.204.248.145" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c24.ipvanish.com", "udp": true, "ips": [ "207.204.248.151" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c25.ipvanish.com", "udp": true, "ips": [ "207.204.248.157" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c27.ipvanish.com", "udp": true, "ips": [ "207.204.248.169" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c28.ipvanish.com", "udp": true, "ips": [ "207.204.248.175" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c29.ipvanish.com", "udp": true, "ips": [ "207.204.248.181" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c30.ipvanish.com", "udp": true, "ips": [ "207.204.248.187" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c31.ipvanish.com", "udp": true, "ips": [ "207.204.248.193" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c32.ipvanish.com", "udp": true, "ips": [ "207.204.248.199" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c33.ipvanish.com", "udp": true, "ips": [ "207.204.248.205" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c34.ipvanish.com", "udp": true, "ips": [ "207.204.248.211" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c35.ipvanish.com", "udp": true, "ips": [ "207.204.248.217" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c36.ipvanish.com", "udp": true, "ips": [ "207.204.248.223" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c37.ipvanish.com", "udp": true, "ips": [ "207.204.248.229" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c39.ipvanish.com", "udp": true, "ips": [ "207.204.248.241" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c40.ipvanish.com", "udp": true, "ips": [ "207.204.248.247" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c41.ipvanish.com", "udp": true, "ips": [ "207.204.248.253" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c42.ipvanish.com", "udp": true, "ips": [ "207.204.249.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c43.ipvanish.com", "udp": true, "ips": [ "207.204.249.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c44.ipvanish.com", "udp": true, "ips": [ "207.204.249.21" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c45.ipvanish.com", "udp": true, "ips": [ "207.204.249.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c46.ipvanish.com", "udp": true, "ips": [ "207.204.248.254" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c47.ipvanish.com", "udp": true, "ips": [ "207.204.249.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c50.ipvanish.com", "udp": true, "ips": [ "207.204.249.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c52.ipvanish.com", "udp": true, "ips": [ "207.204.249.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c53.ipvanish.com", "udp": true, "ips": [ "207.204.249.74" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "hou-c54.ipvanish.com", "udp": true, "ips": [ "207.204.249.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a01.ipvanish.com", "udp": true, "ips": [ "173.255.172.4" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a03.ipvanish.com", "udp": true, "ips": [ "173.255.172.16" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a04.ipvanish.com", "udp": true, "ips": [ "173.255.172.22" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a06.ipvanish.com", "udp": true, "ips": [ "173.255.172.34" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a07.ipvanish.com", "udp": true, "ips": [ "173.255.172.40" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a09.ipvanish.com", "udp": true, "ips": [ "173.255.172.52" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a10.ipvanish.com", "udp": true, "ips": [ "173.255.172.58" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a11.ipvanish.com", "udp": true, "ips": [ "173.255.172.64" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a12.ipvanish.com", "udp": true, "ips": [ "173.255.172.70" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a13.ipvanish.com", "udp": true, "ips": [ "173.255.172.76" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a15.ipvanish.com", "udp": true, "ips": [ "173.255.172.88" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a16.ipvanish.com", "udp": true, "ips": [ "173.255.172.94" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a17.ipvanish.com", "udp": true, "ips": [ "173.255.172.100" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a18.ipvanish.com", "udp": true, "ips": [ "173.255.172.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a23.ipvanish.com", "udp": true, "ips": [ "173.255.172.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a26.ipvanish.com", "udp": true, "ips": [ "173.255.172.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a27.ipvanish.com", "udp": true, "ips": [ "173.255.172.172" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a28.ipvanish.com", "udp": true, "ips": [ "173.255.172.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a31.ipvanish.com", "udp": true, "ips": [ "173.255.172.196" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a33.ipvanish.com", "udp": true, "ips": [ "173.255.172.208" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a34.ipvanish.com", "udp": true, "ips": [ "173.255.172.214" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a35.ipvanish.com", "udp": true, "ips": [ "173.255.172.220" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a36.ipvanish.com", "udp": true, "ips": [ "209.107.212.10" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a37.ipvanish.com", "udp": true, "ips": [ "209.107.212.16" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a38.ipvanish.com", "udp": true, "ips": [ "209.107.212.22" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a40.ipvanish.com", "udp": true, "ips": [ "209.107.212.34" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a42.ipvanish.com", "udp": true, "ips": [ "209.107.212.46" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a44.ipvanish.com", "udp": true, "ips": [ "209.107.212.58" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a45.ipvanish.com", "udp": true, "ips": [ "209.107.212.64" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a46.ipvanish.com", "udp": true, "ips": [ "209.107.212.70" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a47.ipvanish.com", "udp": true, "ips": [ "209.107.212.76" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a50.ipvanish.com", "udp": true, "ips": [ "209.107.212.94" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a51.ipvanish.com", "udp": true, "ips": [ "209.107.212.100" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a52.ipvanish.com", "udp": true, "ips": [ "209.107.212.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a54.ipvanish.com", "udp": true, "ips": [ "209.107.212.118" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a57.ipvanish.com", "udp": true, "ips": [ "209.107.212.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a58.ipvanish.com", "udp": true, "ips": [ "209.107.212.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a59.ipvanish.com", "udp": true, "ips": [ "209.107.212.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a60.ipvanish.com", "udp": true, "ips": [ "209.107.212.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a61.ipvanish.com", "udp": true, "ips": [ "209.107.212.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a62.ipvanish.com", "udp": true, "ips": [ "209.107.212.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a64.ipvanish.com", "udp": true, "ips": [ "209.107.212.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Kansas City", "hostname": "mci-a65.ipvanish.com", "udp": true, "ips": [ "209.107.212.184" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b02.ipvanish.com", "udp": true, "ips": [ "104.36.176.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b04.ipvanish.com", "udp": true, "ips": [ "104.36.176.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b05.ipvanish.com", "udp": true, "ips": [ "104.36.176.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b06.ipvanish.com", "udp": true, "ips": [ "104.36.176.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b07.ipvanish.com", "udp": true, "ips": [ "104.36.176.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b09.ipvanish.com", "udp": true, "ips": [ "104.36.176.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b10.ipvanish.com", "udp": true, "ips": [ "104.36.176.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b11.ipvanish.com", "udp": true, "ips": [ "104.36.176.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b12.ipvanish.com", "udp": true, "ips": [ "104.36.176.74" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b13.ipvanish.com", "udp": true, "ips": [ "104.36.176.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b14.ipvanish.com", "udp": true, "ips": [ "104.36.176.86" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b15.ipvanish.com", "udp": true, "ips": [ "104.36.176.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b16.ipvanish.com", "udp": true, "ips": [ "104.36.176.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b18.ipvanish.com", "udp": true, "ips": [ "104.36.176.110" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b19.ipvanish.com", "udp": true, "ips": [ "104.36.176.116" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b21.ipvanish.com", "udp": true, "ips": [ "104.36.176.128" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b23.ipvanish.com", "udp": true, "ips": [ "104.36.176.140" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b24.ipvanish.com", "udp": true, "ips": [ "104.36.176.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b25.ipvanish.com", "udp": true, "ips": [ "104.36.176.152" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b27.ipvanish.com", "udp": true, "ips": [ "104.36.176.164" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b28.ipvanish.com", "udp": true, "ips": [ "104.36.176.170" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b29.ipvanish.com", "udp": true, "ips": [ "104.36.176.176" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b30.ipvanish.com", "udp": true, "ips": [ "104.36.176.182" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b35.ipvanish.com", "udp": true, "ips": [ "104.36.176.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b37.ipvanish.com", "udp": true, "ips": [ "104.36.176.224" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b38.ipvanish.com", "udp": true, "ips": [ "104.36.176.230" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b39.ipvanish.com", "udp": true, "ips": [ "104.36.176.236" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b40.ipvanish.com", "udp": true, "ips": [ "104.36.176.242" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b41.ipvanish.com", "udp": true, "ips": [ "104.36.176.248" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b42.ipvanish.com", "udp": true, "ips": [ "104.36.177.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b43.ipvanish.com", "udp": true, "ips": [ "104.36.177.7" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b44.ipvanish.com", "udp": true, "ips": [ "104.36.177.13" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b46.ipvanish.com", "udp": true, "ips": [ "104.36.177.25" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b47.ipvanish.com", "udp": true, "ips": [ "104.36.177.31" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b48.ipvanish.com", "udp": true, "ips": [ "104.36.177.37" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b49.ipvanish.com", "udp": true, "ips": [ "104.36.177.43" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b50.ipvanish.com", "udp": true, "ips": [ "104.36.177.49" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b51.ipvanish.com", "udp": true, "ips": [ "104.36.177.55" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b52.ipvanish.com", "udp": true, "ips": [ "104.36.177.61" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b53.ipvanish.com", "udp": true, "ips": [ "104.36.177.67" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b54.ipvanish.com", "udp": true, "ips": [ "104.36.177.73" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b56.ipvanish.com", "udp": true, "ips": [ "104.36.177.85" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b57.ipvanish.com", "udp": true, "ips": [ "104.36.177.91" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b59.ipvanish.com", "udp": true, "ips": [ "104.36.177.103" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b60.ipvanish.com", "udp": true, "ips": [ "104.36.177.109" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b61.ipvanish.com", "udp": true, "ips": [ "104.36.177.115" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b62.ipvanish.com", "udp": true, "ips": [ "104.36.177.121" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b63.ipvanish.com", "udp": true, "ips": [ "104.36.177.127" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b64.ipvanish.com", "udp": true, "ips": [ "104.36.177.133" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b67.ipvanish.com", "udp": true, "ips": [ "104.36.177.151" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b69.ipvanish.com", "udp": true, "ips": [ "104.36.177.163" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b70.ipvanish.com", "udp": true, "ips": [ "104.36.177.169" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b71.ipvanish.com", "udp": true, "ips": [ "104.36.177.175" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b72.ipvanish.com", "udp": true, "ips": [ "104.36.177.181" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b73.ipvanish.com", "udp": true, "ips": [ "104.36.177.187" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b74.ipvanish.com", "udp": true, "ips": [ "104.36.177.193" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b75.ipvanish.com", "udp": true, "ips": [ "104.36.177.199" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b76.ipvanish.com", "udp": true, "ips": [ "104.36.177.205" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b77.ipvanish.com", "udp": true, "ips": [ "104.36.177.211" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b78.ipvanish.com", "udp": true, "ips": [ "104.36.177.217" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b79.ipvanish.com", "udp": true, "ips": [ "104.36.177.223" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "las-b81.ipvanish.com", "udp": true, "ips": [ "104.36.177.235" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b01.ipvanish.com", "udp": true, "ips": [ "216.131.80.3" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b02.ipvanish.com", "udp": true, "ips": [ "216.131.80.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b04.ipvanish.com", "udp": true, "ips": [ "216.131.80.21" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b05.ipvanish.com", "udp": true, "ips": [ "216.131.80.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b07.ipvanish.com", "udp": true, "ips": [ "216.131.80.39" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b09.ipvanish.com", "udp": true, "ips": [ "216.131.80.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b10.ipvanish.com", "udp": true, "ips": [ "216.131.80.57" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b11.ipvanish.com", "udp": true, "ips": [ "216.131.80.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b13.ipvanish.com", "udp": true, "ips": [ "216.131.80.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b16.ipvanish.com", "udp": true, "ips": [ "216.131.81.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b19.ipvanish.com", "udp": true, "ips": [ "216.131.81.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b20.ipvanish.com", "udp": true, "ips": [ "216.131.81.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b21.ipvanish.com", "udp": true, "ips": [ "216.131.81.39" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b22.ipvanish.com", "udp": true, "ips": [ "216.131.81.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b23.ipvanish.com", "udp": true, "ips": [ "216.131.81.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b24.ipvanish.com", "udp": true, "ips": [ "216.131.81.57" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b25.ipvanish.com", "udp": true, "ips": [ "216.131.81.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b26.ipvanish.com", "udp": true, "ips": [ "216.131.81.69" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b29.ipvanish.com", "udp": true, "ips": [ "216.131.81.88" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b30.ipvanish.com", "udp": true, "ips": [ "216.131.81.94" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b31.ipvanish.com", "udp": true, "ips": [ "216.131.81.100" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b32.ipvanish.com", "udp": true, "ips": [ "216.131.81.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b33.ipvanish.com", "udp": true, "ips": [ "216.131.81.112" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b36.ipvanish.com", "udp": true, "ips": [ "216.131.81.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b37.ipvanish.com", "udp": true, "ips": [ "216.131.81.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b39.ipvanish.com", "udp": true, "ips": [ "216.131.81.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b40.ipvanish.com", "udp": true, "ips": [ "216.131.81.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-b41.ipvanish.com", "udp": true, "ips": [ "216.131.81.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c15.ipvanish.com", "udp": true, "ips": [ "209.107.192.24" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c16.ipvanish.com", "udp": true, "ips": [ "209.107.192.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c18.ipvanish.com", "udp": true, "ips": [ "209.107.192.42" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c22.ipvanish.com", "udp": true, "ips": [ "209.107.192.66" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c23.ipvanish.com", "udp": true, "ips": [ "209.107.192.72" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c24.ipvanish.com", "udp": true, "ips": [ "209.107.192.78" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c25.ipvanish.com", "udp": true, "ips": [ "209.107.192.84" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c27.ipvanish.com", "udp": true, "ips": [ "209.107.192.96" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c32.ipvanish.com", "udp": true, "ips": [ "209.107.192.138" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c33.ipvanish.com", "udp": true, "ips": [ "209.107.192.144" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c37.ipvanish.com", "udp": true, "ips": [ "209.107.192.168" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c38.ipvanish.com", "udp": true, "ips": [ "209.107.192.174" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c42.ipvanish.com", "udp": true, "ips": [ "209.107.192.198" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c43.ipvanish.com", "udp": true, "ips": [ "209.107.192.204" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c44.ipvanish.com", "udp": true, "ips": [ "209.107.192.210" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "lax-c46.ipvanish.com", "udp": true, "ips": [ "209.107.192.222" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b02.ipvanish.com", "udp": true, "ips": [ "216.131.87.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b03.ipvanish.com", "udp": true, "ips": [ "216.131.87.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b05.ipvanish.com", "udp": true, "ips": [ "216.131.87.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b06.ipvanish.com", "udp": true, "ips": [ "216.131.87.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b07.ipvanish.com", "udp": true, "ips": [ "216.131.87.39" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b08.ipvanish.com", "udp": true, "ips": [ "216.131.87.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b09.ipvanish.com", "udp": true, "ips": [ "216.131.87.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b11.ipvanish.com", "udp": true, "ips": [ "216.131.87.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b13.ipvanish.com", "udp": true, "ips": [ "216.131.87.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b15.ipvanish.com", "udp": true, "ips": [ "216.131.87.210" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-b16.ipvanish.com", "udp": true, "ips": [ "216.131.87.216" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-c02.ipvanish.com", "udp": true, "ips": [ "216.131.87.138" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-c08.ipvanish.com", "udp": true, "ips": [ "216.131.87.174" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-c12.ipvanish.com", "udp": true, "ips": [ "216.131.87.198" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-c16.ipvanish.com", "udp": true, "ips": [ "169.197.125.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "mia-c17.ipvanish.com", "udp": true, "ips": [ "169.197.125.218" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b01.ipvanish.com", "udp": true, "ips": [ "209.107.195.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b06.ipvanish.com", "udp": true, "ips": [ "209.107.195.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b07.ipvanish.com", "udp": true, "ips": [ "209.107.195.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b08.ipvanish.com", "udp": true, "ips": [ "209.107.195.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b10.ipvanish.com", "udp": true, "ips": [ "209.107.195.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b11.ipvanish.com", "udp": true, "ips": [ "209.107.195.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b12.ipvanish.com", "udp": true, "ips": [ "209.107.195.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b14.ipvanish.com", "udp": true, "ips": [ "209.107.195.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b17.ipvanish.com", "udp": true, "ips": [ "209.107.195.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b18.ipvanish.com", "udp": true, "ips": [ "209.107.195.104" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b19.ipvanish.com", "udp": true, "ips": [ "209.107.195.110" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b22.ipvanish.com", "udp": true, "ips": [ "209.107.195.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b23.ipvanish.com", "udp": true, "ips": [ "209.107.195.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b24.ipvanish.com", "udp": true, "ips": [ "209.107.195.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b27.ipvanish.com", "udp": true, "ips": [ "209.107.195.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b29.ipvanish.com", "udp": true, "ips": [ "209.107.195.172" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b30.ipvanish.com", "udp": true, "ips": [ "209.107.195.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b32.ipvanish.com", "udp": true, "ips": [ "209.107.195.190" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b33.ipvanish.com", "udp": true, "ips": [ "209.107.195.196" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b34.ipvanish.com", "udp": true, "ips": [ "209.107.195.202" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b35.ipvanish.com", "udp": true, "ips": [ "209.107.195.208" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b36.ipvanish.com", "udp": true, "ips": [ "209.107.195.214" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b38.ipvanish.com", "udp": true, "ips": [ "209.107.195.226" ] }, { "vpn": "openvpn", "country": "United States", "city": "Minneapolis", "hostname": "msp-b39.ipvanish.com", "udp": true, "ips": [ "209.107.195.232" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c03.ipvanish.com", "udp": true, "ips": [ "216.131.107.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c05.ipvanish.com", "udp": true, "ips": [ "216.131.107.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c07.ipvanish.com", "udp": true, "ips": [ "216.131.107.39" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c08.ipvanish.com", "udp": true, "ips": [ "216.131.107.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c09.ipvanish.com", "udp": true, "ips": [ "216.131.107.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c11.ipvanish.com", "udp": true, "ips": [ "216.131.107.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c12.ipvanish.com", "udp": true, "ips": [ "216.131.107.69" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c13.ipvanish.com", "udp": true, "ips": [ "216.131.107.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c16.ipvanish.com", "udp": true, "ips": [ "216.131.106.137" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c18.ipvanish.com", "udp": true, "ips": [ "216.131.106.149" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c19.ipvanish.com", "udp": true, "ips": [ "216.131.106.155" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c20.ipvanish.com", "udp": true, "ips": [ "216.131.106.161" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c21.ipvanish.com", "udp": true, "ips": [ "216.131.106.167" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c22.ipvanish.com", "udp": true, "ips": [ "216.131.106.173" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c24.ipvanish.com", "udp": true, "ips": [ "216.131.106.185" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c26.ipvanish.com", "udp": true, "ips": [ "216.131.106.197" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c29.ipvanish.com", "udp": true, "ips": [ "216.131.106.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c30.ipvanish.com", "udp": true, "ips": [ "216.131.106.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c31.ipvanish.com", "udp": true, "ips": [ "216.131.106.14" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c32.ipvanish.com", "udp": true, "ips": [ "216.131.106.20" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c33.ipvanish.com", "udp": true, "ips": [ "216.131.106.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c34.ipvanish.com", "udp": true, "ips": [ "216.131.106.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c39.ipvanish.com", "udp": true, "ips": [ "216.131.106.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c40.ipvanish.com", "udp": true, "ips": [ "216.131.106.68" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c41.ipvanish.com", "udp": true, "ips": [ "216.131.106.74" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c46.ipvanish.com", "udp": true, "ips": [ "216.131.107.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c47.ipvanish.com", "udp": true, "ips": [ "216.131.107.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c48.ipvanish.com", "udp": true, "ips": [ "216.131.107.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c53.ipvanish.com", "udp": true, "ips": [ "216.131.107.190" ] }, { "vpn": "openvpn", "country": "United States", "city": "New Orleans", "hostname": "msy-c55.ipvanish.com", "udp": true, "ips": [ "216.131.107.202" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a01.ipvanish.com", "udp": true, "ips": [ "173.255.160.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a02.ipvanish.com", "udp": true, "ips": [ "173.255.160.15" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a04.ipvanish.com", "udp": true, "ips": [ "173.255.160.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a07.ipvanish.com", "udp": true, "ips": [ "173.255.160.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a08.ipvanish.com", "udp": true, "ips": [ "173.255.160.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a09.ipvanish.com", "udp": true, "ips": [ "173.255.160.57" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a10.ipvanish.com", "udp": true, "ips": [ "173.255.160.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a11.ipvanish.com", "udp": true, "ips": [ "173.255.160.69" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a12.ipvanish.com", "udp": true, "ips": [ "173.255.160.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a13.ipvanish.com", "udp": true, "ips": [ "173.255.160.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a14.ipvanish.com", "udp": true, "ips": [ "173.255.160.87" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a15.ipvanish.com", "udp": true, "ips": [ "173.255.160.93" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a16.ipvanish.com", "udp": true, "ips": [ "173.255.160.99" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a20.ipvanish.com", "udp": true, "ips": [ "173.255.160.123" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a21.ipvanish.com", "udp": true, "ips": [ "173.255.160.129" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a24.ipvanish.com", "udp": true, "ips": [ "173.255.160.147" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a25.ipvanish.com", "udp": true, "ips": [ "173.255.160.153" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a29.ipvanish.com", "udp": true, "ips": [ "173.255.160.177" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a31.ipvanish.com", "udp": true, "ips": [ "173.255.160.189" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a32.ipvanish.com", "udp": true, "ips": [ "173.255.160.195" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a34.ipvanish.com", "udp": true, "ips": [ "173.255.160.207" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a36.ipvanish.com", "udp": true, "ips": [ "173.255.160.219" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a41.ipvanish.com", "udp": true, "ips": [ "173.255.160.249" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a42.ipvanish.com", "udp": true, "ips": [ "173.255.161.101" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a44.ipvanish.com", "udp": true, "ips": [ "173.255.161.11" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a48.ipvanish.com", "udp": true, "ips": [ "173.255.161.35" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a49.ipvanish.com", "udp": true, "ips": [ "173.255.161.41" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a53.ipvanish.com", "udp": true, "ips": [ "173.255.161.65" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a56.ipvanish.com", "udp": true, "ips": [ "173.255.161.83" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a57.ipvanish.com", "udp": true, "ips": [ "173.255.161.89" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a60.ipvanish.com", "udp": true, "ips": [ "173.255.161.143" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a61.ipvanish.com", "udp": true, "ips": [ "173.255.161.149" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a63.ipvanish.com", "udp": true, "ips": [ "173.255.161.161" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a64.ipvanish.com", "udp": true, "ips": [ "173.255.161.167" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a65.ipvanish.com", "udp": true, "ips": [ "173.255.161.173" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a67.ipvanish.com", "udp": true, "ips": [ "173.255.161.185" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a69.ipvanish.com", "udp": true, "ips": [ "173.255.161.197" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a71.ipvanish.com", "udp": true, "ips": [ "173.255.161.209" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a72.ipvanish.com", "udp": true, "ips": [ "173.255.161.215" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-a73.ipvanish.com", "udp": true, "ips": [ "173.255.161.221" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b29.ipvanish.com", "udp": true, "ips": [ "216.131.82.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b30.ipvanish.com", "udp": true, "ips": [ "216.131.82.63" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b31.ipvanish.com", "udp": true, "ips": [ "216.131.82.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b43.ipvanish.com", "udp": true, "ips": [ "216.131.83.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b44.ipvanish.com", "udp": true, "ips": [ "216.131.83.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b45.ipvanish.com", "udp": true, "ips": [ "216.131.83.39" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b47.ipvanish.com", "udp": true, "ips": [ "216.131.83.51" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b51.ipvanish.com", "udp": true, "ips": [ "216.131.83.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b52.ipvanish.com", "udp": true, "ips": [ "216.131.83.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b53.ipvanish.com", "udp": true, "ips": [ "216.131.83.87" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b55.ipvanish.com", "udp": true, "ips": [ "216.131.82.93" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b57.ipvanish.com", "udp": true, "ips": [ "216.131.82.105" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b59.ipvanish.com", "udp": true, "ips": [ "216.131.82.117" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b62.ipvanish.com", "udp": true, "ips": [ "216.131.82.135" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b63.ipvanish.com", "udp": true, "ips": [ "216.131.82.141" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b64.ipvanish.com", "udp": true, "ips": [ "216.131.82.147" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b66.ipvanish.com", "udp": true, "ips": [ "216.131.82.159" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b68.ipvanish.com", "udp": true, "ips": [ "216.131.82.171" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b69.ipvanish.com", "udp": true, "ips": [ "216.131.82.177" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-b70.ipvanish.com", "udp": true, "ips": [ "216.131.82.183" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c09.ipvanish.com", "udp": true, "ips": [ "216.131.83.105" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c10.ipvanish.com", "udp": true, "ips": [ "216.131.83.111" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c11.ipvanish.com", "udp": true, "ips": [ "216.131.83.117" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c12.ipvanish.com", "udp": true, "ips": [ "216.131.83.123" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c14.ipvanish.com", "udp": true, "ips": [ "216.131.83.140" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c15.ipvanish.com", "udp": true, "ips": [ "216.131.83.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c16.ipvanish.com", "udp": true, "ips": [ "216.131.83.152" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c18.ipvanish.com", "udp": true, "ips": [ "216.131.83.164" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c30.ipvanish.com", "udp": true, "ips": [ "216.151.180.32" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c31.ipvanish.com", "udp": true, "ips": [ "216.151.180.38" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c32.ipvanish.com", "udp": true, "ips": [ "216.151.180.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c34.ipvanish.com", "udp": true, "ips": [ "216.151.180.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c35.ipvanish.com", "udp": true, "ips": [ "216.151.180.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c36.ipvanish.com", "udp": true, "ips": [ "216.151.180.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c37.ipvanish.com", "udp": true, "ips": [ "216.151.180.160" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c40.ipvanish.com", "udp": true, "ips": [ "216.151.180.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c41.ipvanish.com", "udp": true, "ips": [ "216.151.180.172" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c43.ipvanish.com", "udp": true, "ips": [ "216.151.180.184" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c46.ipvanish.com", "udp": true, "ips": [ "216.151.180.202" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c47.ipvanish.com", "udp": true, "ips": [ "216.151.180.208" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c48.ipvanish.com", "udp": true, "ips": [ "216.151.180.214" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "nyc-c49.ipvanish.com", "udp": true, "ips": [ "216.151.180.220" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a01.ipvanish.com", "udp": true, "ips": [ "192.200.158.93" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a02.ipvanish.com", "udp": true, "ips": [ "192.200.158.65" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a05.ipvanish.com", "udp": true, "ips": [ "192.200.158.16" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a08.ipvanish.com", "udp": true, "ips": [ "192.200.158.71" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a10.ipvanish.com", "udp": true, "ips": [ "192.200.158.73" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a11.ipvanish.com", "udp": true, "ips": [ "192.200.158.99" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a12.ipvanish.com", "udp": true, "ips": [ "192.200.158.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a13.ipvanish.com", "udp": true, "ips": [ "192.200.158.213" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a16.ipvanish.com", "udp": true, "ips": [ "192.200.158.79" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a18.ipvanish.com", "udp": true, "ips": [ "192.200.158.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a19.ipvanish.com", "udp": true, "ips": [ "192.200.158.219" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a25.ipvanish.com", "udp": true, "ips": [ "192.200.158.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a30.ipvanish.com", "udp": true, "ips": [ "192.200.158.40" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a31.ipvanish.com", "udp": true, "ips": [ "192.200.158.42" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a32.ipvanish.com", "udp": true, "ips": [ "192.200.158.44" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a33.ipvanish.com", "udp": true, "ips": [ "192.200.158.46" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a34.ipvanish.com", "udp": true, "ips": [ "192.200.158.48" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a35.ipvanish.com", "udp": true, "ips": [ "192.200.158.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a37.ipvanish.com", "udp": true, "ips": [ "192.200.158.54" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a39.ipvanish.com", "udp": true, "ips": [ "192.200.158.58" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "phx-a40.ipvanish.com", "udp": true, "ips": [ "192.200.158.60" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a01.ipvanish.com", "udp": true, "ips": [ "64.145.76.9" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a03.ipvanish.com", "udp": true, "ips": [ "64.145.76.21" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a04.ipvanish.com", "udp": true, "ips": [ "64.145.76.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a06.ipvanish.com", "udp": true, "ips": [ "64.145.76.39" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a07.ipvanish.com", "udp": true, "ips": [ "64.145.76.45" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a09.ipvanish.com", "udp": true, "ips": [ "64.145.76.57" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a12.ipvanish.com", "udp": true, "ips": [ "64.145.76.75" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a13.ipvanish.com", "udp": true, "ips": [ "64.145.76.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a14.ipvanish.com", "udp": true, "ips": [ "64.145.76.87" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a15.ipvanish.com", "udp": true, "ips": [ "64.145.76.93" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a16.ipvanish.com", "udp": true, "ips": [ "64.145.76.99" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "slc-a17.ipvanish.com", "udp": true, "ips": [ "64.145.76.105" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a02.ipvanish.com", "udp": true, "ips": [ "216.131.122.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a04.ipvanish.com", "udp": true, "ips": [ "216.131.122.104" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a05.ipvanish.com", "udp": true, "ips": [ "216.131.122.110" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a07.ipvanish.com", "udp": true, "ips": [ "216.131.122.122" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a08.ipvanish.com", "udp": true, "ips": [ "216.131.122.128" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a09.ipvanish.com", "udp": true, "ips": [ "216.131.122.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a13.ipvanish.com", "udp": true, "ips": [ "216.131.122.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a16.ipvanish.com", "udp": true, "ips": [ "216.131.122.176" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a18.ipvanish.com", "udp": true, "ips": [ "216.131.122.188" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a20.ipvanish.com", "udp": true, "ips": [ "216.131.122.200" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a21.ipvanish.com", "udp": true, "ips": [ "216.131.122.206" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a24.ipvanish.com", "udp": true, "ips": [ "216.131.122.224" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a25.ipvanish.com", "udp": true, "ips": [ "216.131.122.230" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a42.ipvanish.com", "udp": true, "ips": [ "216.131.122.7" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a43.ipvanish.com", "udp": true, "ips": [ "216.131.122.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a51.ipvanish.com", "udp": true, "ips": [ "216.131.122.56" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "hostname": "sjc-a52.ipvanish.com", "udp": true, "ips": [ "216.131.122.62" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c01.ipvanish.com", "udp": true, "ips": [ "205.185.223.37" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c02.ipvanish.com", "udp": true, "ips": [ "205.185.223.31" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c03.ipvanish.com", "udp": true, "ips": [ "205.185.223.25" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c04.ipvanish.com", "udp": true, "ips": [ "205.185.223.19" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c07.ipvanish.com", "udp": true, "ips": [ "98.96.253.194" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c10.ipvanish.com", "udp": true, "ips": [ "98.96.253.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c13.ipvanish.com", "udp": true, "ips": [ "205.185.223.40" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c14.ipvanish.com", "udp": true, "ips": [ "205.185.223.46" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "sea-c15.ipvanish.com", "udp": true, "ips": [ "205.185.223.52" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a01.ipvanish.com", "udp": true, "ips": [ "216.131.120.5" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a03.ipvanish.com", "udp": true, "ips": [ "216.131.120.17" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a04.ipvanish.com", "udp": true, "ips": [ "216.131.120.23" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a05.ipvanish.com", "udp": true, "ips": [ "216.131.120.29" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a06.ipvanish.com", "udp": true, "ips": [ "216.131.120.35" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a07.ipvanish.com", "udp": true, "ips": [ "216.131.120.41" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a08.ipvanish.com", "udp": true, "ips": [ "216.131.120.47" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a09.ipvanish.com", "udp": true, "ips": [ "216.131.120.53" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a12.ipvanish.com", "udp": true, "ips": [ "216.131.120.71" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a13.ipvanish.com", "udp": true, "ips": [ "216.131.120.77" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a15.ipvanish.com", "udp": true, "ips": [ "216.131.120.89" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a16.ipvanish.com", "udp": true, "ips": [ "216.131.120.95" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a17.ipvanish.com", "udp": true, "ips": [ "216.131.120.101" ] }, { "vpn": "openvpn", "country": "United States", "city": "St. Louis Virtual", "hostname": "stl-a20.ipvanish.com", "udp": true, "ips": [ "216.131.120.119" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas Virtual", "hostname": "ccs-c01.ipvanish.com", "udp": true, "ips": [ "108.171.105.2" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas Virtual", "hostname": "ccs-c02.ipvanish.com", "udp": true, "ips": [ "108.171.105.8" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas Virtual", "hostname": "ccs-c03.ipvanish.com", "udp": true, "ips": [ "108.171.105.14" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas Virtual", "hostname": "ccs-c04.ipvanish.com", "udp": true, "ips": [ "108.171.105.20" ] }, { "vpn": "openvpn", "country": "Vietnam", "city": "Ho Chi Minh City Virtual", "hostname": "sgn-c01.ipvanish.com", "udp": true, "ips": [ "108.171.109.2" ] }, { "vpn": "openvpn", "country": "Vietnam", "city": "Ho Chi Minh City Virtual", "hostname": "sgn-c03.ipvanish.com", "udp": true, "ips": [ "108.171.109.14" ] } ] }, "ivpn": { "version": 3, "timestamp": 1724036915, "servers": [ { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "isp": "M247", "hostname": "au-nsw1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "46.102.153.242" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "M247", "hostname": "au-nsw1.wg.ivpn.net", "wgpubkey": "KmSrG48t5xw9CJCPlYLBG3JnmiY0CnUgyRM5TUEwZhM=", "ips": [ "46.102.153.246" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "isp": "M247", "hostname": "au-nsw2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "146.70.78.74" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "M247", "hostname": "au-nsw2.wg.ivpn.net", "wgpubkey": "q+wbp7GjiTszp5G16rNpGCqxkL0qSY3CH4pcgD6UsVQ=", "ips": [ "146.70.78.75" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "isp": "M247", "hostname": "at1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.244.212.66" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "isp": "M247", "hostname": "at1.wg.ivpn.net", "wgpubkey": "83LUBnP97SFpnS0y1MpEAFcg8MIiQJgW1FRv/8Mc40g=", "ips": [ "185.244.212.69" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "isp": "M247", "hostname": "be1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "194.187.251.10" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "isp": "M247", "hostname": "be1.wg.ivpn.net", "wgpubkey": "awriP5lpdxEMWKuG+A1DOg+vb1M5jd3WhynIMB61BhU=", "ips": [ "194.187.251.13" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "Franca", "isp": "Qnax", "hostname": "br1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "45.162.230.50" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Franca", "isp": "Qnax", "hostname": "br1.wg.ivpn.net", "wgpubkey": "eN1f15S3YzRyYCALiPGRQcjkQO9xntcdqPhJJ6TOymc=", "ips": [ "45.162.230.53" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "isp": "M247", "hostname": "bg1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "82.102.23.18" ] }, { "vpn": "wireguard", "country": "Bulgaria", "city": "Sofia", "isp": "M247", "hostname": "bg1.wg.ivpn.net", "wgpubkey": "WDSsdJE6wvATIWfzQwayPtE/0DaXBQgW/hPm7sQSJmU=", "ips": [ "82.102.23.21" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "isp": "M247", "hostname": "ca-qc2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "87.101.92.26" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "M247", "hostname": "ca-qc2.wg.ivpn.net", "wgpubkey": "XSKU6fBCDwlb+mGek1O/fUDd/ozO58ZLph/0H7mn+zE=", "ips": [ "87.101.92.29" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "M247", "hostname": "ca1.wg.ivpn.net", "wgpubkey": "rg+GGDmjM4Vxo1hURvKmgm9yonb6qcoKbPCP/DNDBnI=", "ips": [ "37.120.130.58" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "isp": "Amanah", "hostname": "ca-on1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "184.75.215.2" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Amanah", "hostname": "ca-on1.wg.ivpn.net", "wgpubkey": "eXlmRV8RsCQZjWwiSYxwtEr/xwanM/2HER2YqIGTdHk=", "ips": [ "184.75.215.5" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "isp": "Amanah", "hostname": "ca-on2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "162.219.176.18" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Amanah", "hostname": "ca-on2.wg.ivpn.net", "wgpubkey": "nadUhrHR5E0fCB5wg4efZHNn2NRE+gnuTDjKT21y2V0=", "ips": [ "162.219.176.21" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "isp": "Tech Futures", "hostname": "ca-bc1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "104.193.135.228" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "isp": "Tech Futures", "hostname": "ca-bc1.wg.ivpn.net", "wgpubkey": "lXawKqHosFOoc9kqAZwun9Yk3VrPN7vmG/JuQm4kvx0=", "ips": [ "104.193.135.231" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "isp": "Datapacket", "hostname": "cz1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "195.181.160.167" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "isp": "Datapacket", "hostname": "cz1.wg.ivpn.net", "wgpubkey": "gVbEq2cGRzwCSGPqT2oRSYYN+P6IK3uvvRffErASDSk=", "ips": [ "185.180.14.41" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "isp": "M247", "hostname": "dk1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.245.84.226" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "M247", "hostname": "dk1.wg.ivpn.net", "wgpubkey": "jTsV5gOD7lT4egDj9rhKwO2OO2X7bKs2EQPcZEnUWDE=", "ips": [ "185.245.84.229" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "isp": "Creanova", "hostname": "fi1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.112.82.12" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Creanova", "hostname": "fi1.wg.ivpn.net", "wgpubkey": "mIxEzfjZ2wV6jJVj30w38ECd2LSH4bw/HLMnM2ICHiI=", "ips": [ "194.34.134.63" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "isp": "Datapacket", "hostname": "fr1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.246.211.179" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "Datapacket", "hostname": "fr1.wg.ivpn.net", "wgpubkey": "g7BuMzj3r/noLiLR4qhQMcvU6GSIY8RGEnaYtdYsFX4=", "ips": [ "185.246.211.185" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "Datapacket", "hostname": "de1.wg.ivpn.net", "wgpubkey": "mS3/WpXjnMAMmXjSpd4nFzx9HSE3ubv2WyjpyH2REgs=", "ips": [ "185.102.219.26" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "isp": "Leaseweb", "hostname": "de2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "178.162.211.114" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "Leaseweb", "hostname": "de2.wg.ivpn.net", "wgpubkey": "QhY3OtBf4FFafKtLO33e6k8JnAl8e6ktFcRUyLjCDVY=", "ips": [ "37.58.60.151" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "isp": "M247", "hostname": "de3.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "146.70.160.162" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "M247", "hostname": "de3.wg.ivpn.net", "wgpubkey": "CugQQtD8YJKRwS5IukNWkMcyqOzlOxfGRPhGeQRAb2Y=", "ips": [ "146.70.160.170" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "isp": "Datapacket", "hostname": "gr1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "169.150.252.110" ] }, { "vpn": "wireguard", "country": "Greece", "city": "Athens", "isp": "Datapacket", "hostname": "gr1.wg.ivpn.net", "wgpubkey": "79rPSFIEQ4KWX9UN+FSMVfI0mPPVY5elS16O/DA6uDw=", "ips": [ "169.150.252.113" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "isp": "Leaseweb", "hostname": "hk2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "209.58.188.13" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "isp": "Leaseweb", "hostname": "hk2.wg.ivpn.net", "wgpubkey": "kyolyq4cJydI3vQB2ESTIUAy2Fq0bpOf+Qe7GIq6XEA=", "ips": [ "64.120.120.239" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "isp": "TheGigabit", "hostname": "hk3.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "118.107.244.184" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "isp": "TheGigabit", "hostname": "hk3.wg.ivpn.net", "wgpubkey": "qq1simsFNm2FpZM0J8u8Aa0rkk5HEasvLksPyLv+0Sk=", "ips": [ "118.107.244.206" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "isp": "M247", "hostname": "hu1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.189.114.186" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "isp": "M247", "hostname": "hu1.wg.ivpn.net", "wgpubkey": "G30fNdXrnlqtqqOLF23QXWzFdLIKDxLW60HoYPvqml8=", "ips": [ "185.189.114.189" ] }, { "vpn": "openvpn", "country": "Iceland", "city": "Reykjavik", "isp": "Advania", "hostname": "is1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "82.221.107.178" ] }, { "vpn": "wireguard", "country": "Iceland", "city": "Reykjavik", "isp": "Advania", "hostname": "is1.wg.ivpn.net", "wgpubkey": "nZZT6TlQ2dXlVe3P3B5ozEScHYMWH4JY4y3to8w5dz0=", "ips": [ "82.221.107.185" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Tel Aviv", "city": "Holon", "isp": "HQServ", "hostname": "il1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.191.204.130" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Tel Aviv", "city": "Holon", "isp": "HQServ", "hostname": "il1.wg.ivpn.net", "wgpubkey": "HR9gAjpxXU3YVt6kehBw5n8yVYVE0iIgJdc4HTqOzEE=", "ips": [ "185.191.204.133" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "isp": "Datapacket", "hostname": "it2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "84.17.59.137" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "isp": "Datapacket", "hostname": "it2.wg.ivpn.net", "wgpubkey": "IYi+s9DZusPErv0k2Ls/jgdubmeCrUcEJ1cNgmxPx0k=", "ips": [ "84.17.59.149" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "isp": "TheGigabit", "hostname": "jp2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.135.77.35" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "isp": "TheGigabit", "hostname": "jp2.wg.ivpn.net", "wgpubkey": "YuhEd9+a90/+uucZC+qzsyMHkfe/GiwG1dq7g2HegXQ=", "ips": [ "185.135.77.81" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "isp": "Evoluso", "hostname": "lu1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "92.223.89.53" ] }, { "vpn": "wireguard", "country": "Luxembourg", "city": "Luxembourg", "isp": "Evoluso", "hostname": "lu1.wg.ivpn.net", "wgpubkey": "hUS1OAFLGwpba8+oc5mifYtohZt/RTro5dMyYBLYHjI=", "ips": [ "92.223.89.57" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "isp": "TheGigabit", "hostname": "my1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "61.4.97.148" ] }, { "vpn": "wireguard", "country": "Malaysia", "city": "Kuala Lumpur", "isp": "TheGigabit", "hostname": "my1.wg.ivpn.net", "wgpubkey": "M9SsMCpUw7ad6YbqQr8r2saBK2zAf3tBj82DzsQjgkY=", "ips": [ "61.4.97.154" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Querétaro", "isp": "Datapacket", "hostname": "mx1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "121.127.43.193" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Querétaro", "isp": "Datapacket", "hostname": "mx1.wg.ivpn.net", "wgpubkey": "ReKHoFVVGfR4Tgzl2GPPioAtQm3HmecKTU0HK67NcXU=", "ips": [ "121.127.43.196" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "Datapacket", "hostname": "nl1.wg.ivpn.net", "wgpubkey": "AsMT2FqpkZbjzWeDch6GwufF5odl259W/hIkGytVfWo=", "ips": [ "185.102.218.104" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl3.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "95.211.172.68" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl3.wg.ivpn.net", "wgpubkey": "XDU6Syq1DY82IMatsHV0x/TAtbLiRwh/SdFCXlEn40c=", "ips": [ "95.211.95.9" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl4.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "95.211.172.95" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl4.wg.ivpn.net", "wgpubkey": "cVB66gPq5cZ9dfXY+e2pbsCyih5o1zk04l5c5VCsV1g=", "ips": [ "95.211.95.19" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl5.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "95.211.187.222" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl5.wg.ivpn.net", "wgpubkey": "NCagAawwRixI6Iw/NWiGD8lbjDNCl0aTICZKJtO/1HA=", "ips": [ "95.211.243.162" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl6.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "95.211.187.228" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl6.wg.ivpn.net", "wgpubkey": "hMWpqb3FEATHIbImPVWB/5z2nWIXghwpnJjevPY+1H0=", "ips": [ "95.211.243.182" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl7.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "95.211.95.22" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl7.wg.ivpn.net", "wgpubkey": "hQNYqtfOOAEz0IGshLx/TI9hUrfR9gIIkjVm4VsCbBM=", "ips": [ "95.211.172.105" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl8.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "95.211.172.18" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "Leaseweb", "hostname": "nl8.wg.ivpn.net", "wgpubkey": "/nY1/OhVhdHtbnU/s31zYUuPBH0pizv4DemW5KDOUkg=", "ips": [ "95.211.198.167" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "isp": "Servetheworld", "hostname": "no1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "194.242.10.150" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "isp": "Servetheworld", "hostname": "no1.wg.ivpn.net", "wgpubkey": "xFO6ksbO3Gr05rRgAW0O5Veoi4bpTgz2G9RvtBzK7Cg=", "ips": [ "91.189.177.156" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Lima", "isp": "Datapacket", "hostname": "pe1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "79.127.252.65" ] }, { "vpn": "wireguard", "country": "Peru", "city": "Lima", "isp": "Datapacket", "hostname": "pe1.wg.ivpn.net", "wgpubkey": "LGvYaCFJxdDePXV+r5ENsmugIlVufCCSSm2A6EUXXGw=", "ips": [ "79.127.252.68" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "isp": "Datapacket", "hostname": "pl1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.246.208.86" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "isp": "Datapacket", "hostname": "pl1.wg.ivpn.net", "wgpubkey": "1JDmF79rWj5C+kHp71AbdHne/yGaizWCd2bLfSFvYjo=", "ips": [ "185.246.208.109" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "isp": "Hostwebis", "hostname": "pt1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "94.46.175.112" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "isp": "Hostwebis", "hostname": "pt1.wg.ivpn.net", "wgpubkey": "nMnA82YVrvEK80GVoY/0Z9McWeqjcLzuMYSL+86j5nU=", "ips": [ "94.46.175.113" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "isp": "M247", "hostname": "ro1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "37.120.206.50" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "isp": "M247", "hostname": "ro1.wg.ivpn.net", "wgpubkey": "F2uQ57hysZTlw8WYELnyCw9Lga80wNYoYwkrrxyXKmw=", "ips": [ "37.120.206.53" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "isp": "M247", "hostname": "rs1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "141.98.103.250" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "isp": "M247", "hostname": "rs1.wg.ivpn.net", "wgpubkey": "xLN/lpQThQ3z3tvYf7VqdAsRL/nton1Vhv2kCZlQtWE=", "ips": [ "141.98.103.253" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "isp": "M247", "hostname": "sg01.wg.ivpn.net", "wgpubkey": "pWk0u1Xq8FHC+xpkN+C6yEKOTEanorR5zMCSfHlLzFw=", "ips": [ "185.128.24.189" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "isp": "M247", "hostname": "sg1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.128.24.186" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "isp": "M247", "hostname": "sg1.wg.ivpn.net", "wgpubkey": "hSg0At4uwuIhmTy5UT4fRbi5AN6JO2ZWTuIvqd4nHCE=", "ips": [ "37.120.151.122" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "isp": "Datapacket", "hostname": "sk2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "156.146.40.202" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "isp": "Datapacket", "hostname": "sk2.wg.ivpn.net", "wgpubkey": "xxEl8CIjNLpig6fp7z4USHZLK35Nu5HENFNwTdeAbzU=", "ips": [ "156.146.40.205" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "isp": "Datapacket", "hostname": "za1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "169.150.238.103" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "isp": "Datapacket", "hostname": "za1.wg.ivpn.net", "wgpubkey": "tgrAA+uJZppS9esgOi0pe3rHajQQ7c/KF8WPOua6qy4=", "ips": [ "169.150.238.108" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "isp": "Datapacket", "hostname": "es1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.93.3.193" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "isp": "Datapacket", "hostname": "es1.wg.ivpn.net", "wgpubkey": "w7umiArTtlJ4Pk6Ii9WX5VXK5vw/Qu+Z37/icKlIYWo=", "ips": [ "84.17.62.98" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "GleSyS", "hostname": "se01.wg.ivpn.net", "wgpubkey": "u8VHnYEpoEjJWDAF9NAUkU6s810RnkMuhEfFD9U0cGo=", "ips": [ "80.67.10.141" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "isp": "GleSyS", "hostname": "se1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "80.67.10.138" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "M247", "hostname": "se1.wg.ivpn.net", "wgpubkey": "2n0nFE1g/+vQr2AOQPm9Igyiy0zh9uTTultvOOSkMRo=", "ips": [ "37.120.153.226" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch01.wg.ivpn.net", "wgpubkey": "dU7gLfcupYd37LW0q6cxC6PHMba+eUFAUOoU/ryXZkY=", "ips": [ "185.212.170.141" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.212.170.138" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "Privatelayer", "hostname": "ch1.wg.ivpn.net", "wgpubkey": "jVZJ61i1xxkAfriDHpwvF/GDuTvZUqhwoWSjkOJvaUA=", "ips": [ "141.255.164.66" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "isp": "Privatelayer", "hostname": "ch3.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "141.255.166.194" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "Privatelayer", "hostname": "ch3.wg.ivpn.net", "wgpubkey": "JBpgBKtqIneRuEga7mbP2PAk/e4HPRaC11H0A0+R3lA=", "ips": [ "141.255.166.198" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "isp": "TheGigabit", "hostname": "tw1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.189.160.6" ] }, { "vpn": "wireguard", "country": "Taiwan", "city": "Taipei", "isp": "TheGigabit", "hostname": "tw1.wg.ivpn.net", "wgpubkey": "fMTCCbbKqPp60fkqnaQvJ9mX2r6zBlt7xhUp8sGfJQY=", "ips": [ "185.189.160.123" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "isp": "Server.ua", "hostname": "ua2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "91.232.28.126" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "isp": "Server.ua", "hostname": "ua2.wg.ivpn.net", "wgpubkey": "WmMJBUyI0tdByPhMyvKWAbQMRE1I3ilPi/fIeG3m+UE=", "ips": [ "91.232.28.116" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "isp": "Datapacket", "hostname": "gb01.wg.ivpn.net", "wgpubkey": "yKK5x+D17Jr3Q12T/UBaDjNVmNdZBsqpvTqH6YfsGHg=", "ips": [ "185.59.221.140" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "isp": "Datapacket", "hostname": "gb1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.59.221.133" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "isp": "M247", "hostname": "gb1.wg.ivpn.net", "wgpubkey": "7+jos+Eg+hMEOQE4Std6OJ+WVnCcmbqS1/EbPwn9w3s=", "ips": [ "81.92.202.114" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "isp": "Datapacket", "hostname": "gb2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.59.221.88" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "isp": "Datapacket", "hostname": "gb2.wg.ivpn.net", "wgpubkey": "x0BTRaxsdxAd58ZyU2YMX4bmuj+Eg+8/urT2F3Vs1n8=", "ips": [ "185.59.221.225" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "isp": "M247", "hostname": "gb-man1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "89.238.141.228" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "Manchester", "isp": "M247", "hostname": "gb-man1.wg.ivpn.net", "wgpubkey": "+hf4DYilNEIjTdSOuCNcWdqVyaRoxGzXw7wvNl7f7Rg=", "ips": [ "89.238.141.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "AZ", "city": "Phoenix", "isp": "M247", "hostname": "us-az1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "193.37.254.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "AZ", "city": "Phoenix", "isp": "M247", "hostname": "us-az1.wg.ivpn.net", "wgpubkey": "Ts4MGazxpxL9rrYbERjgxa+kCEX85ou9gHoaJvDsRiI=", "ips": [ "193.37.254.133" ] }, { "vpn": "wireguard", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Quadranet", "hostname": "us-ca01.wg.ivpn.net", "wgpubkey": "B+qXdkIuETpzI0bfhGUAHN4SU91Tjs6ItdFlu93S42I=", "ips": [ "216.144.236.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Quadranet", "hostname": "us-ca1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "173.254.196.58" ] }, { "vpn": "wireguard", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Datapacket", "hostname": "us-ca1.wg.ivpn.net", "wgpubkey": "FGl78s9Ct6xNamQ2/CtAyXwGePrrU0kiZxfM27pm8XA=", "ips": [ "185.180.13.41" ] }, { "vpn": "openvpn", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Quadranet", "hostname": "us-ca2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "69.12.80.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Quadranet", "hostname": "us-ca2.wg.ivpn.net", "wgpubkey": "qv4Tupfon5NUSwzDpM8zPizSwJZn2h+9CqrufcyDOko=", "ips": [ "216.144.236.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Tzulo", "hostname": "us-ca3.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "198.54.129.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Tzulo", "hostname": "us-ca3.wg.ivpn.net", "wgpubkey": "J5+Bx84LxNPdWEhewOvBV/fGWiDluIBlAcr1QlJZil8=", "ips": [ "198.54.129.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Quadranet", "hostname": "us-ca4.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "173.254.204.202" ] }, { "vpn": "wireguard", "country": "United States", "region": "CA", "city": "Los Angeles", "isp": "Quadranet", "hostname": "us-ca4.wg.ivpn.net", "wgpubkey": "dYPXYr6HSRJPe3MhALwGWNtdEy1+EPE9Kqv7cTrUXk8=", "ips": [ "216.144.237.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "CO", "city": "Denver", "isp": "Datapacket", "hostname": "us-co1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "121.127.44.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "CO", "city": "Denver", "isp": "Datapacket", "hostname": "us-co1.wg.ivpn.net", "wgpubkey": "eW3Xf/azDAah8xaM0z5rMxJZkWM6YlWuZsEbMwy9j2Y=", "ips": [ "121.127.44.29" ] }, { "vpn": "openvpn", "country": "United States", "region": "FL", "city": "Miami", "isp": "Quadranet", "hostname": "us-fl1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "173.44.49.90" ] }, { "vpn": "wireguard", "country": "United States", "region": "FL", "city": "Miami", "isp": "Quadranet", "hostname": "us-fl1.wg.ivpn.net", "wgpubkey": "Rkzo9WgxJBiKyEbkZvqGWtOVh9Gk9Vd7wL49SHXdHig=", "ips": [ "173.44.49.93" ] }, { "vpn": "wireguard", "country": "United States", "region": "GA", "city": "Atlanta", "isp": "Quadranet", "hostname": "us-ga01.wg.ivpn.net", "wgpubkey": "EJFl28aYpZKfmJqb1jxxTEnGx6kaH2USVrigpHKKXhs=", "ips": [ "104.129.24.149" ] }, { "vpn": "openvpn", "country": "United States", "region": "GA", "city": "Atlanta", "isp": "Quadranet", "hostname": "us-ga1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "104.129.24.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "GA", "city": "Atlanta", "isp": "Datapacket", "hostname": "us-ga1.wg.ivpn.net", "wgpubkey": "jD8h+pL5/d6fmYcTzl0lR8AWzQVN5XkwRFSmM/3NcDM=", "ips": [ "185.93.0.212" ] }, { "vpn": "openvpn", "country": "United States", "region": "GA", "city": "Atlanta", "isp": "Quadranet", "hostname": "us-ga2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "107.150.22.74" ] }, { "vpn": "wireguard", "country": "United States", "region": "GA", "city": "Atlanta", "isp": "Quadranet", "hostname": "us-ga2.wg.ivpn.net", "wgpubkey": "hr2uQOEGCvGeDkoCQJ2dCI8dM8Iu5aKhb1PIvJ9q72E=", "ips": [ "107.150.22.77" ] }, { "vpn": "wireguard", "country": "United States", "region": "IL", "city": "Chicago", "isp": "Quadranet", "hostname": "us-il01.wg.ivpn.net", "wgpubkey": "Uy5a8JOqneAUY1dC5s9jubLnotbyIfBsLP2nZuzRbHs=", "ips": [ "72.11.137.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "IL", "city": "Chicago", "isp": "Quadranet", "hostname": "us-il1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "107.150.28.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "IL", "city": "Chicago", "isp": "Datapacket", "hostname": "us-il1.wg.ivpn.net", "wgpubkey": "hku9gjamhoii8OvxZgx+TdUDIkOAQYFu39qbav2AyUQ=", "ips": [ "89.187.181.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "IL", "city": "Chicago", "isp": "Quadranet", "hostname": "us-il2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "72.11.137.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "IL", "city": "Chicago", "isp": "Quadranet", "hostname": "us-il2.wg.ivpn.net", "wgpubkey": "ANhVUMAQgStPVNRHW8mg0ZtN1YI1QHyXfNCO8+USNQQ=", "ips": [ "72.11.137.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "NJ", "city": "Secaucus", "isp": "Quadranet", "hostname": "us-nj3.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "23.226.128.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "NJ", "city": "Secaucus", "isp": "Quadranet", "hostname": "us-nj3.wg.ivpn.net", "wgpubkey": "AX7C1LO0ECUcHRYgX4/tIDYdR8npvfB/+pf4AfI3OHU=", "ips": [ "23.226.128.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "NJ", "city": "Secaucus", "isp": "M247", "hostname": "us-nj4.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "194.36.111.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "NJ", "city": "Secaucus", "isp": "M247", "hostname": "us-nj4.wg.ivpn.net", "wgpubkey": "1Te4AfL1yKo2k4jzPALnRPfKE3YSzXKo4XIRHPz5FxI=", "ips": [ "194.36.111.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "NV", "city": "Las Vegas", "isp": "M247", "hostname": "us-nv1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "185.242.5.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "NV", "city": "Las Vegas", "isp": "M247", "hostname": "us-nv1.wg.ivpn.net", "wgpubkey": "PRpvAZyoNWNm/KHlqafjtYoZtn1PkIPylUE4WbuYmgM=", "ips": [ "185.242.5.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "NY", "city": "New York", "isp": "M247", "hostname": "us-ny1.wg.ivpn.net", "wgpubkey": "6/tjvgb7HFl7UuvBSegolxa1zKr3iSlDrlCexCmhAGE=", "ips": [ "91.132.137.170" ] }, { "vpn": "openvpn", "country": "United States", "region": "NY", "city": "New York", "isp": "M247", "hostname": "us-ny2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "212.103.48.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "NY", "city": "New York", "isp": "M247", "hostname": "us-ny2.wg.ivpn.net", "wgpubkey": "c7DwY2uT+6ulWAJ5u8qJNWHroA0qyJLcdNzf/f2kkhs=", "ips": [ "212.103.48.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "NY", "city": "New York", "isp": "Datapacket", "hostname": "us-ny3.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "89.187.178.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "NY", "city": "New York", "isp": "Datapacket", "hostname": "us-ny3.wg.ivpn.net", "wgpubkey": "m5/Ssw9SN3WuE+yD/fAsH5G8iuI8TcDGEiZZnPgiMCc=", "ips": [ "89.187.178.145" ] }, { "vpn": "wireguard", "country": "United States", "region": "TX", "city": "Dallas", "isp": "Quadranet", "hostname": "us-tx01.wg.ivpn.net", "wgpubkey": "LvWf548mFddi8PTrIGL6uD1/l85LU8z0Rc8tpvw2Vls=", "ips": [ "96.44.189.197" ] }, { "vpn": "openvpn", "country": "United States", "region": "TX", "city": "Dallas", "isp": "Quadranet", "hostname": "us-tx1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "96.44.189.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "TX", "city": "Dallas", "isp": "Quadranet", "hostname": "us-tx1.wg.ivpn.net", "wgpubkey": "JPT1veXLmasj2uQDstX24mpR7VWD+GmV8JDkidkz91Q=", "ips": [ "198.55.124.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "TX", "city": "Dallas", "isp": "Quadranet", "hostname": "us-tx2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "96.44.142.74" ] }, { "vpn": "wireguard", "country": "United States", "region": "TX", "city": "Dallas", "isp": "Quadranet", "hostname": "us-tx2.wg.ivpn.net", "wgpubkey": "om8hOGUcEvoOhHvJZoBHxNF4jxY/+Ml9Iy1WOSC/pFo=", "ips": [ "96.44.142.77" ] }, { "vpn": "openvpn", "country": "United States", "region": "UT", "city": "Salt Lake City", "isp": "100TB", "hostname": "us-ut1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "198.105.216.28" ] }, { "vpn": "wireguard", "country": "United States", "region": "UT", "city": "Salt Lake City", "isp": "100TB", "hostname": "us-ut1.wg.ivpn.net", "wgpubkey": "KirI7bpxD186CuYiOqNHF+QUe6YmRYf6CN3pXWOJT2k=", "ips": [ "206.190.145.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "VA", "city": "Ashburn", "isp": "Datapacket", "hostname": "us-va1.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "37.19.206.105" ] }, { "vpn": "wireguard", "country": "United States", "region": "VA", "city": "Ashburn", "isp": "Datapacket", "hostname": "us-va1.wg.ivpn.net", "wgpubkey": "ZCnZK6U+cRuP/WgzIDb/P6UG2rX/KyCRd5vJ1hAbr2E=", "ips": [ "37.19.206.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "WA", "city": "Seattle", "isp": "Tzulo", "hostname": "us-wa2.gw.ivpn.net", "tcp": true, "udp": true, "ips": [ "198.44.131.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "WA", "city": "Seattle", "isp": "Tzulo", "hostname": "us-wa2.wg.ivpn.net", "wgpubkey": "VcrOOozBUCIURU0AnqMAE7AkMmC7Qrp+j/PzPbgbalU=", "ips": [ "198.44.131.4" ] } ] }, "mullvad": { "version": 4, "timestamp": 1770768515, "servers": [ { "vpn": "wireguard", "country": "Albania", "city": "Tirana", "isp": "iRegister", "hostname": "al-tia-wg-003", "wgpubkey": "rWiQxq5lAWD8v/bws9ITSAvThyZW8cR2x+Ins9ZvvRo=", "ips": [ "103.124.165.130", "2a04:27c0:0:c::f001" ] }, { "vpn": "wireguard", "country": "Albania", "city": "Tirana", "isp": "iRegister", "hostname": "al-tia-wg-004", "wgpubkey": "x62J1c4gfHu/bF3DSjwIjC0qOE3azRG03i/YW6bOEGY=", "ips": [ "103.124.165.191", "2a04:27c0:0:d::f001" ] }, { "vpn": "wireguard", "country": "Argentina", "city": "Buenos Aires", "isp": "DataPacket", "hostname": "ar-bue-wg-001", "wgpubkey": "1WN0Mqa0Azw7cYYEamHPgHXE8SuylNIG2QobZKOaclA=", "ips": [ "149.22.83.2", "2a02:6ea0:f002:1::f001" ] }, { "vpn": "wireguard", "country": "Argentina", "city": "Buenos Aires", "isp": "DataPacket", "hostname": "ar-bue-wg-002", "wgpubkey": "gGrdozNHVCnmcX5x8OPOXfnyZ+TZWqD9GlHl1kRekyA=", "ips": [ "149.22.83.31", "2a02:6ea0:f002:2::f001" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Adelaide", "isp": "hostuniversal", "hostname": "au-adl-wg-302", "wgpubkey": "e4jouH8n4e8oyi/Z7d6lJLd6975hlPZmnynJeoU+nWM=", "ips": [ "103.214.20.130", "2404:f780:0:dec::c2f" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Adelaide", "isp": "hostuniversal", "hostname": "au-adl-wg-303", "wgpubkey": "X9vdIZG69ZDU4Wf05T8F+C+NuWeYOgojmOVeASdiIWo=", "ips": [ "103.214.20.162", "2404:f780:0:def::f201" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Brisbane", "isp": "hostuniversal", "hostname": "au-bne-wg-301", "wgpubkey": "1H/gj8SVNebAIEGlvMeUVC5Rnf274dfVKbyE+v5G8HA=", "ips": [ "103.216.220.18", "2404:f780:4:deb::f001" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Brisbane", "isp": "hostuniversal", "hostname": "au-bne-wg-302", "wgpubkey": "z+JG0QA4uNd/wRTpjCqn9rDpQsHKhf493omqQ5rqYAc=", "ips": [ "103.216.220.34", "2404:f780:4:dec::a02f" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Brisbane", "isp": "hostuniversal", "hostname": "au-bne-wg-303", "wgpubkey": "AdUQ6vk1e1SMzlLpgwmg86A0SSj8YGrJE2UWlflGtCg=", "ips": [ "103.216.220.66", "2404:f780:4:def::f201" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Melbourne", "isp": "hostuniversal", "hostname": "au-mel-wg-302", "wgpubkey": "npTb63jWEaJToBfn0B1iVNbnLXEwwlus5SsolsvUhgU=", "ips": [ "103.108.229.66", "2406:d501:f:dec::a02f" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Melbourne", "isp": "hostuniversal", "hostname": "au-mel-wg-401", "wgpubkey": "ju0S2nDmiOrSm1H68SRTB4mtt2U8SKROprE83VCoF1Y=", "ips": [ "163.47.16.146", "2406:d501:f:dfa::f001" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Perth", "isp": "hostuniversal", "hostname": "au-per-wg-301", "wgpubkey": "hQXsNk/9R2We0pzP1S9J3oNErEu2CyENlwTdmDUYFhg=", "ips": [ "103.108.231.50", "2404:f780:8:deb::a01f" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Perth", "isp": "hostuniversal", "hostname": "au-per-wg-302", "wgpubkey": "t3Ly8bBdF2gMHzT3d529bVLDw8Jd2/FFG9GXoBEx01g=", "ips": [ "103.108.231.66", "2404:f780:8:dec::f001" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "M247", "hostname": "au-syd-wg-001", "wgpubkey": "4JpfHBvthTFOhCK0f5HAbzLXAVcB97uAkuLx7E8kqW0=", "ips": [ "146.70.200.2", "2001:ac8:84:5::f001" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "M247", "hostname": "au-syd-wg-002", "wgpubkey": "lUeDAOy+iAhZDuz5+6zh0Co8wZcs3ahdu2jfqQoDW3E=", "ips": [ "146.70.141.194", "2001:ac8:84:6::2f" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "M247", "hostname": "au-syd-wg-003", "wgpubkey": "LXuRwa9JRTt2/UtldklKGlj/IVLORITqgET4II4DRkU=", "ips": [ "146.70.200.194", "2001:ac8:84:4::3f" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "xtom", "hostname": "au-syd-wg-101", "wgpubkey": "NKP4jSvSDZg5HJ3JxpGYMxIYt7QzoxSFrU2F0m1ZxwA=", "ips": [ "103.136.147.3", "2a11:3:500::f001" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "xtom", "hostname": "au-syd-wg-102", "wgpubkey": "w825smx7YI9/SrwSYGdsuwD1Qt5UsS/CyaGTjwSYljU=", "ips": [ "103.136.147.65", "2a11:3:500::f101" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "xtom", "hostname": "au-syd-wg-103", "wgpubkey": "poOHsF6v91yURxDrNe/P/adyNUqsRGzhFIioyBYUPww=", "ips": [ "103.136.147.129", "2a11:3:500::f201" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "xtom", "hostname": "au-syd-wg-104", "wgpubkey": "61Ovy3ObuHqllZK/P/5cOWZnY26SY2csmjzVK1q+fFs=", "ips": [ "103.136.147.197", "2a11:3:500::f301" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "HostRoyale", "hostname": "au-syd-wg-301", "wgpubkey": "bQIQLk9zVOZLEGJsQOMu0K3rCMc85gExkS/0b1tSVBk=", "ips": [ "103.120.6.2", "2a06:3040:18:210::f001" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "HostRoyale", "hostname": "au-syd-wg-302", "wgpubkey": "6tTqSMUVPhaMsFFdphijwdura5RnNOzlz33Ekp1oCmc=", "ips": [ "103.120.6.127", "2a06:3040:18:210::f101" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "HostRoyale", "hostname": "au-syd-wg-303", "wgpubkey": "RK/eoKsyX4fu7iJ9F5mTf07en/WgYOMAtPGivKTntlw=", "ips": [ "103.141.60.2", "2a06:3040:18:210::f201" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "isp": "HostRoyale", "hostname": "au-syd-wg-304", "wgpubkey": "gXZZhcHfOD7FtnwTw8APUnccwMTVQYDNs4bbjHGS3CI=", "ips": [ "103.141.60.127", "2a06:3040:18:210::f301" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "isp": "M247", "hostname": "at-vie-wg-001", "wgpubkey": "TNrdH73p6h2EfeXxUiLOCOWHcjmjoslLxZptZpIPQXU=", "ips": [ "146.70.116.98", "2001:ac8:29:84::a01f" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "isp": "M247", "hostname": "at-vie-wg-002", "wgpubkey": "ehXBc726YX1N6Dm7fDAVMG5cIaYAFqCA4Lbpl4VWcWE=", "ips": [ "146.70.116.130", "2001:ac8:29:85::a02f" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "isp": "M247", "hostname": "at-vie-wg-003", "wgpubkey": "ddllelPu2ndjSX4lHhd/kdCStaSJOQixs9z551qN6B8=", "ips": [ "146.70.116.162", "2001:ac8:29:86::a03f" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "isp": "DataPacket", "hostname": "at-vie-wg-101", "wgpubkey": "dj3qNfJfA4dWXsWokPcDh4oo6xaPtOTPfbr5UzHKZ0M=", "ips": [ "185.24.11.130", "2a02:6ea0:cb1b:1::f001" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "isp": "DataPacket", "hostname": "at-vie-wg-102", "wgpubkey": "DANFtH+sFB19BnW1CYEwZ2pOIt7P8nLjSadjpS2rLWE=", "ips": [ "185.24.11.159", "2a02:6ea0:cb1b:2::f001" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "isp": "M247", "hostname": "be-bru-wg-101", "wgpubkey": "GE2WP6hmwVggSvGVWLgq2L10T3WM2VspnUptK5F4B0U=", "ips": [ "91.90.123.2", "2001:ac8:27:88::a01f" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "isp": "M247", "hostname": "be-bru-wg-102", "wgpubkey": "IY+FKw487MEWqMGNyyrT4PnTrJxce8oiGNHT0zifam8=", "ips": [ "194.110.115.34", "2001:ac8:27:89::a02f" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "isp": "M247", "hostname": "be-bru-wg-103", "wgpubkey": "b5A1ela+BVI+AbNXz7SWekZHvdWWpt3rqUKTJj0SqCU=", "ips": [ "194.110.115.2", "2001:ac8:27:92::a03f" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Fortaleza", "isp": "Zenlayer", "hostname": "br-for-wg-001", "wgpubkey": "CiPqGvrQidRVmKc6T8TORsAAZtQbsGzNEAKyd1iVlWY=", "ips": [ "98.98.12.178", "2604:980:e007:100::f001" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Fortaleza", "isp": "Zenlayer", "hostname": "br-for-wg-002", "wgpubkey": "qXISz0Kl4oC0sypcjD6hIxplv8zzZGIJPQZc4/EGz2k=", "ips": [ "98.98.12.182", "2604:980:e007:100::f101" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Sao Paulo", "isp": "DataPacket", "hostname": "br-sao-wg-201", "wgpubkey": "8c9M6w1BQbgMVr/Zgrj4GwSdU6q3qfQfWs17kMLC9y4=", "ips": [ "169.150.198.66", "2a02:6ea0:d00e:1::a01f" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Sao Paulo", "isp": "DataPacket", "hostname": "br-sao-wg-202", "wgpubkey": "jWURoz8SLBUlRTQnAFTA/LDZUTpvlO0ghiVWH7MgaHQ=", "ips": [ "169.150.198.79", "2a02:6ea0:d00e:2::a02f" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Sao Paulo", "isp": "HostRoyale", "hostname": "br-sao-wg-302", "wgpubkey": "Xv1QvURPbgywITL6MNVhbYtfZXTm0lR98SPaf3AXeCc=", "ips": [ "103.139.178.63", "2a06:3040:10:610::f101" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Sao Paulo", "isp": "HostRoyale", "hostname": "br-sao-wg-303", "wgpubkey": "oYrzNmnieX0iZS2nLxdM3mNcDjQZEWn5yaFCtX76qDk=", "ips": [ "103.139.178.123", "2a06:3040:10:610::f201" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "Sao Paulo", "isp": "HostRoyale", "hostname": "br-sao-wg-304", "wgpubkey": "hmO6+lN2CrWMFdpiPtSZ3oPRmcsJlpIi00P+c5p6rQQ=", "ips": [ "103.139.178.183", "2a06:3040:10:610::f301" ] }, { "vpn": "wireguard", "country": "Bulgaria", "city": "Sofia", "isp": "M247", "hostname": "bg-sof-wg-001", "wgpubkey": "J8KysHmHZWqtrVKKOppneDXSks/PDsB1XTlRHpwiABA=", "ips": [ "146.70.188.130", "2001:ac8:30:56::f001" ] }, { "vpn": "wireguard", "country": "Bulgaria", "city": "Sofia", "isp": "M247", "hostname": "bg-sof-wg-002", "wgpubkey": "dg+Fw7GnKvDPBxFpnj1KPoNIu1GakuVoDJjKRni+pRU=", "ips": [ "146.70.188.194", "2001:ac8:30:57::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Calgary", "isp": "techfutures", "hostname": "ca-yyc-wg-201", "wgpubkey": "L4RcVwk0cJJp2u8O9+86sdyUpxfYnr+ME57Ex0RY1Wo=", "ips": [ "38.240.225.36", "2606:9580:438:32::b01f" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Calgary", "isp": "techfutures", "hostname": "ca-yyc-wg-202", "wgpubkey": "u9J/fzrSqM2aEFjTs91KEKgBsaQ/I/4XkIP1Z/zYkXA=", "ips": [ "38.240.225.68", "2606:9580:438:64::b02f" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "M247", "hostname": "ca-mtr-wg-001", "wgpubkey": "TUCaQc26/R6AGpkDUr8A8ytUs/e5+UVlIVujbuBwlzI=", "ips": [ "146.70.198.66", "2a0d:5600:9:c::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "M247", "hostname": "ca-mtr-wg-002", "wgpubkey": "7X6zOgtJfJAK8w8C3z+hekcS9Yf3qK3Bp4yx56lqxBQ=", "ips": [ "146.70.198.130", "2a0d:5600:9:d::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "M247", "hostname": "ca-mtr-wg-003", "wgpubkey": "57Zu2qPzRScZWsoC2NhXgz0FiC0HiKkbEa559sbxB3k=", "ips": [ "146.70.198.194", "2a0d:5600:9:e::a02f" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "M247", "hostname": "ca-mtr-wg-004", "wgpubkey": "Cc5swfQ9f2tAgLduuIqC3bLbwDVoOFkkETghsE6/twA=", "ips": [ "188.241.176.194", "2a0d:5600:9:16::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "DataPacket", "hostname": "ca-mtr-wg-201", "wgpubkey": "m1DF8sQgOBo+vfdl1//sCvu2TnsHKdRzfsiszbBZQzs=", "ips": [ "62.93.167.130", "2a02:6ea0:a03:2::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "DataPacket", "hostname": "ca-mtr-wg-202", "wgpubkey": "NqU0AZRAYH1p8BDUbirqITPJX47WYJsyxO73RHcEjEQ=", "ips": [ "62.93.167.160", "2a02:6ea0:a03::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-301", "wgpubkey": "iV7uZuw8vbqrW/p4YhsxkIxXaUuI4Uj2hTl8TaJZfAA=", "ips": [ "23.234.120.2", "2607:9000:f00:2::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-302", "wgpubkey": "ihfPUEJ+SOFLzpb6ATGKX1/aAOA2MiTgm36yxmMdNUs=", "ips": [ "23.234.120.127", "2607:9000:f00:3::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-303", "wgpubkey": "jS8Wn97oET0rNFD9yIoJIahbVfMc6aubJq6G7+C1PBs=", "ips": [ "23.234.121.2", "2607:9000:f00:4::f01f" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-304", "wgpubkey": "zY8NKWC/zDdNBBFFtH3acoZAJj2BD/AYZVOUiIRZric=", "ips": [ "23.234.121.127", "2607:9000:f00:5::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-305", "wgpubkey": "vHxqoUcH2dHqphHD6Kj74gf8+SldQ/S2XP1nbasTSkQ=", "ips": [ "23.234.122.2", "2607:9000:f00:6::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-306", "wgpubkey": "R4SOqKLtNuNSPg1L9/4mK56nahUN9uEFleuZorBXOjM=", "ips": [ "23.234.122.127", "2607:9000:f00:7::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-307", "wgpubkey": "MRbFe1jzuvCprXrnW2H6TpQnWx5MBwjYS+iIAhtrejc=", "ips": [ "23.234.123.2", "2607:9000:f00:8::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "isp": "Tzulo", "hostname": "ca-mtr-wg-308", "wgpubkey": "lyOeQQ2eGQgEdV+uH/S7UPOPMCsRWkDSQiZhPTUT0AI=", "ips": [ "23.234.123.127", "2607:9000:f00:9::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "DataPacket", "hostname": "ca-tor-wg-001", "wgpubkey": "HjcUGVDXWdrRkaKNpc/8494RM5eICO6DPyrhCtTv9Ws=", "ips": [ "178.249.214.2", "2a02:6ea0:de08:1::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "DataPacket", "hostname": "ca-tor-wg-002", "wgpubkey": "iqZSgVlU9H67x/uYE5xsnzLCDXf7FL9iMfyKfl6WsV8=", "ips": [ "178.249.214.15", "2a02:6ea0:de08:2::a29f" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Tzulo", "hostname": "ca-tor-wg-201", "wgpubkey": "94nJF3WyWKsZQOFhWWco8cjBOrSYADsMSTeivfbWQyw=", "ips": [ "23.234.84.2", "2607:9000:600:31::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Tzulo", "hostname": "ca-tor-wg-202", "wgpubkey": "vr/sAm+36c3N8jWfo14Sw6El0xJeSvu/soU/8JWSb3U=", "ips": [ "23.234.84.127", "2607:9000:600:32::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Tzulo", "hostname": "ca-tor-wg-203", "wgpubkey": "kpXVJa66qgBFlwCmHx6siJT3R9afvtbjdDOTKkkbiUI=", "ips": [ "23.234.85.2", "2607:9000:600:33::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Tzulo", "hostname": "ca-tor-wg-204", "wgpubkey": "APcoI2H2zdWIMdVYXslcJm4zzgePc4PESsDHgkm0UnQ=", "ips": [ "23.234.85.127", "2607:9000:600:34::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Tzulo", "hostname": "ca-tor-wg-205", "wgpubkey": "iePZCguBaIxO/7gqQGDDYwl6YzMZj5910nK2Q9bDP14=", "ips": [ "23.234.86.2", "2607:9000:600:35::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Tzulo", "hostname": "ca-tor-wg-206", "wgpubkey": "PGPyMyMPZ7Lue4pvFK7hlavToQ5FfBODmQBoiaUZ40I=", "ips": [ "23.234.86.127", "2607:9000:600:36::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "isp": "Tzulo", "hostname": "ca-tor-wg-207", "wgpubkey": "8VmxIxjz5W44ubaBuIt5JEngh7fKCvdmdG9WBN2oqhw=", "ips": [ "23.234.87.2", "2607:9000:600:37::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "isp": "techfutures", "hostname": "ca-van-wg-201", "wgpubkey": "hYbb2NQKB0g2RefngdHl3bfaLImUuzeVIv2i1VCVIlQ=", "ips": [ "104.193.135.196", "2606:9580:103:e::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "isp": "techfutures", "hostname": "ca-van-wg-202", "wgpubkey": "wGqcNxXH7A3bSptHZo7Dfmymy/Y30Ea/Zd47UkyEbzo=", "ips": [ "104.193.135.100", "2606:9580:103:f::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "isp": "DataPacket", "hostname": "ca-van-wg-301", "wgpubkey": "BzYINbABQiSbRLDZIlmgsLgL88offQJCEH3JkcjRGUk=", "ips": [ "149.22.81.194", "2a02:6ea0:5100:1::f001" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "isp": "DataPacket", "hostname": "ca-van-wg-302", "wgpubkey": "EOOkxbmbdHmjb8F45s33yKrIzKWH6lGIgJf2kTOxwFw=", "ips": [ "149.22.81.207", "2a02:6ea0:5100:2::f001" ] }, { "vpn": "wireguard", "country": "Chile", "city": "Santiago", "isp": "DataPacket", "hostname": "cl-scl-wg-001", "wgpubkey": "03qeK7CSn6wcMzfqilmVt6Tf81VZIPWnSG04euSkyxM=", "ips": [ "149.88.104.2", "2a02:6ea0:fc02:2::f001" ] }, { "vpn": "wireguard", "country": "Chile", "city": "Santiago", "isp": "DataPacket", "hostname": "cl-scl-wg-002", "wgpubkey": "rn9O+cXj0WQgZAkGCoYvvWgzaB5GcOaVfke3WKsp1Ro=", "ips": [ "149.88.104.15", "2a02:6ea0:fc02:3::f101" ] }, { "vpn": "wireguard", "country": "Colombia", "city": "Bogota", "isp": "DataPacket", "hostname": "co-bog-wg-001", "wgpubkey": "iaMa84nCHK+v4TnQH4h2rxkqwwxemORXM12VbJDRZSU=", "ips": [ "154.47.16.34", "2a02:6ea0:f101:1::f001" ] }, { "vpn": "wireguard", "country": "Colombia", "city": "Bogota", "isp": "DataPacket", "hostname": "co-bog-wg-002", "wgpubkey": "IZDwbG9C/NrOOGVUrn+fDaPr8ZwD/yhvST7XWGk1ln8=", "ips": [ "154.47.16.47", "2a02:6ea0:f101:2::f001" ] }, { "vpn": "wireguard", "country": "Croatia", "city": "Zagreb", "isp": "DataPacket", "hostname": "hr-zag-wg-001", "wgpubkey": "PJvsgLogdAgZiVSxwTDyk9ri02mLZGuElklHShIjDGM=", "ips": [ "154.47.29.2", "2a02:6ea0:f401:1::a01f" ] }, { "vpn": "wireguard", "country": "Croatia", "city": "Zagreb", "isp": "DataPacket", "hostname": "hr-zag-wg-002", "wgpubkey": "V0iDOyLSj870sjGGenDvAWqJudlPKDc212cQN85snEo=", "ips": [ "154.47.29.15", "2a02:6ea0:f401:2::a01f" ] }, { "vpn": "wireguard", "country": "Cyprus", "city": "Nicosia", "isp": "HostRoyale", "hostname": "cy-nic-wg-001", "wgpubkey": "Ae9YcQjcQT+W8MU0EhKXx6KPWo6ticS1NI91e+Zy5GA=", "ips": [ "195.47.194.131", "2a06:3040:f:601::f001" ] }, { "vpn": "wireguard", "country": "Cyprus", "city": "Nicosia", "isp": "HostRoyale", "hostname": "cy-nic-wg-002", "wgpubkey": "LOd1SY9YCHGiJUVT+XdYRdORu6ZMw4CqOKQBW2ElLg8=", "ips": [ "195.47.194.161", "2a06:3040:f:601::f101" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "isp": "M247", "hostname": "cz-prg-wg-101", "wgpubkey": "tWVga+pS/Ztrbx/L/PBlaWPGhkI3PCPBzbQlCeXWqn8=", "ips": [ "146.70.129.98", "2001:ac8:33:c::a01f" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "isp": "M247", "hostname": "cz-prg-wg-102", "wgpubkey": "cRCJ0vULwKRbTfzuo9W+fIt0fJGQE7DLvojIiURIpiI=", "ips": [ "146.70.129.130", "2001:ac8:33:d::a02f" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "isp": "DataPacket", "hostname": "cz-prg-wg-201", "wgpubkey": "5FZW+fNA2iVBSY99HFl+KjGc9AFVNE+UFAedLNhu8lc=", "ips": [ "178.249.209.162", "2a02:6ea0:c201:1::f001" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "isp": "DataPacket", "hostname": "cz-prg-wg-202", "wgpubkey": "ReGrGPKDHri64D7qeXmgcLzjsTJ0B/yM7eekFz1P/34=", "ips": [ "178.249.209.175", "2a02:6ea0:c201:1::f101" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "31173", "owned": true, "hostname": "dk-cph-wg-001", "wgpubkey": "egl+0TkpFU39F5O6r6+hIBMPQLOa8/t5CymOZV6CC3Y=", "ips": [ "45.129.56.67", "2a03:1b20:8:f011::f001" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "31173", "owned": true, "hostname": "dk-cph-wg-002", "wgpubkey": "R5LUBgM/1UjeAR4lt+L/yA30Gee6/VqVZ9eAB3ZTajs=", "ips": [ "45.129.56.68", "2a03:1b20:8:f011::f101" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "DataPacket", "owned": true, "hostname": "dk-cph-wg-101", "wgpubkey": "CrS2Bd2IEVpPlg4DzHwfSCoqpNjrM35oiVdoUVKoxiY=", "ips": [ "149.88.109.72", "2a02:6ea0:470b:0:1::f001" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "DataPacket", "owned": true, "hostname": "dk-cph-wg-102", "wgpubkey": "oFSh/6OxGDc8LY+kCj9SNebPphDGM9UIeln0cseILxs=", "ips": [ "149.88.109.73", "2a02:6ea0:470b:0:2::f001" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "DataPacket", "owned": true, "hostname": "dk-cph-wg-103", "wgpubkey": "qwH+UVu3UKbsYiHsvuXmdbvDUs/5pMV6nSCV5eNk7Q8=", "ips": [ "149.88.109.74", "2a02:6ea0:470b:0:3::f001" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "M247", "hostname": "dk-cph-wg-401", "wgpubkey": "Jjml2TSqKlgzW6UzPiJszaun743QYpyl5jQk8UOQYg0=", "ips": [ "146.70.197.194", "2001:ac8:37:97::f001" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "isp": "M247", "hostname": "dk-cph-wg-402", "wgpubkey": "ML0NcFPqy+x+ZJg7y9vfh77hXAOtgueIqp1j+CJVrXM=", "ips": [ "146.70.197.130", "2001:ac8:37:96::f001" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "isp": "xtom", "hostname": "ee-tll-wg-001", "wgpubkey": "bdq37KtfoG1Tm7yQcfitdRyGeZOn/c7PwLN+LgG/6nA=", "ips": [ "194.127.167.67", "2a07:d880:2::a01f" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "isp": "xtom", "hostname": "ee-tll-wg-002", "wgpubkey": "vqGmmcERr/PAKDzy6Dxax8g4150rC93kmKYabZuAzws=", "ips": [ "194.127.167.87", "2a07:d880:2::a02f" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "isp": "xtom", "hostname": "ee-tll-wg-003", "wgpubkey": "+8dUgpD7YA4wMPnRQkO7EI7AeYd30QPMKh/hOaaGIXY=", "ips": [ "194.127.167.107", "2a07:d880:2::a03f" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Creanova", "owned": true, "hostname": "fi-hel-wg-001", "wgpubkey": "veLqpZazR9j/Ol2G8TfrO32yEhc1i543MCN8rpy1FBA=", "ips": [ "185.204.1.203", "2a0c:f040:0:2790::a01f" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Creanova", "owned": true, "hostname": "fi-hel-wg-002", "wgpubkey": "8BbP3GS01dGkN5ENk1Rgedxfd80friyVOABrdMgD3EY=", "ips": [ "185.204.1.211", "2a0c:f040:0:2790::a02f" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Creanova", "owned": true, "hostname": "fi-hel-wg-003", "wgpubkey": "FKodo9V6BehkNphL+neI0g4/G/cjbZyYhoptSWf3Si4=", "ips": [ "185.204.1.219", "2a0c:f040:0:2790::a03f" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Blix", "owned": true, "hostname": "fi-hel-wg-101", "wgpubkey": "2S3G7Sm9DVG6+uJtlDu4N6ed5V97sTbA5dCSkUelWyk=", "ips": [ "193.138.7.137", "2a02:ed04:3581:1::f001" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Blix", "owned": true, "hostname": "fi-hel-wg-102", "wgpubkey": "xeHVhXxyyFqUEE+nsu5Tzd/t9en+++4fVFcSFngpcAU=", "ips": [ "193.138.7.157", "2a02:ed04:3581:2::f001" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Blix", "owned": true, "hostname": "fi-hel-wg-103", "wgpubkey": "Mlvu14bSD6jb7ajH/CiJ/IO8W+spB8H6VmdGkFGOcUQ=", "ips": [ "193.138.7.177", "2a02:ed04:3581:3::f001" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "Blix", "owned": true, "hostname": "fi-hel-wg-104", "wgpubkey": "keRQGHUbYP2qgDTbYqOsI9byfNb0LOpTZ/KdC67cJiA=", "ips": [ "193.138.7.197", "2a02:ed04:3581:4::f001" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "31173", "owned": true, "hostname": "fi-hel-wg-201", "wgpubkey": "u+Ir9bnz8PtwXoJGQXvCxz6a+1NChEbBIox8KdWarxk=", "ips": [ "185.65.133.5", "2a03:1b20:d:f011:1::f001" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "31173", "owned": true, "hostname": "fi-hel-wg-202", "wgpubkey": "hAbVKL5Q0285gJ28nMSfztw7/FXJb+cxiKD2NMgPpTM=", "ips": [ "185.65.133.85", "2a03:1b20:d:f011:2::f001" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "isp": "31173", "owned": true, "hostname": "fi-hel-wg-203", "wgpubkey": "Ck25URxG+bxlgfJVZ0A6wm7xddltSu5t1yig3CgKBDM=", "ips": [ "185.65.133.165", "2a03:1b20:d:f011:3::f001" ] }, { "vpn": "wireguard", "country": "France", "city": "Bordeaux", "isp": "HostRoyale", "hostname": "fr-bod-wg-001", "wgpubkey": "y6dcYS7MPeApbLoWLahjku5w5cufnNkwHzj1iwDPpS0=", "ips": [ "45.134.79.67", "2a06:3040:4:610::f001" ] }, { "vpn": "wireguard", "country": "France", "city": "Bordeaux", "isp": "HostRoyale", "hostname": "fr-bod-wg-002", "wgpubkey": "ZBOJ2w5DqG35T1zjV/F1UgrXkDhNxObnwdm2FUwyu2o=", "ips": [ "45.134.79.97", "2a06:3040:4:610::f101" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "isp": "DataPacket", "hostname": "fr-mrs-wg-001", "wgpubkey": "MOk2OTDEaFFN4vsCAgf+qQi6IlY99nCeDEzpXyo65wg=", "ips": [ "138.199.15.162", "2a02:6ea0:dc05::a15f" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "isp": "DataPacket", "hostname": "fr-mrs-wg-002", "wgpubkey": "Z0LEgZIPhNj0+/VWknU3roHlVI3qqAfoV6th9NSC0F0=", "ips": [ "138.199.15.146", "2a02:6ea0:dc06::a16f" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "31173", "owned": true, "hostname": "fr-par-wg-001", "wgpubkey": "ov323GyDOEHLT0sNRUUPYiE3BkvFDjpmi1a4fzv49hE=", "ips": [ "193.32.126.66", "2a03:1b20:9:f011::a01f" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "31173", "owned": true, "hostname": "fr-par-wg-002", "wgpubkey": "R5Ve+PJD24QjNXi2Dim7szwCiOLnv+6hg+WyTudAYmE=", "ips": [ "193.32.126.67", "2a03:1b20:9:f011::f101" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "31173", "owned": true, "hostname": "fr-par-wg-003", "wgpubkey": "w4r/o6VImF7l0/De3JpOGnpzjAFv9wcCu8Rop5eZkWc=", "ips": [ "193.32.126.68", "2a03:1b20:9:f011::f201" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "31173", "owned": true, "hostname": "fr-par-wg-004", "wgpubkey": "E/KjR7nlFouuRXh1pwGDr7iK2TAZ6c4K0LjjmA1A2Tc=", "ips": [ "193.32.126.69", "2a03:1b20:9:f011::f301" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "31173", "owned": true, "hostname": "fr-par-wg-005", "wgpubkey": "cmqtSjWUa4/0bENQDKxdr0vQqf4nFVDodarHm0Pc0hY=", "ips": [ "193.32.126.70", "2a03:1b20:9:f011::f401" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "31173", "owned": true, "hostname": "fr-par-wg-006", "wgpubkey": "x0k8A2S7Dx7VNX2Yo2qRPZW/VefIogID5bVynklBugE=", "ips": [ "193.32.126.84", "2a03:1b20:9:f011::f001" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "31173", "owned": true, "hostname": "fr-par-wg-007", "wgpubkey": "D2o4woLw59apODi8NgvVtsbEJOAF5HRxXCp3R4mzGAs=", "ips": [ "193.32.126.83", "2a03:1b20:9:f011::3f" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "M247", "hostname": "fr-par-wg-101", "wgpubkey": "e2uj1eu/ZuTPqfY+9ULa6KFPRGLkSWCaooXBg9u9igA=", "ips": [ "146.70.184.2", "2001:ac8:25:3a::f001" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "M247", "hostname": "fr-par-wg-102", "wgpubkey": "TR0Gedkbp2mRRXKZ7VB7qaAvJHuQlwaaLFc4fxb4q2M=", "ips": [ "146.70.184.66", "2001:ac8:25:3b::f001" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "DataPacket", "hostname": "fr-par-wg-301", "wgpubkey": "gCYpOei4ZYsWJ3mOgCdQo6bnsRgdLNJR9SWEA69U7Gw=", "ips": [ "95.173.222.2", "2a02:6ea0:1901:2::f001" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "isp": "DataPacket", "hostname": "fr-par-wg-302", "wgpubkey": "CpbLl0WVeiW+YbJKNod5khzAI03D2hX2dhq2CCYc2Xc=", "ips": [ "95.173.222.31", "2a02:6ea0:1901:3::f001" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-001", "wgpubkey": "0qSP0VxoIhEhRK+fAHVvmfRdjPs2DmmpOCNLFP/7cGw=", "ips": [ "193.32.248.66", "2a03:1b20:b:f011::a01f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-002", "wgpubkey": "8ov1Ws0ut3ixWDh9Chp7/WLVn9qC6/WVHtcBcuWBlgo=", "ips": [ "193.32.248.67", "2a03:1b20:b:f011::a02f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-003", "wgpubkey": "USrMatdHiCL5AKdVMpHuYgWuMiK/GHPwRB3Xx00FhU0=", "ips": [ "193.32.248.68", "2a03:1b20:b:f011::a03f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-004", "wgpubkey": "6PchzRRxzeeHdNLyn3Nz0gmN7pUyjoZMpKmKzJRL4GM=", "ips": [ "193.32.248.69", "2a03:1b20:b:f011::a04f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-005", "wgpubkey": "I4Y7e8LrtBC/7DLpUgRd5k+IZk+whOFVAZgbSivoiBI=", "ips": [ "193.32.248.70", "2a03:1b20:b:f011::a05f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-006", "wgpubkey": "eprzkkkSbXCANngQDo305DIAvkKAnZaN71IpTNaOoTk=", "ips": [ "193.32.248.71", "2a03:1b20:b:f011::a06f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-007", "wgpubkey": "/ejdxiEsmYbeXXCN6UzvzJ0U/mLuB6baIfQRYKYHWzU=", "ips": [ "193.32.248.75", "2a03:1b20:b:f011::f701" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "isp": "31173", "owned": true, "hostname": "de-ber-wg-008", "wgpubkey": "qwXs9gwhwqWgRtLjPiZ+zMphZJA3OStsn/aXcCAd5m0=", "ips": [ "193.32.248.74", "2a03:1b20:b:f011::f801" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Dusseldorf", "isp": "xtom", "hostname": "de-dus-wg-001", "wgpubkey": "ku1NYeOAGbY65YL/JKZhrqVzDJKXQiVj9USXbfkOBA0=", "ips": [ "185.254.75.3", "2a03:d9c0:3000::a20f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Dusseldorf", "isp": "xtom", "hostname": "de-dus-wg-002", "wgpubkey": "TPAIPTgu9jIitgX1Bz5xMCZJ9pRRZTdtZEOIxArO0Hc=", "ips": [ "185.254.75.4", "2a03:d9c0:3000::a21f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Dusseldorf", "isp": "xtom", "hostname": "de-dus-wg-003", "wgpubkey": "XgSe9UwEV4JJNPPzFFOVYS6scMTL4DeNlwqBl32lDw0=", "ips": [ "185.254.75.5", "2a03:d9c0:3000::a22f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-001", "wgpubkey": "HQHCrq4J6bSpdW1fI5hR/bvcrYa6HgGgwaa5ZY749ik=", "ips": [ "185.213.155.73", "2a03:1b20:6:f011::f001" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-002", "wgpubkey": "s1c/NsfnqnwQSxao70DY4Co69AFT9e0h88IFuMD5mjs=", "ips": [ "185.213.155.74", "2a03:1b20:6:f011::f101" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-003", "wgpubkey": "vVQKs2TeTbdAvl3sH16UWLSESncXAj0oBaNuFIUkLVk=", "ips": [ "185.209.196.73", "2a03:1b20:6:f011::f201" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-004", "wgpubkey": "tzYLWgBdwrbbBCXYHRSoYIho4dHtrm+8bdONU1I8xzc=", "ips": [ "185.209.196.74", "2a03:1b20:6:f011::f301" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-005", "wgpubkey": "tpobOO6t18CzHjOg0S3RlZJMxd2tz4+BnRYS7NrjTnM=", "ips": [ "185.209.196.75", "2a03:1b20:6:f011::f401" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-006", "wgpubkey": "nAF0wrLG2+avwQfqxnXhBGPUBCvc3QCqWKH4nK5PfEU=", "ips": [ "185.209.196.76", "2a03:1b20:6:f011::f501" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-007", "wgpubkey": "mTmrSuXmTnIC9l2Ur3/QgodGrVEhhIE3pRwOHZpiYys=", "ips": [ "185.209.196.77", "2a03:1b20:6:f011::f601" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-008", "wgpubkey": "+DuVLLPwGNlfZFoI24PRPdaTrO4i+WPDlYaOVcavHDo=", "ips": [ "185.209.196.78", "2a03:1b20:6:f011::f701" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "31173", "owned": true, "hostname": "de-fra-wg-009", "wgpubkey": "flq7zR8W5FxouHBuZoTRHY0A0qFEMQZF5uAgV4+sHVw=", "ips": [ "185.213.155.72", "2a03:1b20:6:f011::f901" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "M247", "hostname": "de-fra-wg-101", "wgpubkey": "wxbDlI3xb+Cc05XKb4usdKSzKe1byK7brmsHU2DJB14=", "ips": [ "146.70.117.2", "2001:ac8:20:270:1::f001" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "M247", "hostname": "de-fra-wg-102", "wgpubkey": "inG8qBhgEFhcs2EZsT9PezeWBI6+9p8tXeo0BojhpBQ=", "ips": [ "146.70.117.130", "2001:ac8:20:270:2::f001" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "xtom", "hostname": "de-fra-wg-301", "wgpubkey": "dNKRyh2MkJGZdg9jyUJtf9w5GHjX3+/fYatg+xi9TUM=", "ips": [ "194.36.25.3", "2a07:fe00:1::a23f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "xtom", "hostname": "de-fra-wg-302", "wgpubkey": "A3DbIgPycEJhJ1fQ4zzcajLOKTZsJMeawjdPQiWav20=", "ips": [ "194.36.25.18", "2a07:fe00:1::a24f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "xtom", "hostname": "de-fra-wg-303", "wgpubkey": "2P+9SjwVCEnMDnBiYfZtQLq9p2S2TFhCM0xJBoevYk4=", "ips": [ "194.36.25.33", "2a07:fe00:1::a25f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "xtom", "hostname": "de-fra-wg-304", "wgpubkey": "VgNcwWy8MRhfEZY+XSisDM1ykX+uXlHQScOLqqGMLkc=", "ips": [ "194.36.25.48", "2a07:fe00:1::a26f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "DataPacket", "hostname": "de-fra-wg-401", "wgpubkey": "AbM8fnQWmmX6Nv0Tz68LigPbGkamJgNjxgzPfENOdXU=", "ips": [ "169.150.201.2", "2a02:6ea0:c762:1::a35f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "DataPacket", "hostname": "de-fra-wg-402", "wgpubkey": "6/PBbPtoeWpJA+HZc9Iqg/PPQWD7mGVvZdwQlr1vtRk=", "ips": [ "169.150.201.15", "2a02:6ea0:c762:2::a36f" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "isp": "DataPacket", "hostname": "de-fra-wg-403", "wgpubkey": "HWzSNMbQOQafkVp68B7aLRirhNJ6x5Wjw8/y7oUuHW0=", "ips": [ "169.150.201.28", "2a02:6ea0:c762:3::a37f" ] }, { "vpn": "wireguard", "country": "Greece", "city": "Athens", "isp": "DataPacket", "hostname": "gr-ath-wg-101", "wgpubkey": "li+thkAD7s6IZDgUoiKw4YSjM/U1q203PuthMzIJIU0=", "ips": [ "149.102.246.2", "2a02:6ea0:f501:2::f001" ] }, { "vpn": "wireguard", "country": "Greece", "city": "Athens", "isp": "DataPacket", "hostname": "gr-ath-wg-102", "wgpubkey": "OL0gbjlNt1s26CDQjRP9wgMZbgYff7/xyUI8ypOn01s=", "ips": [ "149.102.246.15", "2a02:6ea0:f501:3::f001" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "isp": "xtom", "hostname": "hk-hkg-wg-201", "wgpubkey": "Oxh13dmwY6nNUa5rVHr7sLiFOj0fjzsaAUAUV87/nGs=", "ips": [ "103.125.233.18", "2403:2c81:1000::a06f" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "isp": "M247", "hostname": "hk-hkg-wg-301", "wgpubkey": "qbvU06SBHXnqMnpb49rnE0yC4AOWQcWl2bEScu18dh8=", "ips": [ "146.70.224.2", "2001:ac8:a:f::f001" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "isp": "M247", "hostname": "hk-hkg-wg-302", "wgpubkey": "7FADgmd9KyAVs3eFJE/ob9tV3E6m/klONEEIOfCoPTU=", "ips": [ "146.70.224.66", "2001:ac8:a:19::f001" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "isp": "M247", "hostname": "hk-hkg-wg-303", "wgpubkey": "RtTENHB7VBUiowxtdAzopcb2Fvd+OFneN73k13oPUEo=", "ips": [ "146.70.224.196", "2001:ac8:a:1b::f001" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "isp": "M247", "hostname": "hu-bud-wg-101", "wgpubkey": "u+h0GmQJ8UBaMTi2BP9Ls6UUszcGC51y6vTmNr/y+AU=", "ips": [ "146.70.196.194", "2001:ac8:26:55::f001" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "isp": "M247", "hostname": "hu-bud-wg-102", "wgpubkey": "iEWLm2F4xV013ZETeZcT1dyUd5O+JnyndHso8RP8txw=", "ips": [ "146.70.196.130", "2001:ac8:26:54::f001" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "isp": "DataPacket", "hostname": "hu-bud-wg-201", "wgpubkey": "RPhw+caiytSurUMQfZhEFlxGK83xcwWMNtXCkpTqJBI=", "ips": [ "79.127.182.130", "2a02:6ea0:5700:1::f001" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "isp": "DataPacket", "hostname": "hu-bud-wg-202", "wgpubkey": "xiC/w18znzSImAuzMYpP5NH+1T912cwZXo8M1V4Ruiw=", "ips": [ "79.127.182.160", "2a02:6ea0:5700:2::f001" ] }, { "vpn": "wireguard", "country": "Indonesia", "city": "Jakarta", "isp": "Zenlayer", "hostname": "id-jpu-wg-001", "wgpubkey": "XYQvOrRqu8j521Hy/8+jGRDLZoSAssOvCectyKz350Y=", "ips": [ "129.227.46.130", "2602:ffe4:c0d:801d::f001" ] }, { "vpn": "wireguard", "country": "Indonesia", "city": "Jakarta", "isp": "Zenlayer", "hostname": "id-jpu-wg-002", "wgpubkey": "gWsH1w7lTYbsS+WxsE6w6vtXSAJoHM6PhDX5DFMYM1k=", "ips": [ "129.227.46.162", "2602:ffe4:c0d:801e::f101" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "isp": "M247", "hostname": "ie-dub-wg-101", "wgpubkey": "2r0vPpM71ZXpseWXTXw3iwn2sjIHOTpw1V9sp03bLWw=", "ips": [ "146.70.189.2", "2001:ac8:88:107::f001" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "isp": "M247", "hostname": "ie-dub-wg-102", "wgpubkey": "2RSnfqTRb0BL/bPaKGj0OA/qopQaNG1qtzEH2Y8JyjE=", "ips": [ "146.70.189.130", "2001:ac8:88:108::f001" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "isp": "M247", "hostname": "ie-dub-wg-103", "wgpubkey": "/Q7cQuVZo0IYckUncGSzRnQssR1DC5veZWaAnf/yDTI=", "ips": [ "130.195.213.130", "2001:ac8:88:109::f001" ] }, { "vpn": "wireguard", "country": "Israel", "city": "Tel Aviv", "isp": "DataPacket", "hostname": "il-tlv-wg-101", "wgpubkey": "XOedjVJaT2IrEDJbzvtZeL4hP5uPRHzFxvD1cwVwUFo=", "ips": [ "169.150.227.197", "2a02:6ea0:3b00:1::a01f" ] }, { "vpn": "wireguard", "country": "Israel", "city": "Tel Aviv", "isp": "DataPacket", "hostname": "il-tlv-wg-102", "wgpubkey": "UNeML4rXjvOerAstTNf4gG5B+OfjVzjSQrWE6mrswD0=", "ips": [ "169.150.227.210", "2a02:6ea0:3b00:2::a02f" ] }, { "vpn": "wireguard", "country": "Israel", "city": "Tel Aviv", "isp": "DataPacket", "hostname": "il-tlv-wg-103", "wgpubkey": "11FJ/NY3jaAw1PSYG9w7bxsMxAzlI+1p8/juh1LJPT0=", "ips": [ "169.150.227.222", "2a02:6ea0:3b00:3::a03f" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "isp": "DataPacket", "hostname": "it-mil-wg-001", "wgpubkey": "Sa9fFFthvihGMO4cPExJ7ZaWSHNYoXmOqZMvJsaxOVk=", "ips": [ "178.249.211.66", "2a02:6ea0:d509:1::a09f" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "isp": "DataPacket", "hostname": "it-mil-wg-002", "wgpubkey": "RJ7e37UEP6hfyLQM/lJ2K5wcZOJQFhm2VhFaBniH1kg=", "ips": [ "178.249.211.79", "2a02:6ea0:d509:2::a10f" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "isp": "DataPacket", "hostname": "it-mil-wg-003", "wgpubkey": "WOyki5Gzoez07X7D3jAhG68hpoiYIWAx1yypVbkQaVY=", "ips": [ "178.249.211.92", "2a02:6ea0:d509:3::a11f" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "isp": "M247", "hostname": "it-mil-wg-201", "wgpubkey": "XHwDoIVZGoVfUYbfcPiRp1LhaOCDc0A3QrS72i3ztBw=", "ips": [ "146.70.225.2", "2001:ac8:24:17::f001" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "isp": "M247", "hostname": "it-mil-wg-202", "wgpubkey": "y5raL0QZx2CpOozrL+Knmjj7nnly3JKatFnxynjXpE0=", "ips": [ "146.70.225.66", "2001:ac8:24:18::f001" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Palermo", "isp": "DataPacket", "hostname": "it-pmo-wg-001", "wgpubkey": "cE6s9wV8jfAa84sgXWJ5C4d769m5Ki/XA3rxPdMWhVw=", "ips": [ "149.22.91.66", "2a02:6ea0:4f00::f001" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Palermo", "isp": "DataPacket", "hostname": "it-pmo-wg-002", "wgpubkey": "bGtOejMzRDKzFR1gNBAi185dkr/5RtN+QiC8EVl4kU4=", "ips": [ "149.22.91.79", "2a02:6ea0:4f00::f101" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Osaka", "isp": "xtom", "hostname": "jp-osa-wg-001", "wgpubkey": "uhbuY1A7g0yNu0lRhLTi020kYeAx34ED30BA5DQRHFo=", "ips": [ "194.114.136.3", "2403:fbc0:7000::f001" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Osaka", "isp": "xtom", "hostname": "jp-osa-wg-002", "wgpubkey": "wzGXxsYOraTCPZuRxfXVTNmoWsRkMFLqMqDxI4PutBg=", "ips": [ "194.114.136.34", "2403:fbc0:7000::f101" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Osaka", "isp": "xtom", "hostname": "jp-osa-wg-003", "wgpubkey": "Pt18GnBffElW0sqnd6IDRr5r0B/NDezy6NicoPI+fG8=", "ips": [ "194.114.136.65", "2403:fbc0:7000::f201" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Osaka", "isp": "xtom", "hostname": "jp-osa-wg-004", "wgpubkey": "JpDAtRuR39GLFKoQNiKvpzuJ65jOOLD7h85ekZ3reVc=", "ips": [ "194.114.136.96", "2403:fbc0:7000::f301" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "isp": "DataPacket", "hostname": "jp-tyo-wg-001", "wgpubkey": "AUo2zhQ0wCDy3/jmZgOe4QMncWWqrdME7BbY2UlkgyI=", "ips": [ "138.199.21.239", "2a02:6ea0:d31c::a15f" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "isp": "DataPacket", "hostname": "jp-tyo-wg-002", "wgpubkey": "zdlqydCbeR7sG1y5L8sS65X1oOtRKvfVbAuFgqEGhi4=", "ips": [ "138.199.21.226", "2a02:6ea0:d31b::a14f" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "isp": "M247", "hostname": "jp-tyo-wg-201", "wgpubkey": "0j7u9Vd+EsqFs8XeV/T/ZM7gE+TWgEsYCsqcZUShvzc=", "ips": [ "146.70.138.194", "2001:ac8:40:11::b01f" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "isp": "M247", "hostname": "jp-tyo-wg-202", "wgpubkey": "yLKGIH/eaNUnrOEPRtgvC3PSMTkyAFK/0t8lNjam02k=", "ips": [ "146.70.201.2", "2001:ac8:40:13::b02f" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "isp": "M247", "hostname": "jp-tyo-wg-203", "wgpubkey": "tgTYDEfbDgr35h6hYW01MH76CJrwuBvbQFhyVsazEic=", "ips": [ "146.70.201.66", "2001:ac8:40:14::b03f" ] }, { "vpn": "wireguard", "country": "Malaysia", "city": "Kuala Lumpur", "isp": "Zenlayer", "hostname": "my-kul-wg-001", "wgpubkey": "RnwTFcAl6z4UfXio9ApLqlOjBcYvD0gWG0htl6fiCl4=", "ips": [ "98.98.47.130", "2602:ffe4:c20:112::f001" ] }, { "vpn": "wireguard", "country": "Malaysia", "city": "Kuala Lumpur", "isp": "Zenlayer", "hostname": "my-kul-wg-002", "wgpubkey": "BVh+R5uifa9kn6fDNozd1OrnlGlV8qTr/IUIg0PDGl0=", "ips": [ "162.128.129.98", "2602:ffe4:c20:112::f101" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Queretaro", "isp": "DataPacket", "hostname": "mx-qro-wg-001", "wgpubkey": "yxyntWsANEwxeR0pOPNAcfWY7zEVICZe9G+GxortzEY=", "ips": [ "149.88.22.129", "2a02:6ea0:f803::f001" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Queretaro", "isp": "DataPacket", "hostname": "mx-qro-wg-002", "wgpubkey": "kGkalo3qvm8MynKdzwW7CGBYXkqRwGhHfYVssgKOWnU=", "ips": [ "149.88.22.142", "2a02:6ea0:f803:1::f001" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Queretaro", "isp": "DataPacket", "hostname": "mx-qro-wg-003", "wgpubkey": "hRamkTwXw0usPFDorPl2vf1qP8chczEBcqeV5bA1QDA=", "ips": [ "149.88.22.155", "2a02:6ea0:f803:2::f001" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Queretaro", "isp": "DataPacket", "hostname": "mx-qro-wg-004", "wgpubkey": "Q3yqhnYHK/bFjrd6yqti8gSV1gzOwvnl5N5tXuUxMyk=", "ips": [ "149.88.22.168", "2a02:6ea0:f803:3::f001" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-001", "wgpubkey": "UrQiI9ISdPPzd4ARw1NHOPKKvKvxUhjwRjaI0JpJFgM=", "ips": [ "193.32.249.66", "2a03:1b20:3:f011::f001" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-002", "wgpubkey": "DVui+5aifNFRIVDjH3v2y+dQ+uwI+HFZOd21ajbEpBo=", "ips": [ "185.65.134.82", "2a03:1b20:3:f011::a02f" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-003", "wgpubkey": "if4HpJZbN7jft5E9R9wAoTcggIu6eZhgYDvqxnwrXic=", "ips": [ "185.65.134.83", "2a03:1b20:3:f011::f201" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-004", "wgpubkey": "hnRyse6QxPPcZOoSwRsHUtK1W+APWXnIoaDTmH6JsHQ=", "ips": [ "193.32.249.69", "2a03:1b20:3:f011::f301" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-005", "wgpubkey": "33BoONMGCm2vknq2eq72eozRsHmHQY6ZHEEZ4851TkY=", "ips": [ "193.32.249.70", "2a03:1b20:3:f011::f401" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-006", "wgpubkey": "xpZ3ZDEukbqKQvdHwaqKMUhsYhcYD3uLPUh1ACsVr1s=", "ips": [ "185.65.134.86", "2a03:1b20:3:f011::f501" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-007", "wgpubkey": "Os/BwxAIWehlypQ8QjrKVEK5PhY84b413+U3YWZJYXQ=", "ips": [ "185.65.134.76", "2a03:1b20:3:f011::f701" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "31173", "owned": true, "hostname": "nl-ams-wg-008", "wgpubkey": "hf+klJbIyUoGUaFHgac9W+yriwb9uvSnafDfnmEW9Hc=", "ips": [ "193.32.249.73", "2a03:1b20:3:f011::f801" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "xtom", "hostname": "nl-ams-wg-101", "wgpubkey": "m9w2Fr0rcN6R1a9HYrGnUTU176rTZIq2pcsovPd9sms=", "ips": [ "92.60.40.194", "2a0c:59c0:18::a20f" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "xtom", "hostname": "nl-ams-wg-102", "wgpubkey": "uUYbYGKoA6UBh1hfkAz5tAWFv4SmteYC9kWh7/K6Ah0=", "ips": [ "92.60.40.209", "2a0c:59c0:18::a21f" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "xtom", "hostname": "nl-ams-wg-103", "wgpubkey": "CE7mlfDJ4gpwLPB/CyPfIusITnGZwDI9v4IlVueGT24=", "ips": [ "92.60.40.224", "2a0c:59c0:18::a22f" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "DataPacket", "hostname": "nl-ams-wg-201", "wgpubkey": "vt+yTcpxWvH8qiSncd1wSPV/78vt2aE2BBU8ZbG7x1Q=", "ips": [ "169.150.196.2", "2a02:6ea0:c034:1::a30f" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "DataPacket", "hostname": "nl-ams-wg-202", "wgpubkey": "BChJDLOwZu9Q1oH0UcrxcHP6xxHhyRbjrBUsE0e07Vk=", "ips": [ "169.150.196.15", "2a02:6ea0:c034:2::a31f" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "isp": "DataPacket", "hostname": "nl-ams-wg-203", "wgpubkey": "M5z8TKjJYpIJ3FXoXy7k58IUaoVro2tWMKSgC5WIqR8=", "ips": [ "169.150.196.28", "2a02:6ea0:c034:3::a32f" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "isp": "hostuniversal", "hostname": "nz-akl-wg-301", "wgpubkey": "BOEOP01bcND1a0zvmOxRHPB/ObgjgPIzBJE5wbm7B0M=", "ips": [ "103.75.11.50", "2404:f780:5:deb::f001" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "isp": "hostuniversal", "hostname": "nz-akl-wg-302", "wgpubkey": "80WGWgFP9q3eU16MuLJISB1fzAu2LM2heschmokVSVU=", "ips": [ "103.75.11.66", "2404:f780:5:dec::c02f" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "isp": "hostuniversal", "hostname": "nz-akl-wg-303", "wgpubkey": "1G7/wskBBlY77PXMV3sSAv4eCm5IPjxx99Wlfs58QSI=", "ips": [ "103.75.11.98", "2404:f780:5:def::f201" ] }, { "vpn": "wireguard", "country": "Nigeria", "city": "Lagos", "isp": "DataPacket", "hostname": "ng-los-wg-001", "wgpubkey": "nlpbIResE9vYypA9M/tKvfbUamsmCSawTqmq0cbVJjw=", "ips": [ "79.127.149.130", "2a02:6ea0:5400:1::f001" ] }, { "vpn": "wireguard", "country": "Nigeria", "city": "Lagos", "isp": "DataPacket", "hostname": "ng-los-wg-002", "wgpubkey": "Hel+ma9otIsWedjgK6Dp51t/WmUys+Q/hUqpvN7qBXg=", "ips": [ "79.127.149.159", "2a02:6ea0:5400:2::f001" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "isp": "Blix", "owned": true, "hostname": "no-osl-wg-001", "wgpubkey": "jOUZjMq2PWHDzQxu3jPXktYB7EKeFwBzGZx56cTXXQg=", "ips": [ "176.125.235.71", "2a02:20c8:4124::a01f" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "isp": "Blix", "owned": true, "hostname": "no-osl-wg-002", "wgpubkey": "IhhpKphSFWpwja1P4HBctZ367G3Q53EgdeFGZro29Tc=", "ips": [ "176.125.235.72", "2a02:20c8:4124::a02f" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "isp": "Blix", "owned": true, "hostname": "no-osl-wg-003", "wgpubkey": "zOBWmQ3BEOZKsYKbj4dC2hQjxCbr3eKa6wGWyEDYbC4=", "ips": [ "176.125.235.73", "2a02:20c8:4124::a03f" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Stavanger", "isp": "Blix", "owned": true, "hostname": "no-svg-wg-001", "wgpubkey": "kduYoE/b1mA2Pjszx1CzE4Lktsdc2zsUU8Relul2m2U=", "ips": [ "194.127.199.2", "2a02:20c8:4120::a01f" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Stavanger", "isp": "Blix", "owned": true, "hostname": "no-svg-wg-002", "wgpubkey": "U9fbFesIIr2HotWdkfMpKyOEPk+RYtE2oYn3KoLmkj4=", "ips": [ "194.127.199.31", "2a02:20c8:4120::a02f" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Stavanger", "isp": "Blix", "owned": true, "hostname": "no-svg-wg-003", "wgpubkey": "btc4mh3n9jVCW6yikw3cOPct0x3B5cDK+kKnvgCV0S0=", "ips": [ "194.127.199.62", "2a02:20c8:4120::a03f" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Stavanger", "isp": "Blix", "owned": true, "hostname": "no-svg-wg-004", "wgpubkey": "Fu98PLCZw/FTcQqyTy0vzaepkfxuSLAah7wnafGVO1g=", "ips": [ "194.127.199.93", "2a02:20c8:4120::a04f" ] }, { "vpn": "wireguard", "country": "Peru", "city": "Lima", "isp": "DataPacket", "hostname": "pe-lim-wg-001", "wgpubkey": "S4j4wshSstg9Au6ewFWr9vsZ8giovGPpKbKehXN8Nwc=", "ips": [ "95.173.223.130", "2a02:6ea0:5500:1::f001" ] }, { "vpn": "wireguard", "country": "Peru", "city": "Lima", "isp": "DataPacket", "hostname": "pe-lim-wg-002", "wgpubkey": "y7LsVrzYjeMLlTZmVUuuDkFvJp0kONC6+w+wP0gUIyo=", "ips": [ "95.173.223.159", "2a02:6ea0:5500:2::f001" ] }, { "vpn": "wireguard", "country": "Philippines", "city": "Manila", "isp": "Zenlayer", "hostname": "ph-mnl-wg-001", "wgpubkey": "hORxMf/YMmN2/8VWOnTCdgGzGfEyXUEQQ5EBfoCyFDM=", "ips": [ "129.227.118.162", "2602:ffe4:c06:11e::f001" ] }, { "vpn": "wireguard", "country": "Philippines", "city": "Manila", "isp": "Zenlayer", "hostname": "ph-mnl-wg-002", "wgpubkey": "TfNj4SJuIZzaXSxulpNzreDZXcX6GJJj+UYpqA2XMVE=", "ips": [ "156.59.127.194", "2602:ffe4:c06:11e::f101" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "isp": "DataPacket", "hostname": "pl-waw-wg-101", "wgpubkey": "fO4beJGkKZxosCZz1qunktieuPyzPnEVKVQNhzanjnA=", "ips": [ "45.134.212.66", "2a02:6ea0:ce08:1::f001" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "isp": "DataPacket", "hostname": "pl-waw-wg-102", "wgpubkey": "nJEWae9GebEY7yJONXQ1j4gbURV4QULjx388woAlbDs=", "ips": [ "45.134.212.79", "2a02:6ea0:ce08:2::a06f" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "isp": "DataPacket", "hostname": "pl-waw-wg-103", "wgpubkey": "07eUtSNhiJ9dQXBmUqFODj0OqhmbKQGbRikIq9f90jM=", "ips": [ "45.134.212.92", "2a02:6ea0:ce08:3::a07f" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "isp": "M247", "hostname": "pl-waw-wg-201", "wgpubkey": "XwFAczY5LdogFwE9soDecXWqywSCDGuRyJhr/0psI00=", "ips": [ "45.128.38.226", "2a0d:5600:13:67::a01f" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "isp": "M247", "hostname": "pl-waw-wg-202", "wgpubkey": "nyfOkamv1ryTS62lsmyU96cqI0dtqek84DhyxWgAQGY=", "ips": [ "146.70.144.34", "2a0d:5600:13:c47::a02f" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "isp": "DataPacket", "hostname": "pt-lis-wg-201", "wgpubkey": "JCAe7D/owe11Ii2rhpIKhGZvP/V1P1cVZwZAjpSRqmc=", "ips": [ "149.88.20.206", "2a02:6ea0:fb01:1::f001" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "isp": "DataPacket", "hostname": "pt-lis-wg-202", "wgpubkey": "5P4CQYQeSozk/3KQZh/kl7tUMFGgRB60Ttx6x2nh+F8=", "ips": [ "149.88.20.193", "2a02:6ea0:fb01:2::f002" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "isp": "HostRoyale", "hostname": "pt-lis-wg-301", "wgpubkey": "A2+7EIVBsq1jZlnx0AWb8xkoaTkkn8LRFwAl3Qb/xTc=", "ips": [ "185.92.210.195", "2a06:3040:0:1410::f001" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "isp": "HostRoyale", "hostname": "pt-lis-wg-302", "wgpubkey": "4V8TnXninUL+vjZqXKUIFnBPOhjFEicdVHa5ZMZhSzc=", "ips": [ "185.92.210.225", "2a06:3040:0:1410::f101" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "isp": "M247", "hostname": "ro-buh-wg-001", "wgpubkey": "xpKhRTf9JI269S2PujLbrJm1TwIe67HD5CLe+sP4tUU=", "ips": [ "146.70.124.130", "2a04:9dc0:0:133::a01f" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "isp": "M247", "hostname": "ro-buh-wg-002", "wgpubkey": "Ekc3+qU88FuMfkEMyLlgRqDYv+WHJvUsfOMI/C0ydE4=", "ips": [ "146.70.124.194", "2a04:9dc0:0:135::f001" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "isp": "M247", "hostname": "rs-beg-wg-101", "wgpubkey": "Orrce1127WpljZa+xKbF21zJkJ9wM1M3VJ5GJ/UsIDU=", "ips": [ "146.70.193.2", "2001:ac8:7d:37::a01f" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "isp": "M247", "hostname": "rs-beg-wg-102", "wgpubkey": "35lawt+YUx10ELTFhZhg4/xzXRmjxCl/j1O4RK5d60M=", "ips": [ "146.70.193.66", "2001:ac8:7d:38::a02f" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "isp": "DataPacket", "hostname": "sg-sin-wg-001", "wgpubkey": "sFHv/qzG7b6ds5pow+oAR3G5Wqp9eFbBD3BmEGBuUWU=", "ips": [ "138.199.60.2", "2a02:6ea0:d13e:1::a09f" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "isp": "DataPacket", "hostname": "sg-sin-wg-002", "wgpubkey": "WM5I4IFwQcVysM4fF4NXZtQXNrSkqVWkQxNPPygOiF0=", "ips": [ "138.199.60.15", "2a02:6ea0:d13e:2::a10f" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "isp": "DataPacket", "hostname": "sg-sin-wg-003", "wgpubkey": "3HtGdhEXUPKQIDRW49wCUoTK2ZXfq+QfzjfYoldNchg=", "ips": [ "138.199.60.28", "2a02:6ea0:d13e:3::a11f" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "isp": "M247", "hostname": "sg-sin-wg-101", "wgpubkey": "KB6ZA1PAixd74c+mO0VBY4j7LaitK8B4L1APbFIQyQ0=", "ips": [ "146.70.199.194", "2a0d:5600:d:44::a01f" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "isp": "M247", "hostname": "sg-sin-wg-102", "wgpubkey": "qrhHOwk0ree+LFxW6htvGEfVFuhM2efQ/M+4p0sx/gA=", "ips": [ "146.70.199.130", "2a0d:5600:d:43::a02f" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "isp": "DataPacket", "hostname": "sk-bts-wg-001", "wgpubkey": "QEVIaIycN8p5twXCuZeQTEj9utozakw/MU8H6+/whls=", "ips": [ "138.199.34.129", "2a02:6ea0:2901:1::f001" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "isp": "DataPacket", "hostname": "sk-bts-wg-002", "wgpubkey": "JeEuObwimNmoVtPn4kpMI1y1UM+IChGVBLtmP3CNNVQ=", "ips": [ "138.199.34.143", "2a02:6ea0:2901::a02f" ] }, { "vpn": "wireguard", "country": "Slovenia", "city": "Ljubljana", "isp": "HostRoyale", "hostname": "si-lju-wg-001", "wgpubkey": "fXWKnogYH3IORGePtkyFg3r/56ZQGkF6hjdw2svhmw8=", "ips": [ "93.115.0.3", "2a06:3040:7:210::f001" ] }, { "vpn": "wireguard", "country": "Slovenia", "city": "Ljubljana", "isp": "HostRoyale", "hostname": "si-lju-wg-002", "wgpubkey": "HkPoWKRG/KV2C8afaaah9Jl5lYuvJo1loCaFadKDZVU=", "ips": [ "93.115.0.33", "2a06:3040:7:210::f101" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "isp": "DataPacket", "hostname": "za-jnb-wg-001", "wgpubkey": "5dOGXJ9JK/Bul0q57jsuvjNnc15gRpSO1rMbxkf4J2M=", "ips": [ "154.47.30.130", "2a02:6ea0:f206::f001" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "isp": "DataPacket", "hostname": "za-jnb-wg-002", "wgpubkey": "lTq6+yUYfYsXwBpj/u3LnYqpLhW8ZJXQQ19N/ybP2B8=", "ips": [ "154.47.30.143", "2a02:6ea0:f207::f001" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Barcelona", "isp": "HostRoyale", "hostname": "es-bcn-wg-001", "wgpubkey": "asbfbY0oP07dBdmVNDSuO3o5rbkGnR56PkXTGXO7YFg=", "ips": [ "185.188.61.195", "2a06:3040:2:210::f001" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Barcelona", "isp": "HostRoyale", "hostname": "es-bcn-wg-002", "wgpubkey": "SoTWu5Cf7JSfaPVftMrTVzeyICGc7oc+ODl6GfqzUHA=", "ips": [ "185.188.61.225", "2a06:3040:2:210::f101" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Barcelona", "isp": "M247", "hostname": "es-bcn-wg-101", "wgpubkey": "TQDQ/SUW7pme5aRWFT4ugr9YAABS/uwJNZgqYKTM+iU=", "ips": [ "185.253.99.30", "2001:ac8:17:20::f001" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Barcelona", "isp": "M247", "hostname": "es-bcn-wg-102", "wgpubkey": "GqDjspXPQWM3V5nh1M9IhnxgiIwctvxuFyj73oYTRwo=", "ips": [ "185.253.99.98", "2001:ac8:17:20::f101" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "isp": "DataPacket", "hostname": "es-mad-wg-101", "wgpubkey": "oPpPeyiQhUYqtOxwR387dmFfII8OK5LX2RPyns1rx2U=", "ips": [ "45.134.213.194", "2a02:6ea0:c318:1::a06f" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "isp": "DataPacket", "hostname": "es-mad-wg-102", "wgpubkey": "1Wo/cQeVHX2q9k95nxN+48lgkGLsPQ+uesRb/9XdY1Y=", "ips": [ "45.134.213.207", "2a02:6ea0:c318:2::a07f" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "isp": "M247", "hostname": "es-mad-wg-201", "wgpubkey": "LyO4Xs1eV8JwFr63a1FRnKboQn2Tu/oeMzHhbr7Y6GU=", "ips": [ "146.70.128.194", "2001:ac8:23:85::a01f" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "isp": "M247", "hostname": "es-mad-wg-202", "wgpubkey": "iehXacO91FbBqni2IFxedEYPlW2Wvvt9GtRPPPMo9zc=", "ips": [ "146.70.128.226", "2001:ac8:23:86::a02f" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Valencia", "isp": "HostRoyale", "hostname": "es-vlc-wg-001", "wgpubkey": "aEObX8ThiHcN/Y40UqY8dXaGMJsVQUWhrEphbpuQRkw=", "ips": [ "193.19.207.195", "2a06:3040:3:210::f001" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Valencia", "isp": "HostRoyale", "hostname": "es-vlc-wg-002", "wgpubkey": "JEDqyG7iGjy/rYsE/9H7y0Sz8Sl+KWYYUvkPG7NnCjk=", "ips": [ "193.19.207.225", "2a06:3040:3:210::f101" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-001", "wgpubkey": "5JMPeO7gXIbR5CnUa/NPNK4L5GqUnreF0/Bozai4pl4=", "ips": [ "185.213.154.66", "2a03:1b20:5:f011:31::a03f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-002", "wgpubkey": "AtvE5KdPeQtOcE2QyXaPt9eQoBV3GBxzimQ2FIuGQ2U=", "ips": [ "185.213.154.67", "2a03:1b20:5:f011::a05f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-003", "wgpubkey": "BLNHNoGO88LjV/wDBa7CUUwUzPq/fO2UwcGLy56hKy4=", "ips": [ "185.213.154.68", "2a03:1b20:5:f011::a09f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-004", "wgpubkey": "veGD6/aEY6sMfN3Ls7YWPmNgu3AheO7nQqsFT47YSws=", "ips": [ "185.213.154.69", "2a03:1b20:5:f011::a10f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-005", "wgpubkey": "x4h55uXoIIKUqKjjm6PzNiZlzLjxjuAIKzvgU9UjOGw=", "ips": [ "185.209.199.2", "2a03:1b20:5:f011:5::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-006", "wgpubkey": "dcSpHioI+TY37dbZcviFA/sxSUqmpECXRZIapwR8pVg=", "ips": [ "185.209.199.7", "2a03:1b20:5:f011:6::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-007", "wgpubkey": "ywfkKYdoVAnjsSYW145ACtrw3DV8xTzFS1hlIO7QRD4=", "ips": [ "185.209.199.12", "2a03:1b20:5:f011:7::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-008", "wgpubkey": "Vh3Y2LsBG1yN4kDeebOr3J6dFooGJIBTftzVqlWhiD4=", "ips": [ "185.209.199.17", "2a03:1b20:5:f011:8::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Gothenburg", "isp": "31173", "owned": true, "hostname": "se-got-wg-101", "wgpubkey": "B8UVAeNkAW4NiGHd1lpl933Drh4y7pMqpXJpH0SrGjQ=", "ips": [ "185.213.154.70", "2a03:1b20:5:f011::aaaf" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-001", "wgpubkey": "Qn1QaXYTJJSmJSMw18CGdnFiVM0/Gj/15OdkxbXCSG0=", "ips": [ "193.138.218.220", "2a03:1b20:1:f410::a01f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-002", "wgpubkey": "5y66WShsFXqM5K7/4CPEGCWfk7PQyNhVBT2ILjbGm2I=", "ips": [ "193.138.218.80", "2a03:1b20:1:f410::a15f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-003", "wgpubkey": "fZFAcd8vqWOBpRqlXifsjzGf16gMTg2GuwKyZtkG6UU=", "ips": [ "193.138.218.83", "2a03:1b20:1:f410::a18f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-004", "wgpubkey": "m4jnogFbACz7LByjo++8z5+1WV0BuR1T7E1OWA+n8h0=", "ips": [ "193.138.218.130", "2a03:1b20:1:f410:40::a04f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-005", "wgpubkey": "qnJrQEf2JiDHMnMWFFxWz8I9NREockylVgYVE95s72s=", "ips": [ "193.138.218.82", "2a03:1b20:1:f410::a17f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-011", "wgpubkey": "vclzw8ytARhkEqw4cLUJPC3REvMZqWsO+7TYD/U2UVk=", "ips": [ "141.98.255.94", "2a03:1b20:1:f410::f101" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-012", "wgpubkey": "aPcHJj3I1oISU8cwLz2Uyq4ctUOXdTpuS96aW89snUs=", "ips": [ "141.98.255.97", "2a03:1b20:1:f410::f201" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-102", "wgpubkey": "cwglRdgLQ4gMG36TIYlc5OIemLNrYs4UM1KTc8mnzxk=", "ips": [ "45.83.220.69", "2a03:1b20:1:e011::a22f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-103", "wgpubkey": "XscA5gebj51nmhAr6o+aUCnMHWGjbS1Gvvd0tuLRiFE=", "ips": [ "45.83.220.70", "2a03:1b20:1:e011::a23f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-111", "wgpubkey": "vi0PPk0ZCDvDMCSQD0mctmPFFH7NiawLxJquyPIGwAY=", "ips": [ "45.129.59.19", "2a03:1b20:1:e011::f701" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Malmö", "isp": "31173", "owned": true, "hostname": "se-mma-wg-112", "wgpubkey": "bysuFAwy+jwl5IePhY06/j7ByWDsAtU5pKPo44k4qEY=", "ips": [ "45.129.59.129", "2a03:1b20:1:e011::f601" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-001", "wgpubkey": "MkP/Jytkg51/Y/EostONjIN6YaFRpsAYiNKMX27/CAY=", "ips": [ "185.195.233.76", "2a03:1b20:4:f011::999f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-002", "wgpubkey": "q2ZZPfumPaRVl4DJfzNdQF/GHfe6BYAzQ2GZZHb6rmI=", "ips": [ "185.65.135.67", "2a03:1b20:4:f011::a02f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-003", "wgpubkey": "qZbwfoY4LHhDPzUROFbG+LqOjB0+Odwjg/Nv3kGolWc=", "ips": [ "185.65.135.68", "2a03:1b20:4:f011::f201" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-007", "wgpubkey": "YD4k8xaiw2kcRhfLRf2UiRNcDmvvu5NV0xT4d5xOFzU=", "ips": [ "185.65.135.70", "2a03:1b20:4:f011::b07f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-008", "wgpubkey": "4nOXEaCDYBV//nsVXk7MrnHpxLV9MbGjt+IGQY//p3k=", "ips": [ "185.65.135.71", "2a03:1b20:4:f011::f701" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-009", "wgpubkey": "t1XlQD7rER0JUPrmh3R5IpxjUP9YOqodJAwfRorNxl4=", "ips": [ "185.195.233.69", "2a03:1b20:4:f011::a09f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-010", "wgpubkey": "pWhNidLbYca9j66c7iw/3kgtU+UyFRIgc75xy8riqzg=", "ips": [ "185.195.233.70", "2a03:1b20:4:f011::a10f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-011", "wgpubkey": "GqKpm8VwKJQLQEQ0PXbkRueY9hDqiMibr+EpW3n9syk=", "ips": [ "185.195.233.71", "2a03:1b20:4:f011::a11f" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-012", "wgpubkey": "1493vtFUbIfSpQKRBki/1d0YgWIQwMV4AQAvGxjCNVM=", "ips": [ "185.195.233.66", "2a03:1b20:4:f011::fb01" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "31173", "owned": true, "hostname": "se-sto-wg-013", "wgpubkey": "u3pZZjXm0NHCNqPIhKlZ7Vy6CQm5G9YpfgvaywurTho=", "ips": [ "185.195.233.67", "2a03:1b20:4:f011::fe01" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-201", "wgpubkey": "V5RUvv8xp3xYc9b/KoGjTL6EUEb2mTv+8egxuEvUAnc=", "ips": [ "89.37.63.10", "2a02:6ea0:1508:1::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-202", "wgpubkey": "S4fVJ6wjUxrRQsDZwWvKVLtcNBJgoSshkqy3wXWG0UM=", "ips": [ "89.37.63.66", "2a02:6ea0:1508:2::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-203", "wgpubkey": "mkBf9JhtMPHS3w0FfJOwSS5kfmUQ0RGSLXBdxUNlzTs=", "ips": [ "89.37.63.129", "2a02:6ea0:1508:3::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-204", "wgpubkey": "cPhM7ShRWQmKiJtD9Wd1vDh0GwIlaMvFb/WPrP58FH8=", "ips": [ "89.37.63.190", "2a02:6ea0:1508:4::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-205", "wgpubkey": "9V4G5BERZI4xHudcIf5wdDG77XZSY08lVEiXrAGXuEE=", "ips": [ "170.62.100.10", "2a02:6ea0:1508:5::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-206", "wgpubkey": "9KHMuwHqa1Mx2VrKX3cvqLN/ZPDjH5/z0q+IWbfrmW8=", "ips": [ "170.62.100.66", "2a02:6ea0:1508:6::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-207", "wgpubkey": "OatHF/w6fOg8w2415s8zPSXw6LtcYOm+90pqyJ5ZsVY=", "ips": [ "170.62.100.129", "2a02:6ea0:1508:7::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-208", "wgpubkey": "HozGhf1OfjFEASBzjmktB9AKkIgbC+OhSabZKwT6EHc=", "ips": [ "170.62.100.170", "2a02:6ea0:1508:8::f001" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "isp": "DataPacket", "hostname": "se-sto-wg-209", "wgpubkey": "r3360zyxOKxUthx90sfRkLZBt1Q5alk45/H9Dkq5kFM=", "ips": [ "170.62.100.211", "2a02:6ea0:1508:9::f001" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "31173", "owned": true, "hostname": "ch-zrh-wg-001", "wgpubkey": "/iivwlyqWqxQ0BVWmJRhcXIFdJeo0WbHQ/hZwuXaN3g=", "ips": [ "193.32.127.66", "2a03:1b20:a:f011::f001" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "31173", "owned": true, "hostname": "ch-zrh-wg-002", "wgpubkey": "qcvI02LwBnTb7aFrOyZSWvg4kb7zNW9/+rS6alnWyFE=", "ips": [ "193.32.127.67", "2a03:1b20:a:f011::f101" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "31173", "owned": true, "hostname": "ch-zrh-wg-003", "wgpubkey": "5Ms10UxGjCSzwImTrvEjcygsWY8AfMIdYyRvgFuTqH8=", "ips": [ "193.32.127.68", "2a03:1b20:a:f011::f201" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "31173", "owned": true, "hostname": "ch-zrh-wg-004", "wgpubkey": "C3jAgPirUZG6sNYe4VuAgDEYunENUyG34X42y+SBngQ=", "ips": [ "193.32.127.69", "2a03:1b20:a:f011::f301" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "31173", "owned": true, "hostname": "ch-zrh-wg-005", "wgpubkey": "dV/aHhwG0fmp0XuvSvrdWjCtdyhPDDFiE/nuv/1xnRM=", "ips": [ "193.32.127.70", "2a03:1b20:a:f011::f401" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "31173", "owned": true, "hostname": "ch-zrh-wg-006", "wgpubkey": "wDjbvO94t0UI1RlimpEFFv7kJ6DngthvuRX6uBN0wAA=", "ips": [ "193.32.127.84", "2a03:1b20:a:f011::f601" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "PrivateLayer", "hostname": "ch-zrh-wg-201", "wgpubkey": "66NPINP4+1AlojLP0J6O9GxdloiegNnGMV4Yit9Kzg0=", "ips": [ "179.43.189.66", "2a02:29b8:dc01:1832::a1f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "PrivateLayer", "hostname": "ch-zrh-wg-202", "wgpubkey": "gSLSfY2zNFRczxHndeda258z+ayMvd7DqTlKYlKWJUo=", "ips": [ "46.19.136.226", "2a02:29b8:dc01:1831::f002" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "DataPacket", "hostname": "ch-zrh-wg-401", "wgpubkey": "45ud3I5O6GmPXTrMJiqkiPMI/ubucDqzGaiq3CHJXk8=", "ips": [ "138.199.6.194", "2a02:6ea0:d406:1::a18f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "DataPacket", "hostname": "ch-zrh-wg-402", "wgpubkey": "7VCMEE+Oljm/qKfQJSUCOYPtRSwdOnuPyqo5Vob+GRY=", "ips": [ "138.199.6.207", "2a02:6ea0:d406:2::a19f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "DataPacket", "hostname": "ch-zrh-wg-403", "wgpubkey": "Jmhds6oPu6/j94hjllJCIaKLDyWu6V+ZNRrVVFhWJkI=", "ips": [ "138.199.6.220", "2a02:6ea0:d406:3::a20f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "DataPacket", "hostname": "ch-zrh-wg-404", "wgpubkey": "zfNQqDyPmSUY8+20wxACe/wpk4Q5jpZm5iBqjXj2hk8=", "ips": [ "138.199.6.233", "2a02:6ea0:d406:4::a21f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch-zrh-wg-501", "wgpubkey": "HQzvIK88XSsRujBlwoYvvZ7CMKwiYuOqLXyuckkTPHg=", "ips": [ "146.70.134.98", "2001:ac8:28:a7::a36f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch-zrh-wg-502", "wgpubkey": "TOA/MQWS6TzJVEa//GPyaET5d52VpHO2isS4786GGwU=", "ips": [ "146.70.126.162", "2001:ac8:28:a1::f001" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch-zrh-wg-503", "wgpubkey": "ApOUMLFcpTpj/sDAMub0SvASFdsSWtsy+vvw/nWvEmY=", "ips": [ "146.70.126.194", "2001:ac8:28:a2::f001" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch-zrh-wg-504", "wgpubkey": "I5XiRYHPmxnmGtPJ90Yio6QXL441C/+kYV6UH6wU+jk=", "ips": [ "146.70.126.226", "2001:ac8:28:a3::f001" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch-zrh-wg-505", "wgpubkey": "dc16Gcid7jLcHRD7uHma1myX3vWhEy/bZIBtqZw0B2I=", "ips": [ "146.70.134.2", "2001:ac8:28:a4::a33f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch-zrh-wg-506", "wgpubkey": "7xVJLzW0nfmACr1VMc+/SiSMFh0j0EI3DrU/8Fnj1zM=", "ips": [ "146.70.134.34", "2001:ac8:28:a5::a34f" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "isp": "M247", "hostname": "ch-zrh-wg-507", "wgpubkey": "RNTpvmWTyjNf8w9qdP+5XlFnyAk5TrVvT+CRa8a0zys=", "ips": [ "146.70.134.66", "2001:ac8:28:a6::a35f" ] }, { "vpn": "wireguard", "country": "Thailand", "city": "Bangkok", "isp": "Zenlayer", "hostname": "th-bkk-wg-001", "wgpubkey": "zX6pm3TVJe7rjQ9GrFH1IY29vw/PJL6LGh3/ALxEyx4=", "ips": [ "156.59.50.194", "2602:ffe4:c09:10a::f001" ] }, { "vpn": "wireguard", "country": "Thailand", "city": "Bangkok", "isp": "Zenlayer", "hostname": "th-bkk-wg-002", "wgpubkey": "L8CCv3NWDaMyUh4dxO44LSy07ETWCcWBeeGFyQZIlyo=", "ips": [ "156.59.50.226", "2602:ffe4:c09:109::f101" ] }, { "vpn": "wireguard", "country": "Turkey", "city": "Istanbul", "isp": "DataPacket", "hostname": "tr-ist-wg-001", "wgpubkey": "jPhK/ziQfJ1Z5GCPj+qR3A7YV2mIQSQtEPCRuG7TUW8=", "ips": [ "149.102.229.129", "2a02:6ea0:e813::f001" ] }, { "vpn": "wireguard", "country": "Turkey", "city": "Istanbul", "isp": "DataPacket", "hostname": "tr-ist-wg-002", "wgpubkey": "TDHn9OvFYoHh9nwlYG7OCpPRvCjfODUOksSQPzhguTg=", "ips": [ "149.102.229.158", "2a02:6ea0:e813:1::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Glasgow", "isp": "HostRoyale", "hostname": "gb-glw-wg-001", "wgpubkey": "xCPSxGj0QVKC637D8HpRsUUCaSfgAF4ephG/CjhQ2kU=", "ips": [ "185.201.188.3", "2a06:3040:d:410::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Glasgow", "isp": "HostRoyale", "hostname": "gb-glw-wg-002", "wgpubkey": "tX+LKwiFvZhGtbuJq8e62+/vhogHNqdAdjHeoOlWqws=", "ips": [ "185.201.188.33", "2a06:3040:d:410::f101" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-001", "wgpubkey": "IJJe0TQtuQOyemL4IZn6oHEsMKSPqOuLfD5HoAWEPTY=", "ips": [ "141.98.252.130", "2a03:1b20:7:f011::a01f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-002", "wgpubkey": "J57ba81Q8bigy9RXBXvl0DgABTrbl81nb37GuX50gnY=", "ips": [ "141.98.252.222", "2a03:1b20:7:f011::a02f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-003", "wgpubkey": "VZwE8hrpNzg6SMwn9LtEqonXzSWd5dkFk62PrNWFW3Y=", "ips": [ "185.195.232.66", "2a03:1b20:7:f011::a11f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-004", "wgpubkey": "PLpO9ikFX1garSFaeUpo7XVSMrILrTB8D9ZwQt6Zgwk=", "ips": [ "185.195.232.67", "2a03:1b20:7:f011::a12f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-005", "wgpubkey": "bG6WulLmMK408n719B8nQJNuTRyRA3Qjm7bsm9d6v2M=", "ips": [ "185.195.232.68", "2a03:1b20:7:f011::a13f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-006", "wgpubkey": "INRhM0h4T1hi9j28pcC+vRv47bp7DIsNKtagaFZFSBI=", "ips": [ "185.195.232.69", "2a03:1b20:7:f011::a14f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-007", "wgpubkey": "MVqe9e9aDwfFuvEhEn4Wd/zWV3cmiCX9fZMWetz+23A=", "ips": [ "185.195.232.70", "2a03:1b20:7:f011::a15f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "31173", "owned": true, "hostname": "gb-lon-wg-008", "wgpubkey": "uHkxYjfx6yzPHSdyqYqSEHsgFNFV8QCSV6aghuQK3AA=", "ips": [ "141.98.252.138", "2a03:1b20:7:f011::f801" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "xtom", "hostname": "gb-lon-wg-201", "wgpubkey": "b71Y8V/vVwNRGkL4d1zvApDVL18u7m31dN+x+i5OJVs=", "ips": [ "185.248.85.3", "2a0b:89c1:3::a33f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "xtom", "hostname": "gb-lon-wg-202", "wgpubkey": "+iQWuT3wb2DCy1u2eUKovhJTCB4aUdJUnpxGtONDIVE=", "ips": [ "185.248.85.18", "2a0b:89c1:3::a34f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "xtom", "hostname": "gb-lon-wg-203", "wgpubkey": "G7XDQqevQOw1SVL7Iarn9PM+RvmI6H/CfkmahBYEG0g=", "ips": [ "185.248.85.33", "2a0b:89c1:3::a35f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "xtom", "hostname": "gb-lon-wg-204", "wgpubkey": "tJVHqpfkV2Xgmd4YK60aoErSt6PmJKJjkggHNDfWwiU=", "ips": [ "185.248.85.48", "2a0b:89c1:3::a36f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "M247", "hostname": "gb-lon-wg-301", "wgpubkey": "Gn9WbiHw83r8BI+v/Usx3mSR+TpMAWLFFz0r9Lfy7XQ=", "ips": [ "146.70.119.66", "2001:ac8:31:f007::a39f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "M247", "hostname": "gb-lon-wg-302", "wgpubkey": "w1EhKvpp4ZktxiXbuvhb09j4DblrYz3b/SheVywFakI=", "ips": [ "146.70.119.2", "2001:ac8:31:f005::a37f" ] }, { "vpn": "wireguard", "country": "UK", "city": "London", "isp": "M247", "hostname": "gb-lon-wg-304", "wgpubkey": "nirHSVXCvnxR3aIW95BN0YV02vW/2I7DaeSexqgHW1I=", "ips": [ "146.70.119.162", "2001:ac8:31:f00a::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-001", "wgpubkey": "Q2khJLbTSFxmppPGHgq2HdxMQx7CczPZCgVpYZMoNnM=", "ips": [ "146.70.133.98", "2001:ac8:8b:2d::a47f" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-002", "wgpubkey": "SkERuKByX8fynFxSFAJVjUFJAeu9b/dfW2FynTM7XAk=", "ips": [ "146.70.132.130", "2001:ac8:8b:26::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-003", "wgpubkey": "c+RjxBk+wZCv0s4jffQesHdInakRVR3oV0IhpVo0WRY=", "ips": [ "146.70.132.162", "2001:ac8:8b:27::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-004", "wgpubkey": "DiMqK85O8U1T65HdVgOGh9uI63I3by9Dt6Shik2xbyM=", "ips": [ "146.70.132.194", "2001:ac8:8b:28::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-005", "wgpubkey": "kbVlSaqHQSpnewQn1X0j5R+WKiSW2e2Gq+I4XZj3Bjk=", "ips": [ "146.70.132.226", "2001:ac8:8b:29::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-006", "wgpubkey": "zKOZzAitVBxfdxtXgGIyk7zmTtoHrVts7RQGrtsRIxo=", "ips": [ "146.70.133.2", "2001:ac8:8b:2a::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-007", "wgpubkey": "ANaRAtjxqpPgp7r9VjTDfnBMis+MzSgCXc7TZMa0Vno=", "ips": [ "146.70.133.34", "2001:ac8:8b:2b::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-008", "wgpubkey": "2bciRobW0TPtjrZ2teilr+7PjyiBMUGfixvAKOE52Xo=", "ips": [ "146.70.133.66", "2001:ac8:8b:2c::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "M247", "hostname": "gb-mnc-wg-009", "wgpubkey": "+XsiGXrwqMIgHAnCagmKZZvWJwWb0kifQ/HreBglAzI=", "ips": [ "146.70.132.98", "2001:ac8:8b:25::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "Veloxserv", "hostname": "gb-mnc-wg-201", "wgpubkey": "x3APiw/mxJzdD+3WAPxTFnvOZHVotm6SGomHtMoR4Hg=", "ips": [ "167.160.13.3", "2a03:ee40:3304::f001" ] }, { "vpn": "wireguard", "country": "UK", "city": "Manchester", "isp": "Veloxserv", "hostname": "gb-mnc-wg-202", "wgpubkey": "OpQgffPufxbHQUbItRoezS2V+yAEBKZ10jfU82YIByI=", "ips": [ "167.160.13.127", "2a03:ee40:3304::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-002", "wgpubkey": "UUCBSYnGq+zEDqA6Wyse3JXv8fZuqKEgavRZTnCXlBg=", "ips": [ "198.54.135.66", "2607:9000:9000:13::b47f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-003", "wgpubkey": "0s0NdIzo+pq0OiHstZHqapYsdevGQGopQ5NM54g/9jo=", "ips": [ "198.54.135.98", "2607:9000:9000:14::b48f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-004", "wgpubkey": "TvqnL6VkJbz0KrjtHnUYWvA7zRt9ysI64LjTOx2vmm4=", "ips": [ "198.54.135.130", "2607:9000:9000:15::b49f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "DataPacket", "hostname": "us-qas-wg-101", "wgpubkey": "JEuuPzZE8uE53OFhd3YFiZuwwANLqwmdXWMHPUbBwnk=", "ips": [ "185.156.46.130", "2a02:6ea0:e206:1::a01f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "DataPacket", "hostname": "us-qas-wg-102", "wgpubkey": "5hlEb3AjTzVIJyYWCYvJvbgA4p25Ltfp2cYnys90LQ0=", "ips": [ "185.156.46.143", "2a02:6ea0:e206:2::a02f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "DataPacket", "hostname": "us-qas-wg-103", "wgpubkey": "oD9IFZsA5sync37K/sekVXaww76MwA3IvDRpR/irZWQ=", "ips": [ "185.156.46.156", "2a02:6ea0:e206:3::a03f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "HostRoyale", "hostname": "us-qas-wg-201", "wgpubkey": "no0QE15NRHLECYe/B976IH9mLn22QecYBbcYl3LZhD0=", "ips": [ "103.81.230.3", "2a01:4740:1::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "HostRoyale", "hostname": "us-qas-wg-203", "wgpubkey": "tI5F6pIZMEf0aJUTG/I2ZvYkkJDJpOxVakObTLLmBAI=", "ips": [ "103.81.231.3", "2a01:4740:1::f201" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "HostRoyale", "hostname": "us-qas-wg-204", "wgpubkey": "2bvhh22EcdV3MIuIJze47gD2KmXpplYrNbCjNff2ID8=", "ips": [ "103.81.231.127", "2a01:4740:1::f301" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-301", "wgpubkey": "WUF0hoTY+kiklSDjMt2Z9kuebB6L/xTm5LcdNbwnslk=", "ips": [ "23.234.96.2", "2607:9000:900:31::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-302", "wgpubkey": "vwIDgSCPbEzumzi/XveunLso8yzLdOP4OdZCHFYsbkg=", "ips": [ "23.234.96.127", "2607:9000:900:32::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-303", "wgpubkey": "eym7onKZRi6uTtIA7SCxON/1q6zln3o5mYeYlasMeR8=", "ips": [ "23.234.97.2", "2607:9000:900:33::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-304", "wgpubkey": "D3xigYvUQnLnKBVNQ7KpaWpuIbGxHHB1mb/+nSf3QXI=", "ips": [ "23.234.97.127", "2607:9000:900:34::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-305", "wgpubkey": "hOuBVCXBzSA2eDx1cuAozt1B7Cg9M9IGCS6tedZHEkE=", "ips": [ "23.234.98.2", "2607:9000:900:35::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-306", "wgpubkey": "5J/CzkztJt5djDo/UiHA0jQwMOr5b7SfeY77TWmcVF0=", "ips": [ "23.234.98.127", "2607:9000:900:36::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-307", "wgpubkey": "aVmjjHrEAPxxg3l/19K+WSXjH4bKBpfaKkDI+6+umkc=", "ips": [ "23.234.99.2", "2607:9000:900:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Ashburn VA", "isp": "Tzulo", "hostname": "us-qas-wg-308", "wgpubkey": "lXSNRlfRVmeljwu0y7m4+M2OhveCbaMRewTbssgHDyY=", "ips": [ "23.234.99.127", "2607:9000:900:38::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "DataPacket", "hostname": "us-atl-wg-001", "wgpubkey": "nvyBkaEXHwyPBAm8spGB0TFzf2W5wPAl8EEuJ0t+bzs=", "ips": [ "45.134.140.130", "2a02:6ea0:c122:1::b79f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "DataPacket", "hostname": "us-atl-wg-002", "wgpubkey": "ECeGYeh8CfPJO3v56ucCDdl+PlKcj2bBszUGkT+hVWQ=", "ips": [ "45.134.140.143", "2a02:6ea0:c122:2::b80f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "100TB", "hostname": "us-atl-wg-301", "wgpubkey": "SUO0TkKNce4tNTHB3F7PrlvkUzAQeLBSefsgbVnbTkM=", "ips": [ "67.213.209.116", "2606:2e00:8000:4::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "100TB", "hostname": "us-atl-wg-302", "wgpubkey": "OODmjMlAuaUXGeTUzwagEiG42GF3m0ZlHh+3Ssw1Ckg=", "ips": [ "67.213.209.117", "2606:2e00:8000:4::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "100TB", "hostname": "us-atl-wg-303", "wgpubkey": "IR4ZTWn7TBujt2nMDoB9xYISoVigWYTRyaG8mHLji1o=", "ips": [ "67.213.209.118", "2606:2e00:8000:4::f201" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "100TB", "hostname": "us-atl-wg-304", "wgpubkey": "1JswEeh7qEEq0oy2sQBeqg+QjNkTJRsZ/N9/CN92SCs=", "ips": [ "67.213.209.119", "2606:2e00:8000:4::f301" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "100TB", "hostname": "us-atl-wg-305", "wgpubkey": "wGxVyRjNKWba7RidWKab0jPpdNKQAgeLFzwx/bz3CWQ=", "ips": [ "67.213.209.120", "2606:2e00:8000:4::f401" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "100TB", "hostname": "us-atl-wg-306", "wgpubkey": "Q8oqrXk9nC9+94GLVUXJ7E8xtV10ggdzQIiQgZI3Em4=", "ips": [ "67.213.209.121", "2606:2e00:8000:4::f501" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-401", "wgpubkey": "49LoowbQpQfc/Yw+1DZ0A/Gien3wRnxwJzvo7Gz8Zhw=", "ips": [ "23.234.108.3", "2607:9000:c00:31::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-402", "wgpubkey": "9CYtFK8cSKxzEiFYpiCuKgYnjMO5Jqri2iFiG2lDUlM=", "ips": [ "23.234.108.127", "2607:9000:c00:32::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-403", "wgpubkey": "a64LFZfr0htAq1mk5EvVPmQPi52oboISpVUHaYKGE1E=", "ips": [ "23.234.109.3", "2607:9000:c00:33::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-404", "wgpubkey": "kYm0GM0/fD37iCZM3+60vAxRV1w/PUW+WQkYV14QZFo=", "ips": [ "23.234.109.127", "2607:9000:c00:34::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-405", "wgpubkey": "643HR3VhN/WVydahUwuKL/e8jT8UNDHduBfDPMF/2E8=", "ips": [ "23.234.110.3", "2607:9000:c00:35::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-406", "wgpubkey": "spmw1nZv6lgKC/T1KMSuLKyAfCifmrxCdXvVPNhQFCY=", "ips": [ "23.234.110.127", "2607:9000:c00:36::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-407", "wgpubkey": "e2UcVruvaIHcCXYjaHe6alKbZW/Qc9lbYzYh1AckWEU=", "ips": [ "23.234.111.3", "2607:9000:c00:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Atlanta GA", "isp": "Tzulo", "hostname": "us-atl-wg-408", "wgpubkey": "x3sKDqtdNIUhOjCiZCzMSZmoMps20J0JloSQMebYK2o=", "ips": [ "23.234.111.127", "2607:9000:c00:38::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Boston MA", "isp": "HostRoyale", "hostname": "us-bos-wg-001", "wgpubkey": "CsysTnZ0HvyYRjsKMPx60JIgy777JhD0h9WpbHbV83o=", "ips": [ "43.225.189.131", "2a06:3040:12:610::a01f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Boston MA", "isp": "DataPacket", "hostname": "us-bos-wg-101", "wgpubkey": "oxJ2PIqrQOmS0uiyXvnxT64E1uZnjZDWPbP/+APToAE=", "ips": [ "149.40.50.98", "2a02:6ea0:f901::a01f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Boston MA", "isp": "DataPacket", "hostname": "us-bos-wg-102", "wgpubkey": "wcmmadJObux2/62ES+QbIO21BkU7p2I0s6n4WNZZgW0=", "ips": [ "149.40.50.112", "2a02:6ea0:f901:1::a02f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "DataPacket", "hostname": "us-chi-wg-201", "wgpubkey": "+Xx2mJnoJ+JS11Z6g8mp6aUZV7p6DAN9ZTAzPaHakhM=", "ips": [ "87.249.134.1", "2a02:6ea0:c61f::b63f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "DataPacket", "hostname": "us-chi-wg-203", "wgpubkey": "V0ilKm3bVqt0rmJ80sP0zSVK4m6O3nADi88IQAL5kjw=", "ips": [ "87.249.134.27", "2a02:6ea0:c61f:2::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-301", "wgpubkey": "g9Dlad9R9OcM9w1yu3gq9pQWARQBc3Muj4KfeRY1p20=", "ips": [ "68.235.46.2", "2607:9000:0:101::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-302", "wgpubkey": "rEVQ7I5Ckvg44uLaSg1l085FcQvFHfM01hMfHxyAQz0=", "ips": [ "68.235.46.33", "2607:9000:0:102::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-303", "wgpubkey": "DfmNHT84TTS6JcJJfZJwT7tZZVgKIKRJU/2AE5sJ6A4=", "ips": [ "68.235.46.64", "2607:9000:0:103::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-304", "wgpubkey": "Tr2rkoiqX7bERbeLMDw9CLiTaB0dp9/Fov/Ytz3C+xY=", "ips": [ "68.235.46.95", "2607:9000:0:104::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-305", "wgpubkey": "jx/3CJiJRozty6hUTs40M/Swhfcch0z3yElmS1VKoVg=", "ips": [ "68.235.46.126", "2607:9000:0:105::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-306", "wgpubkey": "WlEbNkNAx/186YZH/UPE6YWkMyAMxRpMRP+IqWrq+TE=", "ips": [ "68.235.46.157", "2607:9000:0:106::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-307", "wgpubkey": "U9UAYlVm8nXZjWPrF/vbb1P9oqSRmHo+IfK52yDYpGo=", "ips": [ "68.235.46.188", "2607:9000:0:107::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-308", "wgpubkey": "gJsL4BfGcf2QOLGY1Std2Mjg6V2t2w7T2FScANlkJ2I=", "ips": [ "68.235.46.209", "2607:9000:0:108::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-309", "wgpubkey": "HMvcz+L7tNQc6FRMkkRDV7BUPzBH8SW74gN7yarX+hk=", "ips": [ "173.249.252.2", "2607:9000:100:41::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-310", "wgpubkey": "bJLgTMbt7cx1lKyWzOwW3+Lqc0n6OOXu/iTerXZxawY=", "ips": [ "173.249.252.127", "2607:9000:100:42::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-311", "wgpubkey": "9oEgVktX3TUJI5XPWnvVHszj1Q44ix6VDN0CqS0eglc=", "ips": [ "173.249.253.2", "2607:9000:100:43::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-312", "wgpubkey": "XzMA3EWGePHQ6ko5XImi4m3TphQqjq9++A8XPfre/0A=", "ips": [ "173.249.253.127", "2607:9000:100:44::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-313", "wgpubkey": "/xG21lmyVnh9eSbTP2iYWCM4SIw1QCkKyFKGBkoJlXM=", "ips": [ "173.249.254.2", "2607:9000:100:45::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-314", "wgpubkey": "2UyKDI5jY9Nlys5aiOUh8piEfF0wFBZsk7WToNQ8HTk=", "ips": [ "173.249.254.127", "2607:9000:100:46::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-315", "wgpubkey": "q8TC/ILZWlaydPdkJLkL/pWB8qrK0dWkKtZMGqEElh8=", "ips": [ "173.249.255.2", "2607:9000:100:47::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Chicago IL", "isp": "Tzulo", "hostname": "us-chi-wg-316", "wgpubkey": "5oGrphw1JoWMIeJUHytMdOKvyxx5P4l7OyP/uTYDmyg=", "ips": [ "173.249.255.127", "2607:9000:100:48::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "M247", "hostname": "us-dal-wg-001", "wgpubkey": "EAzbWMQXxJGsd8j2brhYerGB3t5cPOXqdIDFspDGSng=", "ips": [ "146.70.211.66", "2001:ac8:9a:76::1f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "M247", "hostname": "us-dal-wg-002", "wgpubkey": "OYG1hxzz3kUGpVeGjx9DcCYreMO3S6tZN17iHUK+zDE=", "ips": [ "146.70.211.2", "2001:ac8:9a:75::2f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "M247", "hostname": "us-dal-wg-003", "wgpubkey": "jn/i/ekJOkkRUdMj2I4ViUKd3d/LAdTQ+ICKmBy1tkM=", "ips": [ "146.70.211.130", "2001:ac8:9a:78::3f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "DataPacket", "hostname": "us-dal-wg-401", "wgpubkey": "xZsnCxFN7pOvx6YlTbi92copdsY5xgekTCp//VUMyhE=", "ips": [ "37.19.200.156", "2a02:6ea0:d20c:3::b72f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "DataPacket", "hostname": "us-dal-wg-402", "wgpubkey": "sPQEji8BhxuM/Za0Q0/9aWYxyACtQF0qRpzaBLumEzo=", "ips": [ "37.19.200.143", "2a02:6ea0:d20c:2::b71f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "DataPacket", "hostname": "us-dal-wg-403", "wgpubkey": "4s9JIhxC/D02tosXYYcgrD+pHI+C7oTAFsXzVisKjRs=", "ips": [ "37.19.200.130", "2a02:6ea0:d20c:1::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "100TB", "hostname": "us-dal-wg-502", "wgpubkey": "7RegQnJ70PNlB0bpICSlc/W48GCtzszhSelTdlK5QQ0=", "ips": [ "206.217.206.47", "2606:2e00:8007:a:ae1f:6bff:fef5:7b21" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "100TB", "hostname": "us-dal-wg-503", "wgpubkey": "si+P5Ef8D21CAkzh9NgrnIhbZDBcFxoYDaN6amSTkWE=", "ips": [ "206.217.206.67", "2606:2e00:8007:a:ae1f:6bff:fef5:7beb" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "100TB", "hostname": "us-dal-wg-504", "wgpubkey": "YROBTYZewygT97VTgMHxEwqaUiAjAvsuwTsuh5IBH1Y=", "ips": [ "206.217.206.87", "2606:2e00:8007:a:ae1f:6bff:fef5:7b1b" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "100TB", "hostname": "us-dal-wg-505", "wgpubkey": "bf59QZip/y9tvCF6S9pir32LuFtvWH7nayqhzplyGkQ=", "ips": [ "206.217.206.107", "2606:2e00:8007:a:ae1f:6bff:fef5:7983" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "100TB", "hostname": "us-dal-wg-506", "wgpubkey": "ry32nhX3WEpktDBR8CnYNbAnm3NOGBUtXmxomWZjKGU=", "ips": [ "206.217.206.4", "2606:2e00:8007:a:ae1f:6bff:fef5:7b8d" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "100TB", "hostname": "us-dal-wg-507", "wgpubkey": "7v5alccqwh+9jA+hRqwc1uZIEebXs9g5i/jH29Gr5k0=", "ips": [ "206.217.206.16", "2606:2e00:8007:a:ae1f:6bff:fef5:7b27" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "HostRoyale", "hostname": "us-dal-wg-601", "wgpubkey": "353XrBhmW0VisDN/ztYLb7WwnxQUTnL9Ys5FBPUHHVw=", "ips": [ "103.102.246.3", "2a01:4740:2::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "HostRoyale", "hostname": "us-dal-wg-602", "wgpubkey": "Vm9kQsUFIGgNeb+NBrY0KZpW51dC84cAQWMY9eMa8Ho=", "ips": [ "103.102.246.127", "2a01:4740:2::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "HostRoyale", "hostname": "us-dal-wg-603", "wgpubkey": "Y5SK28yMGjcZVByWZkMb24KdmbmY07mDnwLN6817yEE=", "ips": [ "103.102.247.3", "2a01:4740:2::f201" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "HostRoyale", "hostname": "us-dal-wg-604", "wgpubkey": "7Wyh9lX1nIkKfIpwUywcSUVF8pOxP0c04EehfEeIWg4=", "ips": [ "103.102.247.127", "2a01:4740:2::f301" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-701", "wgpubkey": "pl4AW+ZGaOknJlgTbACqwihOe+A3GC5aALB74RLTFF8=", "ips": [ "23.234.104.2", "2607:9000:b00:31::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-702", "wgpubkey": "UNyJnd4U9T7P+v1/NZzIBPMl83+maIY+J9NWTP0bskc=", "ips": [ "23.234.104.127", "2607:9000:b00:32::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-703", "wgpubkey": "A+PTuYy2zuYfHcKs9VZU7bgXSC0/PNndLuUD6xxgaRQ=", "ips": [ "23.234.105.2", "2607:9000:b00:33::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-704", "wgpubkey": "DlDMRNqq5oppRQaCWz8XKAccxtjCW2jSjBWGdY77BQw=", "ips": [ "23.234.105.127", "2607:9000:b00:34::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-705", "wgpubkey": "vaI2uM3xjXYxvtWMkAwRwuWMI/vlJNxsfwTAILvUNHM=", "ips": [ "23.234.106.2", "2607:9000:b00:35::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-706", "wgpubkey": "vO4TIJsyvNnSH+m9iwoM1BLJokFa80YsCpMjnC8FMzc=", "ips": [ "23.234.106.127", "2607:9000:b00:36::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-707", "wgpubkey": "MnFc+hUAUSIID/PykPuUPoYlMbRBbFkGK1nIlHSeJEs=", "ips": [ "23.234.107.2", "2607:9000:b00:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Dallas TX", "isp": "Tzulo", "hostname": "us-dal-wg-708", "wgpubkey": "I8b0Y+odQGMzuMQi+P2fbZF+FiR3rmyZsAc1SIGzNUo=", "ips": [ "23.234.107.127", "2607:9000:b00:38::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "DataPacket", "hostname": "us-den-wg-101", "wgpubkey": "74U+9EQrMwVOafgXuSp8eaKG0+p4zjSsDe3J7+ojhx0=", "ips": [ "37.19.210.1", "2a02:6ea0:d70a::b57f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "DataPacket", "hostname": "us-den-wg-102", "wgpubkey": "T44stCRbQXFCBCcpdDbZPlNHp2eZEi91ooyk0JDC21E=", "ips": [ "37.19.210.14", "2a02:6ea0:d70a:1::b58f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "DataPacket", "hostname": "us-den-wg-103", "wgpubkey": "Az+PGHQ0xFElmRBv+PKZuRnEzKPrPtUpRD3vpxb4si4=", "ips": [ "37.19.210.27", "2a02:6ea0:d70a:2::b59f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-201", "wgpubkey": "MsF1hhYtyCsvPt4B8f48biVcVYd692STflhcbKwTGAw=", "ips": [ "23.234.68.2", "2607:9000:2000:41::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-202", "wgpubkey": "YP20qT+/cY/sbBhlXo6fWZlfVhRU+emQlZ1am+vUNnw=", "ips": [ "23.234.68.127", "2607:9000:2000:42::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-203", "wgpubkey": "D8TSWEfmRIm1qMS0RgO8uireFMMZCMi+XxhIJ2jPBEU=", "ips": [ "23.234.69.2", "2607:9000:2000:43::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-204", "wgpubkey": "DZcEpwNSf+6BoDcHknHBVPwAA0ZJjz7DgQ+llATpAzg=", "ips": [ "23.234.69.127", "2607:9000:2000:44::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-205", "wgpubkey": "0LQQJLKBZD0Wf0s0nwFfyMW0MMEKoxNPZ14ZbxkogiY=", "ips": [ "23.234.70.2", "2607:9000:2000:45::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-206", "wgpubkey": "Y4waCBM7GE9iOT+xl9PcZ2mNKGiawEOBv8UkH84CaAo=", "ips": [ "23.234.70.127", "2607:9000:2000:46::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-207", "wgpubkey": "nUnmeY34CDLjW4Q3TAbJQ168jVXmkY4MVAp28rmpzEc=", "ips": [ "23.234.71.2", "2607:9000:2000:47::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Denver CO", "isp": "Tzulo", "hostname": "us-den-wg-208", "wgpubkey": "Fo6J7nLUeSnNPenB1NiPoivVod3m4fN4OE5yjafxYXY=", "ips": [ "23.234.71.127", "2607:9000:2000:48::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Houston TX", "isp": "DataPacket", "hostname": "us-hou-wg-001", "wgpubkey": "NKscQ4mm24nsYWfpL85Cve+BKIExR0JaysldUtVSlzg=", "ips": [ "37.19.221.130", "2a02:6ea0:e001::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Houston TX", "isp": "DataPacket", "hostname": "us-hou-wg-002", "wgpubkey": "tzSfoiq9ZbCcE5I0Xz9kCrsWksDn0wgvaz9TiHYTmnU=", "ips": [ "37.19.221.143", "2a02:6ea0:e001:1::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Houston TX", "isp": "DataPacket", "hostname": "us-hou-wg-003", "wgpubkey": "fNSu30TCgbADxNKACx+5qWY6XGJOga4COmTZZE0k0R4=", "ips": [ "37.19.221.156", "2a02:6ea0:e001:2::b55f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Houston TX", "isp": "DataPacket", "hostname": "us-hou-wg-004", "wgpubkey": "NkZMYUEcHykPkAFdm3dE8l2U9P2mt58Dw6j6BWhzaCc=", "ips": [ "37.19.221.169", "2a02:6ea0:e001:3::b56f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-001", "wgpubkey": "0EwMQYJ2uo6xu0C3lOEfsxMdc4NpFOURVc0JPJqkhlI=", "ips": [ "23.234.116.3", "2607:9000:e00:2::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-002", "wgpubkey": "XeYfktwZerrhrXzVVEd9FQUw5MaUwv2gZmkTJWK8wSU=", "ips": [ "23.234.116.127", "2607:9000:e00:3::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-003", "wgpubkey": "FOPZvXEnM1XWHH+WY17JX25N4EwJz6SSmqmAxP5y7CA=", "ips": [ "23.234.117.3", "2607:9000:e00:4::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-004", "wgpubkey": "8ueNKHj+2nbTpnnv4MpxY98VrhtIKSMMwh0R9HF6iyE=", "ips": [ "23.234.117.127", "2607:9000:e00:5::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-005", "wgpubkey": "KHbQz9XJVVj5M/sK3azWfgNyybdLNOjXahnHIzYYqXY=", "ips": [ "23.234.118.3", "2607:9000:e00:6::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-006", "wgpubkey": "bQWDsoitERBoPnP0AXI/jCUhk4AX8cMFbhCW93wn3HM=", "ips": [ "23.234.118.127", "2607:9000:e00:7::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-007", "wgpubkey": "e7BOh4K+tNWSnwUMWKI7yDCiskyamqXtpLjcg00KTn8=", "ips": [ "23.234.119.3", "2607:9000:e00:8::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "Tzulo", "hostname": "us-mkc-wg-008", "wgpubkey": "9PByPs4okeg0lWhPYkW7tuyw1XKy5+BKhgVuQbxSOk4=", "ips": [ "23.234.119.127", "2607:9000:e00:9::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "hostuniversal", "hostname": "us-mkc-wg-101", "wgpubkey": "Nk6dTIVRHBQzIZ6CUrJH7l4dItXEz3XOSBwmI933WUo=", "ips": [ "155.2.191.3", "2602:fed2:7e0a::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "hostuniversal", "hostname": "us-mkc-wg-102", "wgpubkey": "ie5ag1xd2x/P3fxodzB21vPbLEmqhtfqKcUs1OR0BDs=", "ips": [ "155.2.191.53", "2602:fed2:7e0a::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "hostuniversal", "hostname": "us-mkc-wg-103", "wgpubkey": "5dpXegNTyOFwWswBaJxViEwrXSAgC+Je9KokpT1sdjU=", "ips": [ "155.2.191.103", "2602:fed2:7e0a::f201" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "hostuniversal", "hostname": "us-mkc-wg-104", "wgpubkey": "wugRpkJNlfAV2lE3p1UXsTfZtO8JYWEdA9ZMLFeF3G4=", "ips": [ "155.2.191.153", "2602:fed2:7e0a::f301" ] }, { "vpn": "wireguard", "country": "USA", "city": "Kansas City MO", "isp": "hostuniversal", "hostname": "us-mkc-wg-105", "wgpubkey": "9w1yXK8tpAKZ2au6JHcu+L7TytOYmmZo9q7qfCwa1U8=", "ips": [ "155.2.191.203", "2602:fed2:7e0a::f401" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "Tzulo", "hostname": "us-lax-wg-101", "wgpubkey": "IDXrg8s0qYFAWcMcXFb6P/EHOESkTyotZCSlerQfyCQ=", "ips": [ "198.44.129.98", "2607:9000:3000:15::a49f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "Tzulo", "hostname": "us-lax-wg-102", "wgpubkey": "Ldwvbs6mOxEbpXLRA3Z/qmEyJo2wVTdQ94+v3UFsbBw=", "ips": [ "198.44.129.66", "2607:9000:3000:14::a50f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "Tzulo", "hostname": "us-lax-wg-103", "wgpubkey": "gabX4D/Yhut0IMl/9jRK+kMoHbkL38qaUm7r/dH5rWg=", "ips": [ "198.44.129.34", "2607:9000:3000:13::a51f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "DataPacket", "hostname": "us-lax-wg-201", "wgpubkey": "xWobY7DWTL+vL1yD4NWwbQ3V4e8qz10Yz+EFdkIjq0Y=", "ips": [ "169.150.203.2", "2a02:6ea0:c859:1::a01f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "DataPacket", "hostname": "us-lax-wg-202", "wgpubkey": "SDnciTlujuy2APFTkhzfq5X+LDi+lhfU38wI2HBCxxs=", "ips": [ "169.150.203.15", "2a02:6ea0:c859:2::a02f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "DataPacket", "hostname": "us-lax-wg-203", "wgpubkey": "W6/Yamxmfx3geWTwwtBbJe/J8UdEzOfa6M+cEpNPIwg=", "ips": [ "169.150.203.28", "2a02:6ea0:c859:3::a03f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-402", "wgpubkey": "EKZXvHlSDeqAjfC/m9aQR0oXfQ6Idgffa9L0DH5yaCo=", "ips": [ "146.70.173.66", "2a0d:5600:8:6::d2f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-403", "wgpubkey": "mBqaWs6pti93U+1feyj6LRzzveNmeklancn3XuKoPWI=", "ips": [ "146.70.173.130", "2a0d:5600:8:d::d3f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-404", "wgpubkey": "YGl+lj1tk08U9x9Z73zowUW3rk8i0nPmYkxGzNdE4VM=", "ips": [ "146.70.173.194", "2a0d:5600:8:2f::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-405", "wgpubkey": "Pe86fNGUd+AIeaabsn7Hk4clQf1kJvxOXPykfVGjeho=", "ips": [ "146.70.172.2", "2a0d:5600:8:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-406", "wgpubkey": "K3KF3TCWbYcHF5XHL2zaifvQGHrPWoCjFYxDaJO71GA=", "ips": [ "146.70.174.2", "2a0d:5600:8:3b::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-407", "wgpubkey": "1nGkBr+oLwK5lQcVt9vF6rGM5R3ra5bmYTGJfGIh0lk=", "ips": [ "146.70.172.66", "2a0d:5600:8:38::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-408", "wgpubkey": "9L5cW9VuUJUS2gH6H7ln2JeCI66fMnnjLiD5UymAtlo=", "ips": [ "146.70.172.130", "2a0d:5600:8:39::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "M247", "hostname": "us-lax-wg-409", "wgpubkey": "V+LTWA5DxEVITAXqHexqBzeZo95b8r+3WR8g1FsbPQ4=", "ips": [ "146.70.172.194", "2a0d:5600:8:3a::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-601", "wgpubkey": "oA6/33kBggrBOJ7z+uo5gZW6L1w2zYcCILKXXax8knY=", "ips": [ "23.162.40.3", "2602:fa19::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-602", "wgpubkey": "oLu1H6C8YaoWtmaPzAFboFX8r102Wb1uma9spVPqAX8=", "ips": [ "23.162.40.127", "2602:fa19::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-603", "wgpubkey": "qeojNB247YQbT0/ysFyZDjs9RJ6Y4bFaKCLu6PjeMxA=", "ips": [ "23.159.216.3", "2602:fa47::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-604", "wgpubkey": "GKl6nhOl96/1AJtVCdEZpOO6F0BS5/TMkrjdH2fb93A=", "ips": [ "23.159.216.127", "2602:fa47::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-605", "wgpubkey": "DbZksYqiYPGxOEF7iIaAiyN4+hZc+8HcuMMqpLW3XmA=", "ips": [ "23.160.24.3", "2602:fa45::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-606", "wgpubkey": "AW1YO/vYtXJioBmD8BhSGpz1DQNIQeU+jOu+3F7KBDY=", "ips": [ "23.160.24.127", "2602:fa45::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-607", "wgpubkey": "ItEcyDXwTXtq6bQubbO6lY0K/oh0dfk26AV+muU+Ah4=", "ips": [ "23.168.216.3", "2602:f99d::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "xtom", "hostname": "us-lax-wg-608", "wgpubkey": "ikLR1TUKk+PTWFnydqwZ9m0HaD1dPaMNI9DwZTvzYBs=", "ips": [ "23.168.216.127", "2602:f99d::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "HostRoyale", "hostname": "us-lax-wg-701", "wgpubkey": "EM/33kdl9RiNOF5jvwtp/nfchPAD/sq7MJleg1bZikU=", "ips": [ "103.251.26.3", "2a01:4740:3::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "HostRoyale", "hostname": "us-lax-wg-702", "wgpubkey": "ddv7vosBlf396nOa79nWn6qXQu2LzezGXfNUDO3hAXQ=", "ips": [ "103.251.26.127", "2a01:4740:3::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "HostRoyale", "hostname": "us-lax-wg-703", "wgpubkey": "/FWUNK2WlEQbmwYaXuTzUmtshvIYvJnKWVnuqgzlfXw=", "ips": [ "103.251.27.3", "2a01:4740:3::f201" ] }, { "vpn": "wireguard", "country": "USA", "city": "Los Angeles CA", "isp": "HostRoyale", "hostname": "us-lax-wg-704", "wgpubkey": "KPjr8jrGP3dVI+GbMq2LNc9eREW6EhGHndoSWHqakxE=", "ips": [ "103.251.27.127", "2a01:4740:3::f301" ] }, { "vpn": "wireguard", "country": "USA", "city": "McAllen TX", "isp": "DataPacket", "hostname": "us-txc-wg-001", "wgpubkey": "+OCONjBoN5RytiPy000VOzhZsiu1tSzecmc1hl/q8hI=", "ips": [ "79.127.222.194", "2a02:6ea0:fe00:1::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "McAllen TX", "isp": "DataPacket", "hostname": "us-txc-wg-002", "wgpubkey": "mjv8qVNwhVKO0ePAI97CRil188uwdR/VR6ihcNY/hio=", "ips": [ "79.127.222.207", "2a02:6ea0:fe00:2::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Miami FL", "isp": "DataPacket", "hostname": "us-mia-wg-001", "wgpubkey": "FVEKAMJqaJU2AwWn5Mg9TK9IAfJc4XDUmSzEeC/VXGs=", "ips": [ "45.134.142.219", "2a02:6ea0:cc1f:2::b62f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Miami FL", "isp": "DataPacket", "hostname": "us-mia-wg-002", "wgpubkey": "H5t7PsMDnUAHrR8D2Jt3Mh6N6w43WmCzrOHShlEU+zw=", "ips": [ "45.134.142.206", "2a02:6ea0:cc1f:1::b61f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Miami FL", "isp": "DataPacket", "hostname": "us-mia-wg-003", "wgpubkey": "N/3F0QvCuiWWzCwaJmnPZO53LZrKn6sr7rItecrQSQY=", "ips": [ "45.134.142.193", "2a02:6ea0:cc1f::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Miami FL", "isp": "M247", "hostname": "us-mia-wg-101", "wgpubkey": "50/sEK7t3on/H2sunx+gzIjJI6E9/Y6gHOHQrvzsij4=", "ips": [ "146.70.187.2", "2a0d:5600:6:104::a01f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Miami FL", "isp": "M247", "hostname": "us-mia-wg-102", "wgpubkey": "sJw9LzH2sunqRes2FNi8l6+bd8jqFAiYFfUGTbCXlA4=", "ips": [ "146.70.187.66", "2a0d:5600:6:105::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Miami FL", "isp": "M247", "hostname": "us-mia-wg-103", "wgpubkey": "TpPDIhObMTeoMVx0MvSstQaIH1EfRYqW2vzGTB+ETVk=", "ips": [ "146.70.187.130", "2a0d:5600:6:106::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "DataPacket", "hostname": "us-nyc-wg-301", "wgpubkey": "IzqkjVCdJYC1AShILfzebchTlKCqVCt/SMEXolaS3Uc=", "ips": [ "143.244.47.65", "2a02:6ea0:c43f::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "DataPacket", "hostname": "us-nyc-wg-302", "wgpubkey": "gH/fZJwc9iLv9fazk09J/DUWT2X7/LFXijRS15e2n34=", "ips": [ "143.244.47.78", "2a02:6ea0:c43f:1::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "DataPacket", "hostname": "us-nyc-wg-303", "wgpubkey": "KRO+RzrFV92Ah+qpHgAMKZH2jtjRlmJ4ayl0gletY3c=", "ips": [ "143.244.47.91", "2a02:6ea0:c43f:2::b52f" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-501", "wgpubkey": "FMNXnFgDHNTrT9o49U8bb3Z8J90LZzVJPpRzKtJM9W8=", "ips": [ "146.70.165.2", "2a0d:5600:24:2b6::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-502", "wgpubkey": "cmUR4g9aIFDa5Xnp4B6Zjyp20jwgTTMgBdhcdvDV0FM=", "ips": [ "146.70.165.130", "2a0d:5600:24:2b8::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-503", "wgpubkey": "czE6NJ8CccA5jnJkKoZGDpMXFqSudeVTzxU5scLP/H8=", "ips": [ "146.70.165.194", "2a0d:5600:24:2b9::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-504", "wgpubkey": "MVa5yuoYnjXJtSCeBsyvaemuaK4KFN1p78+37Nvm2m0=", "ips": [ "146.70.166.130", "2a0d:5600:24:2c2::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-505", "wgpubkey": "jrjogHbVDuPxyloBldvtB51TmebNJo+4rW2JFrN33iM=", "ips": [ "146.70.166.194", "2a0d:5600:24:2c3::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-506", "wgpubkey": "IjdtI6sz8ZjU5tlK3eW4HAPp+GRvHErDtqxBcr8JvTM=", "ips": [ "146.70.165.66", "2a0d:5600:24:2b7::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-601", "wgpubkey": "OKyEPafS1lnUTWqtVeWElkTzcmkvLi9dncBHbSyFrH8=", "ips": [ "146.70.185.2", "2a0d:5600:24:136a::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-602", "wgpubkey": "4Lg7yQlukAMp6EX+2Ap+q4O+QIV/OEZyybtFJmN9umw=", "ips": [ "146.70.168.130", "2a0d:5600:24:1378::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-603", "wgpubkey": "s3N8Xeh6khECbgRYPk9pp5slw2uE0deOxa9rSJ6bzwE=", "ips": [ "146.70.168.66", "2a0d:5600:24:1377::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-604", "wgpubkey": "FIcFPDjxfF24xBrv+W7Bcqb2wADSWd+HAWPKYo6xZEk=", "ips": [ "146.70.171.66", "2a0d:5600:24:1372::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-605", "wgpubkey": "78nFhfPEjrfOxBkUf2ylM7w6upYBEcHXm93sr8CMTE4=", "ips": [ "146.70.171.130", "2a0d:5600:24:1374::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "M247", "hostname": "us-nyc-wg-606", "wgpubkey": "a8+VB6Cgah7Q5mWY860VfgU/h3Zf+pMpMdHB22e1uTQ=", "ips": [ "146.70.168.194", "2a0d:5600:24:1379::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "xtom", "hostname": "us-nyc-wg-701", "wgpubkey": "S3X2pCfD9X6c29fd4C6b86mEO0b01mc/WUCDN5OgyjM=", "ips": [ "23.162.8.3", "2602:fa1f:1::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "xtom", "hostname": "us-nyc-wg-702", "wgpubkey": "O81+YN0WHF4wuWRejhPG62PGK9bv/8BQTa6Ni3fomWM=", "ips": [ "23.162.8.67", "2602:fa1f:1::f033" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "xtom", "hostname": "us-nyc-wg-703", "wgpubkey": "Ycm86cSu1NKGpC+vZA6htq6YE9BUFk9wweE2/RySA1g=", "ips": [ "23.162.8.130", "2602:fa1f:1:3::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-801", "wgpubkey": "3XVRp858LSMwQ6pA2Zo5LFGf4nIjLnuTkbXTJiNPcmo=", "ips": [ "23.234.100.3", "2607:9000:a000:31::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-802", "wgpubkey": "SG1mcVhXNEZDZkir3GGLA7DCltIfPr71rPW6nFzW1Rc=", "ips": [ "23.234.100.127", "2607:9000:a000:32::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-803", "wgpubkey": "X1ZCLofMRmOnoJiNUTokpTazaRrdtbdH8+yAFvyCMnM=", "ips": [ "23.234.101.3", "2607:9000:a000:33::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-804", "wgpubkey": "uNKXjnTzZE0najF3fo5HiDBkg/fCF+anDkVuBNTCfhs=", "ips": [ "23.234.101.127", "2607:9000:a000:34::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-805", "wgpubkey": "i97V7R9Fk5IrrbYw+k7H35i8frXOHvbES13AAoRHrWY=", "ips": [ "23.234.102.3", "2607:9000:a000:35::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-806", "wgpubkey": "TJxsTwqSLYLKHFJLf7Uo87GiqVXnpYFaNbiiP9qwfBE=", "ips": [ "23.234.102.127", "2607:9000:a000:36::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-807", "wgpubkey": "THimhBHKHZ2KeoTRURvpNIVir4nlaxx5NSYwqNuF1wk=", "ips": [ "23.234.103.3", "2607:9000:a000:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "New York NY", "isp": "Tzulo", "hostname": "us-nyc-wg-808", "wgpubkey": "tI+Ddqg8MZ3nqXLuvA5Kzryih//XLId7IM4IEgROiFk=", "ips": [ "23.234.103.127", "2607:9000:a000:38::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-201", "wgpubkey": "8mie5kslgD63v3pZkbFmwGdj3dg5mu8Wm2Ji5kntfXA=", "ips": [ "23.234.88.3", "2607:9000:700:41::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-202", "wgpubkey": "I8eCMCSsFlb78N8VNaFqSJKM4Z2+3iVdlG6CvJkYEiA=", "ips": [ "23.234.88.127", "2607:9000:700:42::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-203", "wgpubkey": "nSeEIx++JuzqxNqLPOm2BVCXwPpR72Q3QLflDUK8tTA=", "ips": [ "23.234.89.3", "2607:9000:700:43::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-204", "wgpubkey": "0is4/9V/KIBWwfeuDVDlBmPa134UuV5gaFGUqI1emXY=", "ips": [ "23.234.89.127", "2607:9000:700:44::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-205", "wgpubkey": "sZMMs5XaQN+p0HXCK15zYV1jo7IJN7agm1Ftm7JDnnk=", "ips": [ "23.234.90.3", "2607:9000:700:45::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-206", "wgpubkey": "fdA7Lc9cpwb1oPy4Oa/A8sPm+RaDpW5yrdgjykde4jM=", "ips": [ "23.234.90.127", "2607:9000:700:46::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-207", "wgpubkey": "G5tIt92dwuvvln9nlsi/cI3Au47U94mOMgSdODRMIxs=", "ips": [ "23.234.91.3", "2607:9000:700:47::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Phoenix AZ", "isp": "Tzulo", "hostname": "us-phx-wg-208", "wgpubkey": "4nHL/Y9efuazXJB0cx6ktdBb0L0gkITWzCFCswfCh04=", "ips": [ "23.234.91.127", "2607:9000:700:48::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Raleigh NC", "isp": "Tzulo", "hostname": "us-rag-wg-201", "wgpubkey": "MuKjekVqBwpSizHLNwVRl4b8bwi6aTCBOshPiOOWrEQ=", "ips": [ "23.234.76.2", "2607:9000:4000:31::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Raleigh NC", "isp": "Tzulo", "hostname": "us-rag-wg-202", "wgpubkey": "T2diUJ97txooCDntCrB6Q29Qe0fm/hMdZDzdc9uOUgQ=", "ips": [ "23.234.76.127", "2607:9000:4000:32::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Raleigh NC", "isp": "Tzulo", "hostname": "us-rag-wg-203", "wgpubkey": "4BioSTLTYH1qL/oYGY/z5IZ049I7oSzs5IKoFZzrgn0=", "ips": [ "23.234.77.2", "2607:9000:4000:33::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Raleigh NC", "isp": "Tzulo", "hostname": "us-rag-wg-204", "wgpubkey": "Tk5lPM5K5qrXPWDktHH+AvcxC+UxhGSX6aILsPi33zU=", "ips": [ "23.234.77.127", "2607:9000:4000:34::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Raleigh NC", "isp": "Tzulo", "hostname": "us-rag-wg-205", "wgpubkey": "z7vhWZ1oY+UkE7PoXF/QtofOhTNGnNfoP20al/cniyc=", "ips": [ "23.234.78.2", "2607:9000:4000:35::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Raleigh NC", "isp": "Tzulo", "hostname": "us-rag-wg-206", "wgpubkey": "ekRrcTqihriWz4TldL2deIEbHlqwytL3pu1WV+v7zjw=", "ips": [ "23.234.78.127", "2607:9000:4000:36::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Raleigh NC", "isp": "Tzulo", "hostname": "us-rag-wg-207", "wgpubkey": "Y16tMAXHpCEExSZJ8AL5LfskKqPqIrZWeLFbSLE/piE=", "ips": [ "23.234.79.2", "2607:9000:4000:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "100TB", "hostname": "us-slc-wg-201", "wgpubkey": "sSoow0tFfqSrZIUhFRaGsTvwQsUTe33RA/9PLn93Cno=", "ips": [ "69.4.234.9", "2607:fc98:0:8a::f301" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "100TB", "hostname": "us-slc-wg-202", "wgpubkey": "mKD4untTerTbg+1pJh3FA9zjOAOtoTHqOJzIP0lnqH4=", "ips": [ "69.4.234.149", "2607:fc98:0:8a::f401" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "100TB", "hostname": "us-slc-wg-203", "wgpubkey": "2yVEeOFScneJRCVTrqCjKlKHg3J2wwOwkY28iy47J1Q=", "ips": [ "69.4.234.131", "2607:fc98:0:8a::f501" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "100TB", "hostname": "us-slc-wg-204", "wgpubkey": "SE7HGeByhTo8Ak7FGsjvrYOUJTydQ2L8fWjo17IvhSw=", "ips": [ "69.4.234.10", "2607:fc98:0:8a::f601" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-301", "wgpubkey": "tA/k8ouzYiVmgCRCF7TWibVzv5xRp3cgv9TJX66poGE=", "ips": [ "23.234.112.3", "2607:9000:d00:2::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-302", "wgpubkey": "6hF/LLVCkxlW+mH6wFob5ZiDZNu2DqfEj82w8wzVnHY=", "ips": [ "23.234.112.127", "2607:9000:d00:3::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-303", "wgpubkey": "Taa3TPPNUUcD3upveDHqpi9uaNHbeXzh6kX+sQUcM0s=", "ips": [ "23.234.113.3", "2607:9000:d00:4::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-304", "wgpubkey": "+ru/ZmhgTYWNLyn3ZWuC57PMOU64yMfuWPZ5ow0XY3A=", "ips": [ "23.234.113.127", "2607:9000:d00:5::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-305", "wgpubkey": "QkiwUWRNNtI+8YSK0SPCq6KeKPSohpX/8FbFZkx+uHg=", "ips": [ "23.234.114.3", "2607:9000:d00:6::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-306", "wgpubkey": "Gv4GZOT46WQsTOAH4mYlauwFRxtpCX08BI0bzot5Piw=", "ips": [ "23.234.114.127", "2607:9000:d00:7::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-307", "wgpubkey": "6pJrsejyhJLRotKdS+RCZez28/WqlOw6qEs1BbjQVSI=", "ips": [ "23.234.115.3", "2607:9000:d00:8::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Salt Lake City UT", "isp": "Tzulo", "hostname": "us-slc-wg-308", "wgpubkey": "f7xT56F8RP9XDXW7UCxBcjgP+SAGyH+y2OZ4fieR4X8=", "ips": [ "23.234.115.127", "2607:9000:d00:9::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "xtom", "hostname": "us-sjc-wg-302", "wgpubkey": "8wVb4HUgmpQEa5a1Q8Ff1hTDTJVaHts487bksJVugEo=", "ips": [ "142.147.89.210", "2604:e8c0:7::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "xtom", "hostname": "us-sjc-wg-303", "wgpubkey": "2ZQTRk/3jT+ccfG3G/QoJV3NFC4CFHQwGBCSokOvBnA=", "ips": [ "142.147.89.225", "2604:e8c0:7::b68f" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "DataPacket", "hostname": "us-sjc-wg-401", "wgpubkey": "2q0LGwWvnV2qbNEAgOOHh4tvol5vGeQXJZDAbazCSBY=", "ips": [ "79.127.217.34", "2a02:6ea0:e611::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "DataPacket", "hostname": "us-sjc-wg-402", "wgpubkey": "+UZsgTzYTdG3LvqpL+V9ZkwEMiFcls32YlpuI0cqDQ4=", "ips": [ "79.127.217.47", "2a02:6ea0:e611:1::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-501", "wgpubkey": "wbK8/hP/ZMr972OtanZxugSqUVt/sM/G9rnTiQ5YbSw=", "ips": [ "23.234.92.3", "2607:9000:800:31::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-502", "wgpubkey": "dCHtOy+ieOOMzgpZPr557dXygpmlj9RRNCAvUQvXj3I=", "ips": [ "23.234.92.127", "2607:9000:800:32::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-503", "wgpubkey": "HqWGqZbCgLxYLGHQG7P3jHYWQgc5p6ImqaxgqA97WCY=", "ips": [ "23.234.93.3", "2607:9000:800:33::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-504", "wgpubkey": "hQ/UqXflXztKM2T39HmQRPpPjWP8I2r9FMqnqFWy53M=", "ips": [ "23.234.93.127", "2607:9000:800:34::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-505", "wgpubkey": "v0CXmb+wIy1P+IbFA/1nYTB3KoDzFyW5k7n8vXoTxiY=", "ips": [ "23.234.94.3", "2607:9000:800:35::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-506", "wgpubkey": "sjWKL/W2+21cyjEBjtMd4TQQlWTsLTUN4skYOF7YgnU=", "ips": [ "23.234.94.127", "2607:9000:800:36::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-507", "wgpubkey": "IKhrTUlWJXlcH30jNV82mlWlj6NEre3PZffJ7MoT0zc=", "ips": [ "23.234.95.3", "2607:9000:800:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "San Jose CA", "isp": "Tzulo", "hostname": "us-sjc-wg-508", "wgpubkey": "rIqRJ1o3UxvuwXj9B7VDquiTZ8BtQdab4wsb4F1L7l8=", "ips": [ "23.234.95.127", "2607:9000:800:38::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "DataPacket", "hostname": "us-sea-wg-001", "wgpubkey": "bZQF7VRDRK/JUJ8L6EFzF/zRw2tsqMRk6FesGtTgsC0=", "ips": [ "138.199.43.91", "2a02:6ea0:d80b:3::b75f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "DataPacket", "hostname": "us-sea-wg-002", "wgpubkey": "Xt80FGN9eLy1vX3F29huj6oW2MnQt7ne3DMBpo525Qw=", "ips": [ "138.199.43.78", "2a02:6ea0:d80b:2::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "DataPacket", "hostname": "us-sea-wg-003", "wgpubkey": "4ke8ZSsroiI6Sp23OBbMAU6yQmdF3xU2N8CyzQXE/Qw=", "ips": [ "138.199.43.65", "2a02:6ea0:d80b:1::b73f" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-401", "wgpubkey": "wRvkGNE3N2UklxKajU06gbBJ3Bg7KmhZsU7a5HIFBw8=", "ips": [ "23.234.80.2", "2607:9000:5000:31::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-402", "wgpubkey": "NBnpCxDrc0tdX91KUm5cEmQv7BSMOZqd7dS/d7piQl0=", "ips": [ "23.234.80.127", "2607:9000:5000:32::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-403", "wgpubkey": "cJ8317JqMtNDvxvd/8z29lWurK/3sb5nFZuOY5mw3ys=", "ips": [ "23.234.81.2", "2607:9000:5000:33::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-404", "wgpubkey": "G6+A375GVmuFCAtvwgx3SWCWhrMvdQ+cboXQ8zp2ang=", "ips": [ "23.234.81.127", "2607:9000:5000:34::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-405", "wgpubkey": "X+efE4ntYuAEHBHU32SBMq/U0lAFEKeX5/nl3CKtrVM=", "ips": [ "23.234.82.2", "2607:9000:5000:35::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-406", "wgpubkey": "kT695K8pTGd+I6Q4a4URU2AdXN2VAtHyi7kNSRjUEiw=", "ips": [ "23.234.82.127", "2607:9000:5000:36::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-407", "wgpubkey": "HrhtkMqLmKtpAHiUIw7uLHwt48mDlhyLOt4+1kpNj3Y=", "ips": [ "23.234.83.2", "2607:9000:5000:37::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Seattle WA", "isp": "Tzulo", "hostname": "us-sea-wg-408", "wgpubkey": "tfhYXF12+7tB6bEOhqZ7eMODDv08fDMnQSBTmlau9VI=", "ips": [ "23.234.83.127", "2607:9000:5000:38::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Secaucus NJ", "isp": "HostRoyale", "hostname": "us-uyk-wg-201", "wgpubkey": "utm9eFUk8tH0j/dwKLJvlb6BRSfm3GZbomxr52ZDGn0=", "ips": [ "104.36.50.3", "2a06:3040:22:620::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Secaucus NJ", "isp": "HostRoyale", "hostname": "us-uyk-wg-202", "wgpubkey": "8Rh2Qc+vXTREhJb/RfCcpXS13U9xSqy4Pnw4+Wwt7iE=", "ips": [ "104.36.50.33", "2a06:3040:22:620::f101" ] }, { "vpn": "wireguard", "country": "USA", "city": "Washington DC", "isp": "Zenlayer", "hostname": "us-was-wg-001", "wgpubkey": "qD3AH8vI8MhEVc9+0+2O8zV0Gx9FfKdy7ri3Bnpzo10=", "ips": [ "185.213.193.3", "2604:980:1002:11::f001" ] }, { "vpn": "wireguard", "country": "USA", "city": "Washington DC", "isp": "Zenlayer", "hostname": "us-was-wg-002", "wgpubkey": "2AvJGG4MJfnJMRSR6kcha9FZMMkhJM/AtktI5DSESSI=", "ips": [ "185.213.193.127", "2604:980:1002:11::f101" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "isp": "DataPacket", "hostname": "ua-iev-wg-001", "wgpubkey": "PO2o3ewguPP24wLy8bbDqx1xuAnTOIVzdzVGVT0d8kU=", "ips": [ "149.102.240.79", "2a02:6ea0:e109:2::a01f" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "isp": "DataPacket", "hostname": "ua-iev-wg-002", "wgpubkey": "HUj/J8Rxx7QVGh3kJsFgPZoqtm2BQIX03vKJSIyTOSo=", "ips": [ "149.102.240.66", "2a02:6ea0:e109:1::a02f" ] } ] }, "nordvpn": { "version": 5, "timestamp": 1711034061, "servers": [ { "vpn": "openvpn", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 36, "hostname": "al36.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.120.102.3" ] }, { "vpn": "wireguard", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 36, "hostname": "al36.nordvpn.com", "wgpubkey": "0sAxvVg+N0it7/I4PzWdJdtKY66diiuTsXEfYGThKjg=", "ips": [ "87.120.102.3" ] }, { "vpn": "openvpn", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 37, "hostname": "al37.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.120.102.19" ] }, { "vpn": "wireguard", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 37, "hostname": "al37.nordvpn.com", "wgpubkey": "0sAxvVg+N0it7/I4PzWdJdtKY66diiuTsXEfYGThKjg=", "ips": [ "87.120.102.19" ] }, { "vpn": "openvpn", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 38, "hostname": "al38.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.120.102.51" ] }, { "vpn": "wireguard", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 38, "hostname": "al38.nordvpn.com", "wgpubkey": "0sAxvVg+N0it7/I4PzWdJdtKY66diiuTsXEfYGThKjg=", "ips": [ "87.120.102.51" ] }, { "vpn": "openvpn", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 39, "hostname": "al39.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.120.102.67" ] }, { "vpn": "wireguard", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 39, "hostname": "al39.nordvpn.com", "wgpubkey": "0sAxvVg+N0it7/I4PzWdJdtKY66diiuTsXEfYGThKjg=", "ips": [ "87.120.102.67" ] }, { "vpn": "openvpn", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 40, "hostname": "al40.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.120.102.35" ] }, { "vpn": "wireguard", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 40, "hostname": "al40.nordvpn.com", "wgpubkey": "0sAxvVg+N0it7/I4PzWdJdtKY66diiuTsXEfYGThKjg=", "ips": [ "87.120.102.35" ] }, { "vpn": "openvpn", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 41, "hostname": "al41.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.120.102.83" ] }, { "vpn": "wireguard", "country": "Albania", "region": "Europe", "city": "Tirana", "categories": [ "Standard VPN servers" ], "number": 41, "hostname": "al41.nordvpn.com", "wgpubkey": "0sAxvVg+N0it7/I4PzWdJdtKY66diiuTsXEfYGThKjg=", "ips": [ "87.120.102.83" ] }, { "vpn": "openvpn", "country": "Algeria", "region": "Africa the Middle East and India", "city": "Algiers", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "dz1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.76.1" ] }, { "vpn": "wireguard", "country": "Algeria", "region": "Africa the Middle East and India", "city": "Algiers", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "dz1.nordvpn.com", "wgpubkey": "GtDkZCX0vxVeQ1w+vW5D0GYqk0n0cVY3AfxtNWAfolA=", "ips": [ "45.137.76.1" ] }, { "vpn": "openvpn", "country": "Algeria", "region": "Africa the Middle East and India", "city": "Algiers", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "dz2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.76.3" ] }, { "vpn": "wireguard", "country": "Algeria", "region": "Africa the Middle East and India", "city": "Algiers", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "dz2.nordvpn.com", "wgpubkey": "GtDkZCX0vxVeQ1w+vW5D0GYqk0n0cVY3AfxtNWAfolA=", "ips": [ "45.137.76.3" ] }, { "vpn": "openvpn", "country": "Andorra", "region": "Europe", "city": "Andorra la Vella", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ad1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.77.1" ] }, { "vpn": "wireguard", "country": "Andorra", "region": "Europe", "city": "Andorra la Vella", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ad1.nordvpn.com", "wgpubkey": "HZ0CXtSBLyy4/M8ideAbNUnP7EIZq4FJHTyjJ1jNSzc=", "ips": [ "45.137.77.1" ] }, { "vpn": "openvpn", "country": "Andorra", "region": "Europe", "city": "Andorra la Vella", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ad2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.77.3" ] }, { "vpn": "wireguard", "country": "Andorra", "region": "Europe", "city": "Andorra la Vella", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ad2.nordvpn.com", "wgpubkey": "HZ0CXtSBLyy4/M8ideAbNUnP7EIZq4FJHTyjJ1jNSzc=", "ips": [ "45.137.77.3" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "ar50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.48" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "ar50.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.48" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "ar51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.64" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "ar51.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.64" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "ar52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.74" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "ar52.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.74" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "ar53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.84" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "ar53.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.84" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "ar54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.94" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "ar54.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.94" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "ar55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.111" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "ar55.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.111" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "ar56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.121" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "ar56.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.121" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "ar57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.149" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "ar57.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.149" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "ar58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.50.33.159" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "ar58.nordvpn.com", "wgpubkey": "yRz3uhKlC/37ZUfrDvr3pv2NuBLF4/urYtOoCfUbqjQ=", "ips": [ "103.50.33.159" ] }, { "vpn": "openvpn", "country": "Armenia", "region": "Europe", "city": "Yerevan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "am1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.78.1" ] }, { "vpn": "wireguard", "country": "Armenia", "region": "Europe", "city": "Yerevan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "am1.nordvpn.com", "wgpubkey": "KKXtpt9VG8WTixvZIZeiMJl0DrdtlmnyZPtNIbsVsUk=", "ips": [ "45.137.78.1" ] }, { "vpn": "openvpn", "country": "Armenia", "region": "Europe", "city": "Yerevan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "am2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.78.3" ] }, { "vpn": "wireguard", "country": "Armenia", "region": "Europe", "city": "Yerevan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "am2.nordvpn.com", "wgpubkey": "KKXtpt9VG8WTixvZIZeiMJl0DrdtlmnyZPtNIbsVsUk=", "ips": [ "45.137.78.3" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 638, "hostname": "au638.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.43" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 638, "hostname": "au638.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.43" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 639, "hostname": "au639.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.51" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 639, "hostname": "au639.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.51" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 658, "hostname": "au658.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.59" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 658, "hostname": "au658.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.59" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 659, "hostname": "au659.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.67" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 659, "hostname": "au659.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.67" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 660, "hostname": "au660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.75" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 660, "hostname": "au660.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.75" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 661, "hostname": "au661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.83" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 661, "hostname": "au661.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.83" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 680, "hostname": "au680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.91" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 680, "hostname": "au680.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.91" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 681, "hostname": "au681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.99" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 681, "hostname": "au681.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.99" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 682, "hostname": "au682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.107" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 682, "hostname": "au682.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.107" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 733, "hostname": "au733.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.72.115" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 733, "hostname": "au733.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "116.90.72.115" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 785, "hostname": "au785.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.178" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 785, "hostname": "au785.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.178" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 786, "hostname": "au786.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.182" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 786, "hostname": "au786.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.182" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 787, "hostname": "au787.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.186" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 787, "hostname": "au787.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.186" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 788, "hostname": "au788.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.154" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 788, "hostname": "au788.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.154" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 789, "hostname": "au789.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.250" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 789, "hostname": "au789.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.250" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 801, "hostname": "au801.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.106" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 801, "hostname": "au801.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.106" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 802, "hostname": "au802.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.114" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 802, "hostname": "au802.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.114" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 803, "hostname": "au803.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.79.119" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "categories": [ "Standard VPN servers", "P2P" ], "number": 803, "hostname": "au803.nordvpn.com", "wgpubkey": "oqq6Jshs2r5V31j6lw2GfWai5Qb/D/jDqhgXa1zRNEg=", "ips": [ "45.248.79.119" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 585, "hostname": "au585.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.179" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 585, "hostname": "au585.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.179" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 586, "hostname": "au586.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.187" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 586, "hostname": "au586.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.187" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 587, "hostname": "au587.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.195" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 587, "hostname": "au587.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.195" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 588, "hostname": "au588.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.203" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 588, "hostname": "au588.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.203" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 610, "hostname": "au610.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.131" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 610, "hostname": "au610.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.131" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 611, "hostname": "au611.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.139" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 611, "hostname": "au611.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.139" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 612, "hostname": "au612.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.147" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 612, "hostname": "au612.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.147" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 613, "hostname": "au613.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.155" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 613, "hostname": "au613.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.155" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 614, "hostname": "au614.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 614, "hostname": "au614.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 615, "hostname": "au615.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.171" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 615, "hostname": "au615.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.171" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 640, "hostname": "au640.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.211" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 640, "hostname": "au640.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.211" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 641, "hostname": "au641.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.219" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 641, "hostname": "au641.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.219" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 642, "hostname": "au642.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.227" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 642, "hostname": "au642.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.227" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 643, "hostname": "au643.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.235" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 643, "hostname": "au643.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.235" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 662, "hostname": "au662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.243" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 662, "hostname": "au662.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.243" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 663, "hostname": "au663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.251" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 663, "hostname": "au663.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.251" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 684, "hostname": "au684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.51" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 684, "hostname": "au684.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.51" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 685, "hostname": "au685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.43" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 685, "hostname": "au685.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.43" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 734, "hostname": "au734.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.115" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 734, "hostname": "au734.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.115" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 735, "hostname": "au735.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.123" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 735, "hostname": "au735.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.123" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 736, "hostname": "au736.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.39.3" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 736, "hostname": "au736.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "144.48.39.3" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 737, "hostname": "au737.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.39.179" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 737, "hostname": "au737.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "144.48.39.179" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 738, "hostname": "au738.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.39.187" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 738, "hostname": "au738.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "144.48.39.187" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 739, "hostname": "au739.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.39.203" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 739, "hostname": "au739.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "144.48.39.203" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 740, "hostname": "au740.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.203" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 740, "hostname": "au740.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.203" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 741, "hostname": "au741.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.155" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 741, "hostname": "au741.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.155" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 742, "hostname": "au742.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 742, "hostname": "au742.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 743, "hostname": "au743.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.171" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 743, "hostname": "au743.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.171" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 744, "hostname": "au744.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.147" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 744, "hostname": "au744.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.147" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 745, "hostname": "au745.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.77.107" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 745, "hostname": "au745.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "45.248.77.107" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 797, "hostname": "au797.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.19" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 797, "hostname": "au797.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.19" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 798, "hostname": "au798.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.27" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 798, "hostname": "au798.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.27" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 799, "hostname": "au799.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.115" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 799, "hostname": "au799.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.115" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 800, "hostname": "au800.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.12.123" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "categories": [ "Standard VPN servers", "P2P" ], "number": 800, "hostname": "au800.nordvpn.com", "wgpubkey": "VrT9Q0sxH1v/m9vaOvcZeCjVm+4KjokZ5NCPskOtJzc=", "ips": [ "103.137.12.123" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 569, "hostname": "au569.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.147" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 569, "hostname": "au569.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.147" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 570, "hostname": "au570.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.155" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 570, "hostname": "au570.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.155" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 595, "hostname": "au595.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.131" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 595, "hostname": "au595.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.131" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 596, "hostname": "au596.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.139" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 596, "hostname": "au596.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.139" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 644, "hostname": "au644.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 644, "hostname": "au644.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 645, "hostname": "au645.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.171" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 645, "hostname": "au645.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.171" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 646, "hostname": "au646.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.179" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 646, "hostname": "au646.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.179" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 647, "hostname": "au647.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.187" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 647, "hostname": "au647.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.187" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 665, "hostname": "au665.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.195" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 665, "hostname": "au665.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.195" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 666, "hostname": "au666.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.211" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 666, "hostname": "au666.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.211" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 667, "hostname": "au667.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.219" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 667, "hostname": "au667.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.219" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 668, "hostname": "au668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.227" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 668, "hostname": "au668.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.227" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 669, "hostname": "au669.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.235" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 669, "hostname": "au669.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.235" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 686, "hostname": "au686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.14.243" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 686, "hostname": "au686.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.14.243" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 688, "hostname": "au688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.11" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 688, "hostname": "au688.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.11" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 689, "hostname": "au689.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.19" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 689, "hostname": "au689.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.19" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 690, "hostname": "au690.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.27" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 690, "hostname": "au690.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.27" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 691, "hostname": "au691.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.35" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 691, "hostname": "au691.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.35" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 753, "hostname": "au753.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.192.80.3" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 753, "hostname": "au753.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.192.80.3" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 754, "hostname": "au754.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.37.3" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 754, "hostname": "au754.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.37.3" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 755, "hostname": "au755.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.37.11" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 755, "hostname": "au755.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.37.11" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 756, "hostname": "au756.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.37.35" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 756, "hostname": "au756.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.37.35" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 757, "hostname": "au757.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.38.3" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 757, "hostname": "au757.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.38.3" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 758, "hostname": "au758.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.37.59" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 758, "hostname": "au758.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.37.59" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 759, "hostname": "au759.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.37.67" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 759, "hostname": "au759.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.37.67" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 760, "hostname": "au760.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.38.171" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 760, "hostname": "au760.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.38.171" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 761, "hostname": "au761.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.38.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 761, "hostname": "au761.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.38.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 762, "hostname": "au762.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.38.155" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 762, "hostname": "au762.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.38.155" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 763, "hostname": "au763.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.37.131" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 763, "hostname": "au763.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.37.131" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 764, "hostname": "au764.nordvpn.com", "tcp": true, "udp": true, "ips": [ "144.48.37.75" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 764, "hostname": "au764.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "144.48.37.75" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 765, "hostname": "au765.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.43" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 765, "hostname": "au765.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.43" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 766, "hostname": "au766.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.51" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 766, "hostname": "au766.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.51" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 767, "hostname": "au767.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.59" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 767, "hostname": "au767.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.59" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 768, "hostname": "au768.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.67" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 768, "hostname": "au768.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.67" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 769, "hostname": "au769.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.75" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 769, "hostname": "au769.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.75" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 770, "hostname": "au770.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.137.15.83" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "categories": [ "Standard VPN servers", "P2P" ], "number": 770, "hostname": "au770.nordvpn.com", "wgpubkey": "f+xo9hOjVEkHVkGJowuRGU5UEESXCpiI3wYCQZPSils=", "ips": [ "103.137.15.83" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 599, "hostname": "au599.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.131" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 599, "hostname": "au599.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.131" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 600, "hostname": "au600.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.139" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 600, "hostname": "au600.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.139" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 601, "hostname": "au601.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.147" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 601, "hostname": "au601.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.147" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 602, "hostname": "au602.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.155" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 602, "hostname": "au602.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.155" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 648, "hostname": "au648.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 648, "hostname": "au648.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 649, "hostname": "au649.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.171" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 649, "hostname": "au649.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.171" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 650, "hostname": "au650.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.179" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 650, "hostname": "au650.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.179" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 651, "hostname": "au651.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.187" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 651, "hostname": "au651.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.187" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 670, "hostname": "au670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.195" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 670, "hostname": "au670.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.195" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 671, "hostname": "au671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.211" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 671, "hostname": "au671.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.211" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 673, "hostname": "au673.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.227" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 673, "hostname": "au673.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.227" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 692, "hostname": "au692.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.235" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 692, "hostname": "au692.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.235" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 693, "hostname": "au693.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.196.243" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 693, "hostname": "au693.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.196.243" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 694, "hostname": "au694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.75" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 694, "hostname": "au694.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.75" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 695, "hostname": "au695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.83" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 695, "hostname": "au695.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.83" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 772, "hostname": "au772.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.2" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 772, "hostname": "au772.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.2" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 773, "hostname": "au773.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.6" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 773, "hostname": "au773.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.6" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 774, "hostname": "au774.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.10" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 774, "hostname": "au774.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.10" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 775, "hostname": "au775.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.226" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 775, "hostname": "au775.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.226" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 777, "hostname": "au777.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.236" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 777, "hostname": "au777.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.236" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 778, "hostname": "au778.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.241" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 778, "hostname": "au778.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.241" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 779, "hostname": "au779.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.178" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 779, "hostname": "au779.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.178" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 780, "hostname": "au780.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.185" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 780, "hostname": "au780.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.185" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 781, "hostname": "au781.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.194" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 781, "hostname": "au781.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.194" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 782, "hostname": "au782.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.201" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 782, "hostname": "au782.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.201" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 783, "hostname": "au783.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.248.78.26" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 783, "hostname": "au783.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "45.248.78.26" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 790, "hostname": "au790.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.91" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 790, "hostname": "au790.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.91" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 791, "hostname": "au791.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.99" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 791, "hostname": "au791.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.99" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 792, "hostname": "au792.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.107" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 792, "hostname": "au792.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.107" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 793, "hostname": "au793.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.115" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 793, "hostname": "au793.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.115" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 794, "hostname": "au794.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.123" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 794, "hostname": "au794.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.123" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 795, "hostname": "au795.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.131" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 795, "hostname": "au795.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.131" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 796, "hostname": "au796.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.197.139" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "categories": [ "Standard VPN servers", "P2P" ], "number": 796, "hostname": "au796.nordvpn.com", "wgpubkey": "SNftyabvPDqSQj1v7uQqsPALwAnI2S5Um9xgyEWd9XM=", "ips": [ "103.107.197.139" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "au529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.91" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "au529.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.91" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "au530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.99" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "au530.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.99" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "au531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.107" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "au531.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.107" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "au532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.115" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "au532.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.115" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "au533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.123" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "au533.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.123" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "au534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.131" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "au534.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.131" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "au535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.139" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "au535.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.139" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "au536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.147" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "au536.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.147" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "au537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.155" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "au537.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.155" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "au538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "au538.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 576, "hostname": "au576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.227.179" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 576, "hostname": "au576.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.227.179" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 605, "hostname": "au605.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.227.155" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 605, "hostname": "au605.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.227.155" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 606, "hostname": "au606.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.227.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 606, "hostname": "au606.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.227.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 607, "hostname": "au607.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.227.171" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 607, "hostname": "au607.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.227.171" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 623, "hostname": "au623.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.227.147" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 623, "hostname": "au623.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.227.147" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 624, "hostname": "au624.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.227.115" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 624, "hostname": "au624.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.227.115" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 652, "hostname": "au652.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.227.187" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 652, "hostname": "au652.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.227.187" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 653, "hostname": "au653.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.224.195" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 653, "hostname": "au653.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.224.195" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 654, "hostname": "au654.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.224.203" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 654, "hostname": "au654.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.224.203" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 655, "hostname": "au655.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.224.211" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 655, "hostname": "au655.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.224.211" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 656, "hostname": "au656.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.224.219" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 656, "hostname": "au656.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.224.219" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 657, "hostname": "au657.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.212.224.227" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 657, "hostname": "au657.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.212.224.227" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 700, "hostname": "au700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.19" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 700, "hostname": "au700.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.19" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 701, "hostname": "au701.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.27" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 701, "hostname": "au701.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.27" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 702, "hostname": "au702.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.35" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 702, "hostname": "au702.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.35" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 703, "hostname": "au703.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.43" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 703, "hostname": "au703.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.43" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 704, "hostname": "au704.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.51" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 704, "hostname": "au704.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.51" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 705, "hostname": "au705.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.59" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 705, "hostname": "au705.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.59" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 706, "hostname": "au706.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.67" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 706, "hostname": "au706.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.67" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 707, "hostname": "au707.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.75" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 707, "hostname": "au707.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.75" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 711, "hostname": "au711.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.213.139" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 711, "hostname": "au711.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.213.139" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 712, "hostname": "au712.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.213.163" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 712, "hostname": "au712.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.213.163" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 713, "hostname": "au713.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.195" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 713, "hostname": "au713.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.195" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 714, "hostname": "au714.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.187" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 714, "hostname": "au714.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.187" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 725, "hostname": "au725.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.1" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 725, "hostname": "au725.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.1" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 726, "hostname": "au726.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.3" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 726, "hostname": "au726.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.3" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 727, "hostname": "au727.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.5" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 727, "hostname": "au727.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.5" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 728, "hostname": "au728.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.7" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 728, "hostname": "au728.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.7" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 729, "hostname": "au729.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.9" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 729, "hostname": "au729.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.9" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 730, "hostname": "au730.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.11" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 730, "hostname": "au730.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.11" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 731, "hostname": "au731.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.13" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 731, "hostname": "au731.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.13" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 732, "hostname": "au732.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.15" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 732, "hostname": "au732.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.15" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 746, "hostname": "au746.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.77" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 746, "hostname": "au746.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.77" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 747, "hostname": "au747.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.79" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 747, "hostname": "au747.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.79" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 748, "hostname": "au748.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.81" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 748, "hostname": "au748.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.81" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 749, "hostname": "au749.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.83" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 749, "hostname": "au749.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.83" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 750, "hostname": "au750.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.85" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 750, "hostname": "au750.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.85" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 751, "hostname": "au751.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.87" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 751, "hostname": "au751.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.87" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 752, "hostname": "au752.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.218.127.89" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 752, "hostname": "au752.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "185.218.127.89" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 784, "hostname": "au784.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.1.212.83" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Standard VPN servers", "P2P" ], "number": 784, "hostname": "au784.nordvpn.com", "wgpubkey": "igVgVXvTO8gqWji2P2tNeS0+gYCPU/o8hr4ZnqcRZko=", "ips": [ "103.1.212.83" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 804, "hostname": "au804.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.33" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 805, "hostname": "au805.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.35" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 806, "hostname": "au806.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.63.21" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 807, "hostname": "au807.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.63.23" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 808, "hostname": "au808.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.63.26" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 809, "hostname": "au809.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.63.41" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 810, "hostname": "au810.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.38" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 811, "hostname": "au811.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.40" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 812, "hostname": "au812.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.98" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 813, "hostname": "au813.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.100" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 814, "hostname": "au814.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.104" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 815, "hostname": "au815.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.106" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 816, "hostname": "au816.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.109" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 817, "hostname": "au817.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.111" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 818, "hostname": "au818.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.114" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 819, "hostname": "au819.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.116" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 820, "hostname": "au820.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.119" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 821, "hostname": "au821.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.33.121" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 822, "hostname": "au822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "121.127.47.81" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 823, "hostname": "au823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "121.127.47.83" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "categories": [ "Dedicated IP" ], "number": 824, "hostname": "au824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "121.127.47.88" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "at80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.207.203" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "at80.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "5.253.207.203" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "at86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.34.100" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "at86.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.216.34.100" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "at88.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.64.127.219" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "at88.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "217.64.127.219" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "at89.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.139.75" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "at89.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "91.132.139.75" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "at90.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.139.83" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "at90.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "91.132.139.83" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "at94.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.34.219" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "at94.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.216.34.219" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "at95.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.34.171" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "at95.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.216.34.171" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "at96.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.202.83" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "at96.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.236.202.83" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "at97.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.202.88" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "at97.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.236.202.88" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "at98.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.155.227" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "at98.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.120.155.227" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "at99.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.155.232" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "at99.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.120.155.232" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "at100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.155.211" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "at100.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.120.155.211" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "at101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.155.216" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "at101.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.120.155.216" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "at105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.139.59" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "at105.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "91.132.139.59" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "at106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.212.51" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "at106.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.244.212.51" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "at107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.207.19" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "at107.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "5.253.207.19" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "at108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.207.195" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "at108.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "5.253.207.195" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "at109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.207.211" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "at109.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "5.253.207.211" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "at110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.207.219" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "at110.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "5.253.207.219" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "at111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.212.3" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "at111.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.120.212.3" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "at112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.212.11" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "at112.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.120.212.11" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "at113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.212.19" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "at113.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.120.212.19" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "at116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.180.12.248" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "at116.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.180.12.248" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "at117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.180.12.242" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "at117.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.180.12.242" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "at118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.180.12.245" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "at118.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "185.180.12.245" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "at119.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.223.75" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "at119.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.223.75" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "at120.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.223.80" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "at120.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.223.80" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "at121.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.223.85" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "at121.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.223.85" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "at122.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.2" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "at122.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.2" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 123, "hostname": "at123.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.7" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 123, "hostname": "at123.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.7" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 124, "hostname": "at124.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.12" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 124, "hostname": "at124.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.12" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "at125.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.17" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "at125.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.17" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 126, "hostname": "at126.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.22" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 126, "hostname": "at126.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.22" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 127, "hostname": "at127.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.27" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 127, "hostname": "at127.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.27" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "at128.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.32" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "at128.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.32" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 129, "hostname": "at129.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.37" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 129, "hostname": "at129.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.37" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 130, "hostname": "at130.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.129" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 130, "hostname": "at130.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.129" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "at131.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.133" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "at131.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.133" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "at132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.137" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "at132.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.137" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "at133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.141" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "at133.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.141" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "at134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.145" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "at134.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.145" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "at135.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.149" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "at135.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.149" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "at136.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.153" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "at136.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.153" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "at137.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.218" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "at137.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.218" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "at138.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.213" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "at138.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.213" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "at139.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.208" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "at139.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.208" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "at140.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.203" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "at140.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.203" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "at141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.198" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "at141.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.198" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "at142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.193" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "at142.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.193" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "at143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.115" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "at143.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.115" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "at144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.120" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "at144.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.120" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "at145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.81.195" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "at145.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "146.70.81.195" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "at146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.81.163" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "at146.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "146.70.81.163" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "at147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.162" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "at147.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.162" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "at148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.223.66" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "at148.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.223.66" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "at149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.195.158" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "at149.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.195.158" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "at150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.133.130" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "at150.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "87.249.133.130" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "at151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.223.71" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "at151.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "37.19.223.71" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "at152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.133.135" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "at152.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "87.249.133.135" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "at153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.133.139" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "at153.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "87.249.133.139" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "at154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.133.143" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "at154.nordvpn.com", "wgpubkey": "F6b2ac9H7hEvt03EonY1bS4FzNAabEmURDTB8wIIPXc=", "ips": [ "87.249.133.143" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Dedicated IP", "P2P" ], "number": 155, "hostname": "at155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.133.148" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Dedicated IP", "P2P" ], "number": 156, "hostname": "at156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.133.150" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Dedicated IP", "P2P" ], "number": 157, "hostname": "at157.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.19.162" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "categories": [ "Dedicated IP", "P2P" ], "number": 158, "hostname": "at158.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.19.164" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "region": "Europe", "city": "Baku", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "az1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.79.1" ] }, { "vpn": "wireguard", "country": "Azerbaijan", "region": "Europe", "city": "Baku", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "az1.nordvpn.com", "wgpubkey": "7q+iF1U6jxKLLHKFCW+ODdSd5Op7R3E0MoEDmQULnTA=", "ips": [ "45.137.79.1" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "region": "Europe", "city": "Baku", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "az2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.137.79.3" ] }, { "vpn": "wireguard", "country": "Azerbaijan", "region": "Europe", "city": "Baku", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "az2.nordvpn.com", "wgpubkey": "7q+iF1U6jxKLLHKFCW+ODdSd5Op7R3E0MoEDmQULnTA=", "ips": [ "45.137.79.3" ] }, { "vpn": "openvpn", "country": "Bahamas", "region": "The Americas", "city": "Nassau", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bs1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.160.1" ] }, { "vpn": "wireguard", "country": "Bahamas", "region": "The Americas", "city": "Nassau", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bs1.nordvpn.com", "wgpubkey": "go0vPS951gkeRZARd1B7hgaENr0fgwWf+PHiK+/F/3M=", "ips": [ "45.95.160.1" ] }, { "vpn": "openvpn", "country": "Bahamas", "region": "The Americas", "city": "Nassau", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bs2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.160.3" ] }, { "vpn": "wireguard", "country": "Bahamas", "region": "The Americas", "city": "Nassau", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bs2.nordvpn.com", "wgpubkey": "go0vPS951gkeRZARd1B7hgaENr0fgwWf+PHiK+/F/3M=", "ips": [ "45.95.160.3" ] }, { "vpn": "openvpn", "country": "Bangladesh", "region": "Asia Pacific", "city": "Dhaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bd1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.161.1" ] }, { "vpn": "wireguard", "country": "Bangladesh", "region": "Asia Pacific", "city": "Dhaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bd1.nordvpn.com", "wgpubkey": "kYYnQJKm8FLFiw9ThClQv4oG6IIH1IOHXAWuqmY2T2A=", "ips": [ "45.95.161.1" ] }, { "vpn": "openvpn", "country": "Bangladesh", "region": "Asia Pacific", "city": "Dhaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bd2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.161.3" ] }, { "vpn": "wireguard", "country": "Bangladesh", "region": "Asia Pacific", "city": "Dhaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bd2.nordvpn.com", "wgpubkey": "kYYnQJKm8FLFiw9ThClQv4oG6IIH1IOHXAWuqmY2T2A=", "ips": [ "45.95.161.3" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "be148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.137" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "be148.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.137" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "be149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.191.250" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "be149.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "77.243.191.250" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "be150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.217.115" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "be150.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.210.217.115" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "be151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.217.120" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "be151.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.210.217.120" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "be152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.131" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "be152.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.131" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "be153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.211" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "be153.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.211" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "be154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.216" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "be154.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.216" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "be155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.51" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "be155.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.51" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "be156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.232.21.99" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "be156.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.232.21.99" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "be157.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.191.243" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "be157.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "77.243.191.243" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 158, "hostname": "be158.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.211" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 158, "hostname": "be158.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.211" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 159, "hostname": "be159.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.219" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 159, "hostname": "be159.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.219" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 160, "hostname": "be160.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.227" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 160, "hostname": "be160.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.227" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 161, "hostname": "be161.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.99" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 161, "hostname": "be161.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.99" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "be162.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.123" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "be162.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.123" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "be163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.195" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "be163.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.195" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "be164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.203" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "be164.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.203" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "be165.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.187.251.51" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "be165.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "194.187.251.51" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "be166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.187.251.56" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "be166.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "194.187.251.56" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "be167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.187.251.61" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "be167.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "194.187.251.61" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "be168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.57.251" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "be168.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "91.207.57.251" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "be169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.191.83" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "be169.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "77.243.191.83" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "be170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.191.107" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "be170.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "77.243.191.107" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "be171.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.191.195" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "be171.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "77.243.191.195" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "be172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.217.99" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "be172.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.210.217.99" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "be173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.217.131" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "be173.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.210.217.131" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "be174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.217.139" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "be174.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.210.217.139" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "be175.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.146" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "be175.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.146" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "be176.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.217.165" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "be176.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.210.217.165" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 177, "hostname": "be177.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.217.170" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 177, "hostname": "be177.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.210.217.170" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 178, "hostname": "be178.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.3" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 178, "hostname": "be178.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.3" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "be179.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.11" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "be179.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.11" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "be180.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.19" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "be180.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.19" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "be181.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.27" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "be181.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.27" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "be182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.143.35" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "be182.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "37.120.143.35" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "be183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.19.141" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "be183.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "82.102.19.141" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 184, "hostname": "be184.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.3" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 184, "hostname": "be184.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.3" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 185, "hostname": "be185.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.8" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 185, "hostname": "be185.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.8" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "be186.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.13" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "be186.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.13" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "be187.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.18" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "be187.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.18" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "be188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.23" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "be188.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.23" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "be189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.28" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "be189.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.28" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "be190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.33" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "be190.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.33" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "be191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.38" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "be191.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.38" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "be192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.43" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "be192.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.43" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "be193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.48" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "be193.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.48" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "be194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.53" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "be194.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.53" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "be195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.58" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "be195.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.58" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "be196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.63" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "be196.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.63" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "be197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.68" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "be197.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.68" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "be198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.73" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "be198.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.73" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "be199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.78" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "be199.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.78" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "be200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.83" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "be200.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.83" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "be201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.88" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "be201.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.88" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "be202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.93" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "be202.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.93" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "be203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.95.55.98" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "be203.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "188.95.55.98" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "be204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.90.123.171" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "be204.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "91.90.123.171" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "be205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.90.123.195" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "be205.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "91.90.123.195" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "be206.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.205.3" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "be206.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "5.253.205.3" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "be207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.55.43" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "be207.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "146.70.55.43" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "be208.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.1" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "be208.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.1" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "be209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.14" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "be209.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.14" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "be210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.27" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "be210.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.27" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "be211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.40" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "be211.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.40" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "be212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.52" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "be212.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.52" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "be213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.64" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "be213.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.64" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "be214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.76" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "be214.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.76" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "be215.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.88" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "be215.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.88" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "be216.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.100" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "be216.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.100" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "be217.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.112" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "be217.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.112" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "be218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.129" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "be218.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.129" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "be219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.142" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "be219.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.142" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "be220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.155" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "be220.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.155" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "be221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.168" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "be221.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.168" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "be222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.180" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "be222.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.180" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "be223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.192" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "be223.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.192" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "be224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.204" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "be224.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.204" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "be225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.216" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "be225.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.216" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "be226.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.228" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "be226.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.228" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "be227.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.255.240" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "be227.nordvpn.com", "wgpubkey": "VSa6XYcD279ahd3IuEiUH6VpXn0+h+kWrD4OcN1ExUs=", "ips": [ "185.245.255.240" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Dedicated IP" ], "number": 228, "hostname": "be228.nordvpn.com", "tcp": true, "udp": true, "ips": [ "207.211.214.22" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Dedicated IP" ], "number": 229, "hostname": "be229.nordvpn.com", "tcp": true, "udp": true, "ips": [ "207.211.214.24" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Dedicated IP" ], "number": 230, "hostname": "be230.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.27.50" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Dedicated IP" ], "number": 231, "hostname": "be231.nordvpn.com", "tcp": true, "udp": true, "ips": [ "207.211.214.26" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "categories": [ "Dedicated IP" ], "number": 232, "hostname": "be232.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.27.56" ] }, { "vpn": "openvpn", "country": "Belize", "region": "The Americas", "city": "Belmopan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bz1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.162.1" ] }, { "vpn": "wireguard", "country": "Belize", "region": "The Americas", "city": "Belmopan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bz1.nordvpn.com", "wgpubkey": "VEOZqlbsQm0YW2CF1gQCez7kFMpfXTmb0IHqHuW7fmw=", "ips": [ "45.95.162.1" ] }, { "vpn": "openvpn", "country": "Belize", "region": "The Americas", "city": "Belmopan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bz2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.162.3" ] }, { "vpn": "wireguard", "country": "Belize", "region": "The Americas", "city": "Belmopan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bz2.nordvpn.com", "wgpubkey": "VEOZqlbsQm0YW2CF1gQCez7kFMpfXTmb0IHqHuW7fmw=", "ips": [ "45.95.162.3" ] }, { "vpn": "openvpn", "country": "Bermuda", "region": "The Americas", "city": "Hamilton", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bm1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.163.1" ] }, { "vpn": "wireguard", "country": "Bermuda", "region": "The Americas", "city": "Hamilton", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bm1.nordvpn.com", "wgpubkey": "1mcrd4g1gybweJmBM0B3NKGt9S4Y1AFUtLcZPepks0o=", "ips": [ "45.95.163.1" ] }, { "vpn": "openvpn", "country": "Bermuda", "region": "The Americas", "city": "Hamilton", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bm2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.95.163.3" ] }, { "vpn": "wireguard", "country": "Bermuda", "region": "The Americas", "city": "Hamilton", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bm2.nordvpn.com", "wgpubkey": "1mcrd4g1gybweJmBM0B3NKGt9S4Y1AFUtLcZPepks0o=", "ips": [ "45.95.163.3" ] }, { "vpn": "openvpn", "country": "Bhutan", "region": "Asia Pacific", "city": "Thimphu", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bt1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.188.1" ] }, { "vpn": "wireguard", "country": "Bhutan", "region": "Asia Pacific", "city": "Thimphu", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bt1.nordvpn.com", "wgpubkey": "jbpDlFcls5bc/Kc4ieoxvILjheifWPnihFJ67yiRbxs=", "ips": [ "45.134.188.1" ] }, { "vpn": "openvpn", "country": "Bhutan", "region": "Asia Pacific", "city": "Thimphu", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bt2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.188.3" ] }, { "vpn": "wireguard", "country": "Bhutan", "region": "Asia Pacific", "city": "Thimphu", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bt2.nordvpn.com", "wgpubkey": "jbpDlFcls5bc/Kc4ieoxvILjheifWPnihFJ67yiRbxs=", "ips": [ "45.134.188.3" ] }, { "vpn": "openvpn", "country": "Bolivia", "region": "The Americas", "city": "La Paz", "categories": [ "Standard VPN servers" ], "number": 1, "hostname": "bo1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.189.1" ] }, { "vpn": "wireguard", "country": "Bolivia", "region": "The Americas", "city": "La Paz", "categories": [ "Standard VPN servers" ], "number": 1, "hostname": "bo1.nordvpn.com", "wgpubkey": "dB7GU6dPF1m/dwzkCWIsCj3HULZQvPV5ayFcP4Jajww=", "ips": [ "45.134.189.1" ] }, { "vpn": "openvpn", "country": "Bolivia", "region": "The Americas", "city": "La Paz", "categories": [ "Standard VPN servers" ], "number": 2, "hostname": "bo2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.189.3" ] }, { "vpn": "wireguard", "country": "Bolivia", "region": "The Americas", "city": "La Paz", "categories": [ "Standard VPN servers" ], "number": 2, "hostname": "bo2.nordvpn.com", "wgpubkey": "dB7GU6dPF1m/dwzkCWIsCj3HULZQvPV5ayFcP4Jajww=", "ips": [ "45.134.189.3" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 12, "hostname": "ba12.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.111.183" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 12, "hostname": "ba12.nordvpn.com", "wgpubkey": "8ic6tKwTcaqC8twPHJAyLJ+u0rJjdyPvd/9EyajZWlE=", "ips": [ "185.212.111.183" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 13, "hostname": "ba13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.99.3.195" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 13, "hostname": "ba13.nordvpn.com", "wgpubkey": "8ic6tKwTcaqC8twPHJAyLJ+u0rJjdyPvd/9EyajZWlE=", "ips": [ "185.99.3.195" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "ba14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.111.159" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "ba14.nordvpn.com", "wgpubkey": "8ic6tKwTcaqC8twPHJAyLJ+u0rJjdyPvd/9EyajZWlE=", "ips": [ "185.212.111.159" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "ba15.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.111.147" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "ba15.nordvpn.com", "wgpubkey": "8ic6tKwTcaqC8twPHJAyLJ+u0rJjdyPvd/9EyajZWlE=", "ips": [ "185.212.111.147" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "ba16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.111.171" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "ba16.nordvpn.com", "wgpubkey": "8ic6tKwTcaqC8twPHJAyLJ+u0rJjdyPvd/9EyajZWlE=", "ips": [ "185.212.111.171" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "br71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "189.1.170.129" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "br71.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "189.1.170.129" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "br72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "189.1.168.146" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "br72.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "189.1.168.146" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "br73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "189.1.168.154" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "br73.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "189.1.168.154" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "br75.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.1" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "br75.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.1" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "br76.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.17" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "br76.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.17" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "br77.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.33" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "br77.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.33" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "br78.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.49" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "br78.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.49" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "br79.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.64" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "br79.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.64" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "br80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.79" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "br80.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.79" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "br81.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.94" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "br81.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.94" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "br82.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.109" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "br82.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.109" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "br83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.129" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "br83.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.129" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "br84.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.147" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "br84.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.147" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "br85.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.165" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "br85.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.165" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "br86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.183" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "br86.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.183" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "br87.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.201" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "br87.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.201" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "br88.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.218" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "br88.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.218" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "br89.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.235" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "br89.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.235" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "br90.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.176.145" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "br90.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "185.153.176.145" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "br92.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.205.145" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "br92.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "193.19.205.145" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "br93.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.205.161" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "br93.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "193.19.205.161" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "br94.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.205.177" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "br94.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "193.19.205.177" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "br95.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.205.193" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "br95.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "193.19.205.193" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "br96.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.205.209" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "br96.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "193.19.205.209" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "br97.nordvpn.com", "tcp": true, "udp": true, "ips": [ "177.54.156.194" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "br97.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "177.54.156.194" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "br98.nordvpn.com", "tcp": true, "udp": true, "ips": [ "177.54.156.207" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "br98.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "177.54.156.207" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "br100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.205.129" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "br100.nordvpn.com", "wgpubkey": "ObOAEerHpiFeJaqUbs59yihD4JbLqlC6cQn01guu3UU=", "ips": [ "193.19.205.129" ] }, { "vpn": "openvpn", "country": "Brunei Darussalam", "region": "Asia Pacific", "city": "Bandar Seri Begawan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bn1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.190.1" ] }, { "vpn": "wireguard", "country": "Brunei Darussalam", "region": "Asia Pacific", "city": "Bandar Seri Begawan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "bn1.nordvpn.com", "wgpubkey": "1E0PtgUSGirapiopDafRFu6CXZXejmqp1cAWbZPGTwg=", "ips": [ "45.134.190.1" ] }, { "vpn": "openvpn", "country": "Brunei Darussalam", "region": "Asia Pacific", "city": "Bandar Seri Begawan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bn2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.190.3" ] }, { "vpn": "wireguard", "country": "Brunei Darussalam", "region": "Asia Pacific", "city": "Bandar Seri Begawan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "bn2.nordvpn.com", "wgpubkey": "1E0PtgUSGirapiopDafRFu6CXZXejmqp1cAWbZPGTwg=", "ips": [ "45.134.190.3" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "bg38.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.147" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "bg38.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.147" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "bg46.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.91" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "bg46.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.91" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "bg47.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.99" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "bg47.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.99" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "bg48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.107" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "bg48.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.107" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "bg49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.115" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "bg49.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.115" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "bg50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.123" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "bg50.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.123" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "bg51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.131" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "bg51.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.131" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "bg52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.139" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "bg52.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.139" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "bg53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.75" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "bg53.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.75" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "bg54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.202.83" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "bg54.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "217.138.202.83" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "bg55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.2" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "bg55.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.2" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "bg56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.14" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "bg56.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.14" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "bg57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.26" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "bg57.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.26" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "bg58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.38" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "bg58.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.38" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "bg59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.50" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "bg59.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.50" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "bg60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.62" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "bg60.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.62" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "bg61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.74" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "bg61.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.74" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "bg62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.86" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "bg62.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.86" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "bg63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.98" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "bg63.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.98" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "bg64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.55.110" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "bg64.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "156.146.55.110" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "bg65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.96" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "bg65.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.96" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "bg66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.112" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "bg66.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.112" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "bg67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.128" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "bg67.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.128" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "bg68.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.144" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "bg68.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.144" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "bg69.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.160" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "bg69.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.160" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "bg70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.176" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "bg70.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.176" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "bg71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.192" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "bg71.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.192" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "bg72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.208" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "bg72.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.208" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "bg73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.224" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "bg73.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.224" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "bg74.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.117.240" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "bg74.nordvpn.com", "wgpubkey": "xqa+kDsDeYLQAnVDUQaFun9Djfo3c1ESTMwfNArHw10=", "ips": [ "37.46.117.240" ] }, { "vpn": "openvpn", "country": "Cambodia", "region": "Asia Pacific", "city": "Phnom Penh", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "kh1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.191.1" ] }, { "vpn": "wireguard", "country": "Cambodia", "region": "Asia Pacific", "city": "Phnom Penh", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "kh1.nordvpn.com", "wgpubkey": "LZmxB4Nz3SDd82w5af2PO1fW2R442oY8rUPzLFjlomU=", "ips": [ "45.134.191.1" ] }, { "vpn": "openvpn", "country": "Cambodia", "region": "Asia Pacific", "city": "Phnom Penh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "kh2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.191.3" ] }, { "vpn": "wireguard", "country": "Cambodia", "region": "Asia Pacific", "city": "Phnom Penh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "kh2.nordvpn.com", "wgpubkey": "LZmxB4Nz3SDd82w5af2PO1fW2R442oY8rUPzLFjlomU=", "ips": [ "45.134.191.3" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1066, "hostname": "ca1066.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.90.243" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1066, "hostname": "ca1066.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "86.106.90.243" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1103, "hostname": "ca1103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.218.171" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1103, "hostname": "ca1103.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "139.28.218.171" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1104, "hostname": "ca1104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.218.179" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1104, "hostname": "ca1104.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "139.28.218.179" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1187, "hostname": "ca1187.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.218.187" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1187, "hostname": "ca1187.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "139.28.218.187" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1188, "hostname": "ca1188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.218.195" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1188, "hostname": "ca1188.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "139.28.218.195" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1189, "hostname": "ca1189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.218.203" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1189, "hostname": "ca1189.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "139.28.218.203" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1190, "hostname": "ca1190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.218.211" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1190, "hostname": "ca1190.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "139.28.218.211" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1191, "hostname": "ca1191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.218.219" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1191, "hostname": "ca1191.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "139.28.218.219" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1210, "hostname": "ca1210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.47.234.171" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1210, "hostname": "ca1210.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "89.47.234.171" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1211, "hostname": "ca1211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.47.234.179" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1211, "hostname": "ca1211.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "89.47.234.179" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1212, "hostname": "ca1212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.47.234.187" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1212, "hostname": "ca1212.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "89.47.234.187" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1213, "hostname": "ca1213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.47.234.195" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1213, "hostname": "ca1213.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "89.47.234.195" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1214, "hostname": "ca1214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.47.234.203" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1214, "hostname": "ca1214.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "89.47.234.203" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1221, "hostname": "ca1221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.233.115" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1221, "hostname": "ca1221.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "5.181.233.115" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1222, "hostname": "ca1222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.233.107" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1222, "hostname": "ca1222.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "5.181.233.107" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1223, "hostname": "ca1223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.233.99" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1223, "hostname": "ca1223.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "5.181.233.99" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1224, "hostname": "ca1224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.233.59" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1224, "hostname": "ca1224.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "5.181.233.59" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1225, "hostname": "ca1225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.233.43" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1225, "hostname": "ca1225.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "5.181.233.43" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1549, "hostname": "ca1549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.83" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1549, "hostname": "ca1549.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.83" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1550, "hostname": "ca1550.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.91" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1550, "hostname": "ca1550.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.91" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1551, "hostname": "ca1551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.99" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1551, "hostname": "ca1551.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.99" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1552, "hostname": "ca1552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.107" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1552, "hostname": "ca1552.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.107" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1553, "hostname": "ca1553.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.115" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1553, "hostname": "ca1553.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.115" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1554, "hostname": "ca1554.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.123" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1554, "hostname": "ca1554.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.123" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1555, "hostname": "ca1555.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.131" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1555, "hostname": "ca1555.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.131" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1556, "hostname": "ca1556.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.139" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1556, "hostname": "ca1556.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.139" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1557, "hostname": "ca1557.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.147" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1557, "hostname": "ca1557.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.147" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1558, "hostname": "ca1558.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.155" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1558, "hostname": "ca1558.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.155" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1559, "hostname": "ca1559.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.163" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1559, "hostname": "ca1559.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.163" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1560, "hostname": "ca1560.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.171" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1560, "hostname": "ca1560.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.171" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1561, "hostname": "ca1561.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.179" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1561, "hostname": "ca1561.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.179" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1562, "hostname": "ca1562.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.187" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1562, "hostname": "ca1562.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.187" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1563, "hostname": "ca1563.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.195" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1563, "hostname": "ca1563.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.195" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1564, "hostname": "ca1564.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.203" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1564, "hostname": "ca1564.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.203" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1565, "hostname": "ca1565.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.75.211" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1565, "hostname": "ca1565.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.75.211" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1605, "hostname": "ca1605.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.100" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1605, "hostname": "ca1605.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.100" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1606, "hostname": "ca1606.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.102" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1606, "hostname": "ca1606.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.102" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1607, "hostname": "ca1607.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.104" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1607, "hostname": "ca1607.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.104" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1609, "hostname": "ca1609.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.108" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1609, "hostname": "ca1609.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.108" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1610, "hostname": "ca1610.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.110" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1610, "hostname": "ca1610.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.110" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1611, "hostname": "ca1611.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.112" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1611, "hostname": "ca1611.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.112" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1612, "hostname": "ca1612.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.114" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1612, "hostname": "ca1612.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.114" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1613, "hostname": "ca1613.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.116" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1613, "hostname": "ca1613.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.116" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1614, "hostname": "ca1614.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.118" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1614, "hostname": "ca1614.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.118" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1615, "hostname": "ca1615.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.120" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1615, "hostname": "ca1615.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.120" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1616, "hostname": "ca1616.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.122" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1616, "hostname": "ca1616.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.122" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1617, "hostname": "ca1617.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.124" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1617, "hostname": "ca1617.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.124" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1618, "hostname": "ca1618.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.126" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1618, "hostname": "ca1618.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.126" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1619, "hostname": "ca1619.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.128" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1619, "hostname": "ca1619.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.128" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1620, "hostname": "ca1620.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.130" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1620, "hostname": "ca1620.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.130" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1621, "hostname": "ca1621.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.132" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1621, "hostname": "ca1621.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1622, "hostname": "ca1622.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.80.134" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1622, "hostname": "ca1622.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "185.213.80.134" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1623, "hostname": "ca1623.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.100" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1623, "hostname": "ca1623.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.100" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1624, "hostname": "ca1624.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.102" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1624, "hostname": "ca1624.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.102" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1625, "hostname": "ca1625.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.104" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1625, "hostname": "ca1625.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.104" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1626, "hostname": "ca1626.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.106" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1626, "hostname": "ca1626.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.106" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1627, "hostname": "ca1627.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.108" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1627, "hostname": "ca1627.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.108" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1628, "hostname": "ca1628.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.110" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1628, "hostname": "ca1628.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.110" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1629, "hostname": "ca1629.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.112" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1629, "hostname": "ca1629.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.112" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1630, "hostname": "ca1630.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.114" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1630, "hostname": "ca1630.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.114" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1631, "hostname": "ca1631.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.116" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1631, "hostname": "ca1631.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.116" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1632, "hostname": "ca1632.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.118" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1632, "hostname": "ca1632.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.118" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1633, "hostname": "ca1633.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.120" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1633, "hostname": "ca1633.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.120" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1634, "hostname": "ca1634.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.122" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1634, "hostname": "ca1634.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.122" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1635, "hostname": "ca1635.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.124" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1635, "hostname": "ca1635.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.124" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1636, "hostname": "ca1636.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.126" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1636, "hostname": "ca1636.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.126" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1637, "hostname": "ca1637.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.128" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1637, "hostname": "ca1637.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.128" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1638, "hostname": "ca1638.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.130" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1638, "hostname": "ca1638.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.130" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1639, "hostname": "ca1639.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.132" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1639, "hostname": "ca1639.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1640, "hostname": "ca1640.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.134" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1640, "hostname": "ca1640.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.134" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1641, "hostname": "ca1641.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.88.190.136" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1641, "hostname": "ca1641.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "45.88.190.136" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1678, "hostname": "ca1678.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.237.139" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1678, "hostname": "ca1678.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "37.120.237.139" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1679, "hostname": "ca1679.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.237.147" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1679, "hostname": "ca1679.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "37.120.237.147" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1680, "hostname": "ca1680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.237.131" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1680, "hostname": "ca1680.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "37.120.237.131" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1681, "hostname": "ca1681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.112.219" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1681, "hostname": "ca1681.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "146.70.112.219" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1682, "hostname": "ca1682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.74.35" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "categories": [ "Standard VPN servers", "P2P" ], "number": 1682, "hostname": "ca1682.nordvpn.com", "wgpubkey": "0YcIRErcUysK3OaPJXe3O1s7JEHcQgONwICZCUXECRs=", "ips": [ "176.113.74.35" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 74, "hostname": "us-ca74.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.83" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 74, "hostname": "us-ca74.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.83" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 75, "hostname": "us-ca75.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.84" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 75, "hostname": "us-ca75.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.84" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 76, "hostname": "us-ca76.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.91" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 76, "hostname": "us-ca76.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.91" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 77, "hostname": "us-ca77.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.92" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 77, "hostname": "us-ca77.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.92" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 78, "hostname": "us-ca78.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.138.179" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 78, "hostname": "us-ca78.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.120.138.179" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 79, "hostname": "us-ca79.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.138.180" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 79, "hostname": "us-ca79.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.120.138.180" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 80, "hostname": "us-ca80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.138.187" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 80, "hostname": "us-ca80.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.120.138.187" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 81, "hostname": "us-ca81.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.138.188" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 81, "hostname": "us-ca81.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.120.138.188" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 82, "hostname": "us-ca82.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.211" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 82, "hostname": "us-ca82.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.211" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 83, "hostname": "us-ca83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.212" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 83, "hostname": "us-ca83.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.212" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 84, "hostname": "us-ca84.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.219" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 84, "hostname": "us-ca84.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.219" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 85, "hostname": "us-ca85.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.220" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 85, "hostname": "us-ca85.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "176.113.72.220" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 86, "hostname": "us-ca86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.232.22.75" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 86, "hostname": "us-ca86.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.232.22.75" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 87, "hostname": "us-ca87.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.232.22.76" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 87, "hostname": "us-ca87.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.232.22.76" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 90, "hostname": "us-ca90.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.195" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 90, "hostname": "us-ca90.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.244.215.195" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 91, "hostname": "us-ca91.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.196" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 91, "hostname": "us-ca91.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.244.215.196" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 94, "hostname": "us-ca94.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.22.33" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 94, "hostname": "us-ca94.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "154.47.22.33" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 95, "hostname": "us-ca95.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.22.34" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Double VPN" ], "number": 95, "hostname": "us-ca95.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "154.47.22.34" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1437, "hostname": "ca1437.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.2" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1437, "hostname": "ca1437.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1438, "hostname": "ca1438.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.7" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1438, "hostname": "ca1438.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.7" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1439, "hostname": "ca1439.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.12" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1439, "hostname": "ca1439.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.12" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1440, "hostname": "ca1440.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.17" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1440, "hostname": "ca1440.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.17" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1441, "hostname": "ca1441.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.22" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1441, "hostname": "ca1441.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.22" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1442, "hostname": "ca1442.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.27" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1442, "hostname": "ca1442.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.27" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1443, "hostname": "ca1443.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.32" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1443, "hostname": "ca1443.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.32" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1444, "hostname": "ca1444.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.37" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1444, "hostname": "ca1444.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.37" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1445, "hostname": "ca1445.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.42" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1445, "hostname": "ca1445.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.42" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1446, "hostname": "ca1446.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.47" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1446, "hostname": "ca1446.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.47" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1447, "hostname": "ca1447.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.52" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1447, "hostname": "ca1447.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.52" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1448, "hostname": "ca1448.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.57" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1448, "hostname": "ca1448.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.57" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1449, "hostname": "ca1449.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.62" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1449, "hostname": "ca1449.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.62" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1450, "hostname": "ca1450.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.67" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1450, "hostname": "ca1450.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.67" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1451, "hostname": "ca1451.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.72" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1451, "hostname": "ca1451.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.72" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1452, "hostname": "ca1452.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.77" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1452, "hostname": "ca1452.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.77" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1453, "hostname": "ca1453.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.82" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1453, "hostname": "ca1453.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.82" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1454, "hostname": "ca1454.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.87" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1454, "hostname": "ca1454.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.87" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1455, "hostname": "ca1455.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.92" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1455, "hostname": "ca1455.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.92" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1456, "hostname": "ca1456.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.97" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1456, "hostname": "ca1456.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.97" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1457, "hostname": "ca1457.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.102" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1457, "hostname": "ca1457.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.102" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1458, "hostname": "ca1458.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.107" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1458, "hostname": "ca1458.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.107" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1459, "hostname": "ca1459.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.112" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1459, "hostname": "ca1459.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.112" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1460, "hostname": "ca1460.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.117" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1460, "hostname": "ca1460.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.117" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1461, "hostname": "ca1461.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.122" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1461, "hostname": "ca1461.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.122" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1462, "hostname": "ca1462.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.127" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1462, "hostname": "ca1462.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.127" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1463, "hostname": "ca1463.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.132" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1463, "hostname": "ca1463.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1464, "hostname": "ca1464.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.137" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1464, "hostname": "ca1464.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.137" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1465, "hostname": "ca1465.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.142" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1465, "hostname": "ca1465.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.142" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1466, "hostname": "ca1466.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.147" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1466, "hostname": "ca1466.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.147" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1467, "hostname": "ca1467.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.152" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1467, "hostname": "ca1467.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.152" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1468, "hostname": "ca1468.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.157" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1468, "hostname": "ca1468.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.157" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1469, "hostname": "ca1469.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.162" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1469, "hostname": "ca1469.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.162" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1470, "hostname": "ca1470.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.167" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1470, "hostname": "ca1470.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.167" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1471, "hostname": "ca1471.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.172" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1471, "hostname": "ca1471.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.172" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1472, "hostname": "ca1472.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.177" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1472, "hostname": "ca1472.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.177" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1473, "hostname": "ca1473.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.182" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1473, "hostname": "ca1473.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.182" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1474, "hostname": "ca1474.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.187" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1474, "hostname": "ca1474.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.187" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1475, "hostname": "ca1475.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.192" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1475, "hostname": "ca1475.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.192" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1476, "hostname": "ca1476.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.197" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1476, "hostname": "ca1476.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.197" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1477, "hostname": "ca1477.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.202" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1477, "hostname": "ca1477.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.202" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1478, "hostname": "ca1478.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.207" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1478, "hostname": "ca1478.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.207" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1479, "hostname": "ca1479.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.212" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1479, "hostname": "ca1479.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.212" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1480, "hostname": "ca1480.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.217" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1480, "hostname": "ca1480.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.217" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1481, "hostname": "ca1481.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.222" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1481, "hostname": "ca1481.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.222" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1482, "hostname": "ca1482.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.227" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1482, "hostname": "ca1482.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.227" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1483, "hostname": "ca1483.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.232" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1483, "hostname": "ca1483.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.232" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1484, "hostname": "ca1484.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.237" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1484, "hostname": "ca1484.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.237" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1485, "hostname": "ca1485.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.242" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1485, "hostname": "ca1485.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.242" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1486, "hostname": "ca1486.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.213.247" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1486, "hostname": "ca1486.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.213.247" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1487, "hostname": "ca1487.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.2" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1487, "hostname": "ca1487.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.2" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1488, "hostname": "ca1488.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.7" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1488, "hostname": "ca1488.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.7" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1489, "hostname": "ca1489.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.12" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1489, "hostname": "ca1489.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.12" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1490, "hostname": "ca1490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.17" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1490, "hostname": "ca1490.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.17" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1491, "hostname": "ca1491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.22" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1491, "hostname": "ca1491.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.22" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1492, "hostname": "ca1492.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.27" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1492, "hostname": "ca1492.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.27" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1493, "hostname": "ca1493.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.32" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1493, "hostname": "ca1493.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.32" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1494, "hostname": "ca1494.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.37" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1494, "hostname": "ca1494.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.37" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1495, "hostname": "ca1495.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.42" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1495, "hostname": "ca1495.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.42" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1496, "hostname": "ca1496.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.47" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1496, "hostname": "ca1496.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.47" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1497, "hostname": "ca1497.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.52" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1497, "hostname": "ca1497.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.52" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1498, "hostname": "ca1498.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.57" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1498, "hostname": "ca1498.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.57" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1499, "hostname": "ca1499.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.62" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1499, "hostname": "ca1499.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.62" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1500, "hostname": "ca1500.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.67" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1500, "hostname": "ca1500.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.67" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1501, "hostname": "ca1501.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.72" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1501, "hostname": "ca1501.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.72" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1502, "hostname": "ca1502.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.77" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1502, "hostname": "ca1502.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.77" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1503, "hostname": "ca1503.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.82" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1503, "hostname": "ca1503.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.82" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1504, "hostname": "ca1504.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.87" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1504, "hostname": "ca1504.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.87" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1505, "hostname": "ca1505.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.92" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1505, "hostname": "ca1505.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.92" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1506, "hostname": "ca1506.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.97" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1506, "hostname": "ca1506.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.97" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1507, "hostname": "ca1507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.102" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1507, "hostname": "ca1507.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.102" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1508, "hostname": "ca1508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.107" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1508, "hostname": "ca1508.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.107" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1509, "hostname": "ca1509.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.112" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1509, "hostname": "ca1509.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.112" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1510, "hostname": "ca1510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.117" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1510, "hostname": "ca1510.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.117" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1511, "hostname": "ca1511.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.122" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1511, "hostname": "ca1511.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.122" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1512, "hostname": "ca1512.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.127" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1512, "hostname": "ca1512.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.127" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1513, "hostname": "ca1513.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.132" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1513, "hostname": "ca1513.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1514, "hostname": "ca1514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.137" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1514, "hostname": "ca1514.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.137" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1515, "hostname": "ca1515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.142" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1515, "hostname": "ca1515.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.142" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1516, "hostname": "ca1516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.147" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1516, "hostname": "ca1516.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.147" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1517, "hostname": "ca1517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.152" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1517, "hostname": "ca1517.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.152" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1518, "hostname": "ca1518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.157" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1518, "hostname": "ca1518.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.157" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1519, "hostname": "ca1519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.162" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1519, "hostname": "ca1519.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.162" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1520, "hostname": "ca1520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.167" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1520, "hostname": "ca1520.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.167" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1521, "hostname": "ca1521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.247" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1521, "hostname": "ca1521.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.247" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1522, "hostname": "ca1522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.172" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1522, "hostname": "ca1522.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.172" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1523, "hostname": "ca1523.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.177" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1523, "hostname": "ca1523.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.177" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1524, "hostname": "ca1524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.182" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1524, "hostname": "ca1524.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.182" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1525, "hostname": "ca1525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.187" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1525, "hostname": "ca1525.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.187" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1526, "hostname": "ca1526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.192" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1526, "hostname": "ca1526.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.192" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1527, "hostname": "ca1527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.197" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1527, "hostname": "ca1527.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.197" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1528, "hostname": "ca1528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.202" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1528, "hostname": "ca1528.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "37.19.212.202" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1642, "hostname": "ca1642.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.100" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1642, "hostname": "ca1642.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.100" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1643, "hostname": "ca1643.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.102" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1643, "hostname": "ca1643.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.102" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1644, "hostname": "ca1644.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.104" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1644, "hostname": "ca1644.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.104" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1645, "hostname": "ca1645.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.106" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1645, "hostname": "ca1645.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.106" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1646, "hostname": "ca1646.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.108" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1646, "hostname": "ca1646.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.108" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1647, "hostname": "ca1647.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.110" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1647, "hostname": "ca1647.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.110" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1648, "hostname": "ca1648.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.112" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1648, "hostname": "ca1648.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.112" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1649, "hostname": "ca1649.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.114" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1649, "hostname": "ca1649.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.114" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1650, "hostname": "ca1650.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.116" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1650, "hostname": "ca1650.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.116" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1651, "hostname": "ca1651.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.118" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1651, "hostname": "ca1651.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.118" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1652, "hostname": "ca1652.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.120" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1652, "hostname": "ca1652.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.120" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1653, "hostname": "ca1653.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.122" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1653, "hostname": "ca1653.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.122" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1654, "hostname": "ca1654.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.124" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1654, "hostname": "ca1654.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.124" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1655, "hostname": "ca1655.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.126" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1655, "hostname": "ca1655.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.126" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1656, "hostname": "ca1656.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.128" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1656, "hostname": "ca1656.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.128" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1657, "hostname": "ca1657.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.130" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1657, "hostname": "ca1657.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.130" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1658, "hostname": "ca1658.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.132" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1658, "hostname": "ca1658.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1659, "hostname": "ca1659.nordvpn.com", "tcp": true, "udp": true, "ips": [ "153.92.40.134" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1659, "hostname": "ca1659.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "153.92.40.134" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1660, "hostname": "ca1660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.100" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1660, "hostname": "ca1660.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.100" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1661, "hostname": "ca1661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.102" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1661, "hostname": "ca1661.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.102" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1662, "hostname": "ca1662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.104" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1662, "hostname": "ca1662.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.104" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1663, "hostname": "ca1663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.106" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1663, "hostname": "ca1663.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.106" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1664, "hostname": "ca1664.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.108" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1664, "hostname": "ca1664.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.108" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1665, "hostname": "ca1665.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.110" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1665, "hostname": "ca1665.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.110" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1666, "hostname": "ca1666.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.112" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1666, "hostname": "ca1666.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.112" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1667, "hostname": "ca1667.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.114" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1667, "hostname": "ca1667.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.114" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1668, "hostname": "ca1668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.116" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1668, "hostname": "ca1668.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.116" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1669, "hostname": "ca1669.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.118" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1669, "hostname": "ca1669.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.118" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1670, "hostname": "ca1670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.120" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1670, "hostname": "ca1670.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.120" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1671, "hostname": "ca1671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.122" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1671, "hostname": "ca1671.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.122" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1672, "hostname": "ca1672.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.124" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1672, "hostname": "ca1672.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.124" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1673, "hostname": "ca1673.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.126" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1673, "hostname": "ca1673.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.126" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1674, "hostname": "ca1674.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.128" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1674, "hostname": "ca1674.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.128" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1675, "hostname": "ca1675.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.130" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1675, "hostname": "ca1675.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.130" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1676, "hostname": "ca1676.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.132" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1676, "hostname": "ca1676.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1677, "hostname": "ca1677.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.118.134" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Standard VPN servers", "P2P" ], "number": 1677, "hostname": "ca1677.nordvpn.com", "wgpubkey": "qIhtTW9K4iXWFo5Q4dOPdXg8/xubXr9yEGoN55D8xnA=", "ips": [ "185.212.118.134" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1690, "hostname": "ca1690.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.249.51" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1691, "hostname": "ca1691.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.249.53" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1692, "hostname": "ca1692.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.1" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1693, "hostname": "ca1693.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.3" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1694, "hostname": "ca1694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.249.55" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1695, "hostname": "ca1695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.249.57" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1696, "hostname": "ca1696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.17" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1697, "hostname": "ca1697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.19" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1698, "hostname": "ca1698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.6" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1699, "hostname": "ca1699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.8" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1700, "hostname": "ca1700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.23" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1701, "hostname": "ca1701.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.25" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1702, "hostname": "ca1702.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.34" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1703, "hostname": "ca1703.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.36" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1704, "hostname": "ca1704.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.44" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1705, "hostname": "ca1705.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.46" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1706, "hostname": "ca1706.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.50" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1707, "hostname": "ca1707.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.17.52" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1708, "hostname": "ca1708.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.247" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1709, "hostname": "ca1709.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.249" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1710, "hostname": "ca1710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.50" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1711, "hostname": "ca1711.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.52" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1712, "hostname": "ca1712.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.194" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1713, "hostname": "ca1713.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.196" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1714, "hostname": "ca1714.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.55" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1715, "hostname": "ca1715.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.57" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1716, "hostname": "ca1716.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.199" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1717, "hostname": "ca1717.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.201" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1718, "hostname": "ca1718.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.204" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1719, "hostname": "ca1719.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.206" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1720, "hostname": "ca1720.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.214" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1721, "hostname": "ca1721.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.216" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1722, "hostname": "ca1722.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.209" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "categories": [ "Dedicated IP" ], "number": 1723, "hostname": "ca1723.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.16.211" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1566, "hostname": "ca1566.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.100" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1566, "hostname": "ca1566.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.100" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1567, "hostname": "ca1567.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.102" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1567, "hostname": "ca1567.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.102" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1568, "hostname": "ca1568.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.104" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1568, "hostname": "ca1568.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.104" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1569, "hostname": "ca1569.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.106" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1569, "hostname": "ca1569.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.106" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1570, "hostname": "ca1570.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.108" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1570, "hostname": "ca1570.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.108" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1571, "hostname": "ca1571.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.110" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1571, "hostname": "ca1571.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.110" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1572, "hostname": "ca1572.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.112" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1572, "hostname": "ca1572.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.112" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1573, "hostname": "ca1573.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.114" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1573, "hostname": "ca1573.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.114" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1574, "hostname": "ca1574.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.116" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1574, "hostname": "ca1574.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.116" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1575, "hostname": "ca1575.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.118" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1575, "hostname": "ca1575.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.118" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1576, "hostname": "ca1576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.120" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1576, "hostname": "ca1576.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.120" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1577, "hostname": "ca1577.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.122" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1577, "hostname": "ca1577.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.122" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1578, "hostname": "ca1578.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.124" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1578, "hostname": "ca1578.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.124" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1579, "hostname": "ca1579.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.126" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1579, "hostname": "ca1579.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.126" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1580, "hostname": "ca1580.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.128" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1580, "hostname": "ca1580.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.128" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1581, "hostname": "ca1581.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.130" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1581, "hostname": "ca1581.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.130" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1582, "hostname": "ca1582.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.132" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1582, "hostname": "ca1582.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1583, "hostname": "ca1583.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.134" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1583, "hostname": "ca1583.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.134" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1584, "hostname": "ca1584.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.136" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1584, "hostname": "ca1584.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.136" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1585, "hostname": "ca1585.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.138" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1585, "hostname": "ca1585.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.138" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1586, "hostname": "ca1586.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.140" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1586, "hostname": "ca1586.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.140" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1587, "hostname": "ca1587.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.142" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1587, "hostname": "ca1587.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.142" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1588, "hostname": "ca1588.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.144" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1588, "hostname": "ca1588.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.144" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1589, "hostname": "ca1589.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.146" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1589, "hostname": "ca1589.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.146" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1590, "hostname": "ca1590.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.148" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1590, "hostname": "ca1590.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.148" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1591, "hostname": "ca1591.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.150" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1591, "hostname": "ca1591.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.150" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1592, "hostname": "ca1592.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.152" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1592, "hostname": "ca1592.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.152" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1593, "hostname": "ca1593.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.154" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1593, "hostname": "ca1593.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.154" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1594, "hostname": "ca1594.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.156" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1594, "hostname": "ca1594.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.156" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1595, "hostname": "ca1595.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.158" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1595, "hostname": "ca1595.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.158" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1596, "hostname": "ca1596.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.160" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1596, "hostname": "ca1596.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.160" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1597, "hostname": "ca1597.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.179.162" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1597, "hostname": "ca1597.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "185.153.179.162" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1683, "hostname": "ca1683.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.100.43.4" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1683, "hostname": "ca1683.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "176.100.43.4" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1684, "hostname": "ca1684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.100.43.16" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1684, "hostname": "ca1684.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "176.100.43.16" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1685, "hostname": "ca1685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.100.43.28" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1685, "hostname": "ca1685.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "176.100.43.28" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1686, "hostname": "ca1686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.100.43.40" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1686, "hostname": "ca1686.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "176.100.43.40" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1687, "hostname": "ca1687.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.100.43.52" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1687, "hostname": "ca1687.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "176.100.43.52" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1688, "hostname": "ca1688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.100.43.64" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1688, "hostname": "ca1688.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "176.100.43.64" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1689, "hostname": "ca1689.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.100.43.76" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "categories": [ "Standard VPN servers", "P2P" ], "number": 1689, "hostname": "ca1689.nordvpn.com", "wgpubkey": "x64VhRToeBFhVlaJGA+R1CE1K3MsT7KVELquTyeQ3j0=", "ips": [ "176.100.43.76" ] }, { "vpn": "openvpn", "country": "Cayman Islands", "region": "The Americas", "city": "George Town", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ky1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.112.1" ] }, { "vpn": "wireguard", "country": "Cayman Islands", "region": "The Americas", "city": "George Town", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ky1.nordvpn.com", "wgpubkey": "OvFEgQulgqJwgpgQ7hfvld8wT+2B2OhcKRS7h+kA5lI=", "ips": [ "95.214.112.1" ] }, { "vpn": "openvpn", "country": "Cayman Islands", "region": "The Americas", "city": "George Town", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ky2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.112.3" ] }, { "vpn": "wireguard", "country": "Cayman Islands", "region": "The Americas", "city": "George Town", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ky2.nordvpn.com", "wgpubkey": "OvFEgQulgqJwgpgQ7hfvld8wT+2B2OhcKRS7h+kA5lI=", "ips": [ "95.214.112.3" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 33, "hostname": "cl33.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.229.4" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 33, "hostname": "cl33.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "85.190.229.4" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 34, "hostname": "cl34.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.229.24" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 34, "hostname": "cl34.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "85.190.229.24" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 35, "hostname": "cl35.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.229.44" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 35, "hostname": "cl35.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "85.190.229.44" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 36, "hostname": "cl36.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.229.64" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 36, "hostname": "cl36.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "85.190.229.64" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 37, "hostname": "cl37.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.229.84" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 37, "hostname": "cl37.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "85.190.229.84" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "cl38.nordvpn.com", "tcp": true, "udp": true, "ips": [ "158.220.78.1" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "cl38.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "158.220.78.1" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 39, "hostname": "cl39.nordvpn.com", "tcp": true, "udp": true, "ips": [ "158.220.78.21" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 39, "hostname": "cl39.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "158.220.78.21" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "cl40.nordvpn.com", "tcp": true, "udp": true, "ips": [ "158.220.78.41" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "cl40.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "158.220.78.41" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "cl41.nordvpn.com", "tcp": true, "udp": true, "ips": [ "158.220.78.61" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "cl41.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "158.220.78.61" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 42, "hostname": "cl42.nordvpn.com", "tcp": true, "udp": true, "ips": [ "158.220.78.81" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "categories": [ "Standard VPN servers", "P2P" ], "number": 42, "hostname": "cl42.nordvpn.com", "wgpubkey": "oF4UQAM7+8DEKFSkiv3KjwOo9Zw0H3yBHOYji2jnrhE=", "ips": [ "158.220.78.81" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "co1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.1" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "co1.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.1" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "co2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.26" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "co2.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.26" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 3, "hostname": "co3.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.51" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 3, "hostname": "co3.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.51" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 4, "hostname": "co4.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.76" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 4, "hostname": "co4.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.76" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 5, "hostname": "co5.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.100" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 5, "hostname": "co5.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.100" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 6, "hostname": "co6.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.129" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 6, "hostname": "co6.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.129" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 7, "hostname": "co7.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.154" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 7, "hostname": "co7.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.154" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 8, "hostname": "co8.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.179" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 8, "hostname": "co8.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.179" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 9, "hostname": "co9.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.204" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 9, "hostname": "co9.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.204" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 10, "hostname": "co10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.73.228" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "categories": [ "Standard VPN servers", "P2P" ], "number": 10, "hostname": "co10.nordvpn.com", "wgpubkey": "/SDeC9Ohe1CFSSCCqKTP+D2HMJnqOVziyaKF3CNhPwQ=", "ips": [ "185.216.73.228" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 36, "hostname": "cr36.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.249.195" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 36, "hostname": "cr36.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.249.195" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 37, "hostname": "cr37.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.249.203" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 37, "hostname": "cr37.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.249.203" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 38, "hostname": "cr38.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.249.211" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 38, "hostname": "cr38.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.249.211" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 39, "hostname": "cr39.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.249.219" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 39, "hostname": "cr39.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.249.219" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 40, "hostname": "cr40.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.249.227" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 40, "hostname": "cr40.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.249.227" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 41, "hostname": "cr41.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.249.235" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 41, "hostname": "cr41.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.249.235" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 48, "hostname": "cr48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.248.3" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 48, "hostname": "cr48.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.248.3" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 49, "hostname": "cr49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.248.11" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 49, "hostname": "cr49.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.248.11" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 50, "hostname": "cr50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.248.19" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 50, "hostname": "cr50.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.248.19" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 51, "hostname": "cr51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.248.27" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 51, "hostname": "cr51.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.248.27" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 52, "hostname": "cr52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.248.35" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 52, "hostname": "cr52.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.248.35" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 53, "hostname": "cr53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "179.48.248.43" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "categories": [ "Standard VPN servers" ], "number": 53, "hostname": "cr53.nordvpn.com", "wgpubkey": "j9NcKo61nfX1ZKi0BvmuK7uSBuSt9zmoE+KTBWOo/Ac=", "ips": [ "179.48.248.43" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 33, "hostname": "hr33.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.1" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 33, "hostname": "hr33.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.1" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 34, "hostname": "hr34.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.3" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 34, "hostname": "hr34.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.3" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 35, "hostname": "hr35.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.5" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 35, "hostname": "hr35.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.5" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 36, "hostname": "hr36.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.7" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 36, "hostname": "hr36.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.7" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 37, "hostname": "hr37.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.9" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 37, "hostname": "hr37.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.9" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "hr38.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.11" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "hr38.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.11" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 39, "hostname": "hr39.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.13" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 39, "hostname": "hr39.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.13" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "hr40.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.15" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "hr40.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.15" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "hr41.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.17" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "hr41.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.17" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 42, "hostname": "hr42.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.19" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 42, "hostname": "hr42.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.19" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 43, "hostname": "hr43.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.21" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 43, "hostname": "hr43.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.21" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 44, "hostname": "hr44.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.23" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 44, "hostname": "hr44.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.23" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 45, "hostname": "hr45.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.25" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 45, "hostname": "hr45.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.25" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "hr46.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.27" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "hr46.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.27" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "hr47.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.29" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "hr47.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.29" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "hr48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.160.118.31" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "hr48.nordvpn.com", "wgpubkey": "aMXxXstSXwxfwzMkAF8gsajEmg0KkTDwtJRWMqBUVWA=", "ips": [ "193.160.118.31" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 30, "hostname": "cy30.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.204.161" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 30, "hostname": "cy30.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "193.19.204.161" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 31, "hostname": "cy31.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.204.129" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 31, "hostname": "cy31.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "193.19.204.129" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 35, "hostname": "cy35.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.204.177" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 35, "hostname": "cy35.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "193.19.204.177" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 36, "hostname": "cy36.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.204.193" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 36, "hostname": "cy36.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "193.19.204.193" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 37, "hostname": "cy37.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.204.209" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 37, "hostname": "cy37.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "193.19.204.209" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "cy38.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.204.225" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 38, "hostname": "cy38.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "193.19.204.225" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 39, "hostname": "cy39.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.47.194.1" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 39, "hostname": "cy39.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "195.47.194.1" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "cy40.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.47.194.17" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "cy40.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "195.47.194.17" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "cy41.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.47.194.33" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "cy41.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "195.47.194.33" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 43, "hostname": "cy43.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.47.194.65" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 43, "hostname": "cy43.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "195.47.194.65" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 44, "hostname": "cy44.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.47.194.81" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 44, "hostname": "cy44.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "195.47.194.81" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 45, "hostname": "cy45.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.19.204.145" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 45, "hostname": "cy45.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "193.19.204.145" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "cy46.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.47.194.49" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "cy46.nordvpn.com", "wgpubkey": "AQ+reNE4hk8UB2YY6NbwA6kaZCMrMPxKUzUK2+E2dxE=", "ips": [ "195.47.194.49" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "cz93.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.199.27" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "cz93.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "217.138.199.27" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "cz97.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.38.149" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "cz97.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "212.102.38.149" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "cz98.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.38.146" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "cz98.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "212.102.38.146" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "cz101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.186.251" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "cz101.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "89.238.186.251" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "cz102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.156.174.3" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "cz102.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "185.156.174.3" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "cz103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.156.174.91" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "cz103.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "185.156.174.91" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "cz108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.186.235" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "cz108.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "89.238.186.235" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "cz109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.35.251" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "cz109.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "185.216.35.251" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "cz110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.35.115" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "cz110.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "185.216.35.115" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "cz112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.35.120" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "cz112.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "185.216.35.120" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "cz114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.112.91" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "cz114.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "193.9.112.91" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 115, "hostname": "cz115.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.112.75" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 115, "hostname": "cz115.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "193.9.112.75" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "cz116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.112.83" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "cz116.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "193.9.112.83" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "cz117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.199.19" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "cz117.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "217.138.199.19" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "cz118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.199.11" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "cz118.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "217.138.199.11" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "cz119.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.199.3" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "cz119.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "217.138.199.3" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "cz120.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.112.251" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "cz120.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "193.9.112.251" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "cz121.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.112.243" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "cz121.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "193.9.112.243" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "cz122.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.112.235" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "cz122.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "193.9.112.235" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 123, "hostname": "cz123.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.199.51" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 123, "hostname": "cz123.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "217.138.199.51" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 124, "hostname": "cz124.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.199.43" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 124, "hostname": "cz124.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "217.138.199.43" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "cz125.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.199.35" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "cz125.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "217.138.199.35" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 126, "hostname": "cz126.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.8" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 126, "hostname": "cz126.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.8" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 127, "hostname": "cz127.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.14" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 127, "hostname": "cz127.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.14" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "cz128.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.26" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "cz128.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.26" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 129, "hostname": "cz129.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.32" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 129, "hostname": "cz129.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.32" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 130, "hostname": "cz130.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.38" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 130, "hostname": "cz130.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.38" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "cz131.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.44" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "cz131.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.44" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "cz132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.50" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "cz132.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.50" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "cz133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.56" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "cz133.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.56" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "cz134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.62" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "cz134.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.62" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "cz135.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.68" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "cz135.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.68" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "cz136.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.74" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "cz136.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.74" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "cz137.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.80" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "cz137.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.80" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "cz138.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.86" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "cz138.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.86" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "cz139.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.2" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "cz139.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.2" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "cz140.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.20" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "cz140.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.20" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "cz141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.92" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "cz141.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.92" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "cz142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.56.104" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "cz142.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "138.199.56.104" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "cz143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.14" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "cz143.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.14" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "cz144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.2" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "cz144.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.2" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "cz145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.26" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "cz145.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.26" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "cz146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.77" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "cz146.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.77" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "cz147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.247" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "cz147.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.247" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "cz148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.89" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "cz148.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.89" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "cz149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.223" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "cz149.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.223" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "cz150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.209.20" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "cz150.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "178.249.209.20" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "cz151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.209.8" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "cz151.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "178.249.209.8" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "cz152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.209.32" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "cz152.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "178.249.209.32" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "cz153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.211" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "cz153.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.211" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "cz154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.65" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "cz154.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.65" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "cz155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.135.235" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "cz155.nordvpn.com", "wgpubkey": "apEe1p4IQvCQxexoxoUTXsm2p582FtbDAboPwThFYEs=", "ips": [ "87.249.135.235" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "dk150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.3" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "dk150.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.3" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "dk152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.20.212" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "dk152.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "82.102.20.212" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "dk166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.195" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "dk166.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.195" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "dk167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.203" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "dk167.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.203" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "dk172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.227" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "dk172.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.227" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "dk173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.235" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "dk173.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.235" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "dk182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.20.35" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "dk182.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "82.102.20.35" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "dk194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.58.46.235" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "dk194.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "2.58.46.235" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "dk199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.131" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "dk199.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.131" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "dk200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.136" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "dk200.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.136" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "dk201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.141" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "dk201.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.141" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "dk202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.149" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "dk202.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.149" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "dk203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.154" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "dk203.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.154" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "dk207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.195" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "dk207.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.195" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "dk209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.227" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "dk209.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.227" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "dk210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.235" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "dk210.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.235" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "dk211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.243" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "dk211.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.243" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "dk212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.251" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "dk212.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.251" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "dk213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.131.219" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "dk213.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.131.219" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "dk214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.58.46.19" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "dk214.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "2.58.46.19" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "dk215.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.58.46.27" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "dk215.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "2.58.46.27" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "dk218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.84.83" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "dk218.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "185.245.84.83" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "dk219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.84.163" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "dk219.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "185.245.84.163" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "dk220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.84.171" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "dk220.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "185.245.84.171" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "dk221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.84.179" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "dk221.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "185.245.84.179" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "dk222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.84.187" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "dk222.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "185.245.84.187" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "dk233.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.43" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "dk233.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.43" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 234, "hostname": "dk234.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.51" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 234, "hostname": "dk234.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.51" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 235, "hostname": "dk235.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.59" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 235, "hostname": "dk235.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.59" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 236, "hostname": "dk236.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.67" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 236, "hostname": "dk236.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.67" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "dk237.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.80.187" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "dk237.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "146.70.80.187" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "dk238.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.194.75" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "dk238.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.194.75" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 239, "hostname": "dk239.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.80.195" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 239, "hostname": "dk239.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "146.70.80.195" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 240, "hostname": "dk240.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.65.163" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 240, "hostname": "dk240.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "95.174.65.163" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 241, "hostname": "dk241.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.65.171" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 241, "hostname": "dk241.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "95.174.65.171" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 242, "hostname": "dk242.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.145.83" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 242, "hostname": "dk242.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.145.83" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 243, "hostname": "dk243.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.145.91" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 243, "hostname": "dk243.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "37.120.145.91" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 244, "hostname": "dk244.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.80.163" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 244, "hostname": "dk244.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "146.70.80.163" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 245, "hostname": "dk245.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.80.171" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 245, "hostname": "dk245.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "146.70.80.171" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 246, "hostname": "dk246.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.80.179" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 246, "hostname": "dk246.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "146.70.80.179" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 256, "hostname": "dk256.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.1" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 256, "hostname": "dk256.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.1" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 257, "hostname": "dk257.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.3" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 257, "hostname": "dk257.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.3" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 258, "hostname": "dk258.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.5" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 258, "hostname": "dk258.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.5" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 259, "hostname": "dk259.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.7" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 259, "hostname": "dk259.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.7" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 260, "hostname": "dk260.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.9" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 260, "hostname": "dk260.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.9" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 261, "hostname": "dk261.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.11" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 261, "hostname": "dk261.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.11" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 262, "hostname": "dk262.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.13" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 262, "hostname": "dk262.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.13" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 263, "hostname": "dk263.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.15" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 263, "hostname": "dk263.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.15" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 264, "hostname": "dk264.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.17" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 264, "hostname": "dk264.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.17" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 265, "hostname": "dk265.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.19" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 265, "hostname": "dk265.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.19" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 266, "hostname": "dk266.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.21" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 266, "hostname": "dk266.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.21" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 267, "hostname": "dk267.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.23" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 267, "hostname": "dk267.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.23" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 268, "hostname": "dk268.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.25" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 268, "hostname": "dk268.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.25" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 269, "hostname": "dk269.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.27" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 269, "hostname": "dk269.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.27" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 270, "hostname": "dk270.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.29" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 270, "hostname": "dk270.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.29" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 271, "hostname": "dk271.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.31" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 271, "hostname": "dk271.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.31" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 272, "hostname": "dk272.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.33" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 272, "hostname": "dk272.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.33" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 273, "hostname": "dk273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.35" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 273, "hostname": "dk273.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.35" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 274, "hostname": "dk274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.37" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 274, "hostname": "dk274.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.37" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 275, "hostname": "dk275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.238.39" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Standard VPN servers", "P2P" ], "number": 275, "hostname": "dk275.nordvpn.com", "wgpubkey": "EHL1zeXjZEJlqtFA8qaRVuvl0zR4skbC/AjiG66CLCc=", "ips": [ "85.190.238.39" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Dedicated IP" ], "number": 276, "hostname": "dk276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.217.246" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Dedicated IP" ], "number": 277, "hostname": "dk277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.217.248" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Dedicated IP" ], "number": 278, "hostname": "dk278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.217.114" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "categories": [ "Dedicated IP" ], "number": 279, "hostname": "dk279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.217.250" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "region": "The Americas", "city": "Santo Domingo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "do1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.113.1" ] }, { "vpn": "wireguard", "country": "Dominican Republic", "region": "The Americas", "city": "Santo Domingo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "do1.nordvpn.com", "wgpubkey": "VA3tFWv23VQkeEe58pg6UndnPeWAPCE1wUhgmJg3vDE=", "ips": [ "95.214.113.1" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "region": "The Americas", "city": "Santo Domingo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "do2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.113.3" ] }, { "vpn": "wireguard", "country": "Dominican Republic", "region": "The Americas", "city": "Santo Domingo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "do2.nordvpn.com", "wgpubkey": "VA3tFWv23VQkeEe58pg6UndnPeWAPCE1wUhgmJg3vDE=", "ips": [ "95.214.113.3" ] }, { "vpn": "openvpn", "country": "Ecuador", "region": "The Americas", "city": "Quito", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ec1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.114.1" ] }, { "vpn": "wireguard", "country": "Ecuador", "region": "The Americas", "city": "Quito", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ec1.nordvpn.com", "wgpubkey": "SfK8cC8yGjXbnsvzXi8OYJYS0JIpC6jgYaO9umtLPAc=", "ips": [ "95.214.114.1" ] }, { "vpn": "openvpn", "country": "Ecuador", "region": "The Americas", "city": "Quito", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ec2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.114.3" ] }, { "vpn": "wireguard", "country": "Ecuador", "region": "The Americas", "city": "Quito", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ec2.nordvpn.com", "wgpubkey": "SfK8cC8yGjXbnsvzXi8OYJYS0JIpC6jgYaO9umtLPAc=", "ips": [ "95.214.114.3" ] }, { "vpn": "openvpn", "country": "Egypt", "region": "Africa the Middle East and India", "city": "Cairo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "eg1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.66.1" ] }, { "vpn": "wireguard", "country": "Egypt", "region": "Africa the Middle East and India", "city": "Cairo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "eg1.nordvpn.com", "wgpubkey": "gKi0sidj26eNeYuy4Z/DNzabU+Z41bzpA2w9WtjrqlY=", "ips": [ "212.97.66.1" ] }, { "vpn": "openvpn", "country": "Egypt", "region": "Africa the Middle East and India", "city": "Cairo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "eg2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.66.3" ] }, { "vpn": "wireguard", "country": "Egypt", "region": "Africa the Middle East and India", "city": "Cairo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "eg2.nordvpn.com", "wgpubkey": "gKi0sidj26eNeYuy4Z/DNzabU+Z41bzpA2w9WtjrqlY=", "ips": [ "212.97.66.3" ] }, { "vpn": "openvpn", "country": "El Salvador", "region": "The Americas", "city": "San Salvador", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "sv1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.115.1" ] }, { "vpn": "wireguard", "country": "El Salvador", "region": "The Americas", "city": "San Salvador", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "sv1.nordvpn.com", "wgpubkey": "z6bC/H0qsJlgppTbEhPjGX4coJdPRTr6e13mpCHdTmo=", "ips": [ "95.214.115.1" ] }, { "vpn": "openvpn", "country": "El Salvador", "region": "The Americas", "city": "San Salvador", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "sv2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.214.115.3" ] }, { "vpn": "wireguard", "country": "El Salvador", "region": "The Americas", "city": "San Salvador", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "sv2.nordvpn.com", "wgpubkey": "z6bC/H0qsJlgppTbEhPjGX4coJdPRTr6e13mpCHdTmo=", "ips": [ "95.214.115.3" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "ee64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.100" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "ee64.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.100" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "ee65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.102" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "ee65.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.102" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "ee66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.104" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "ee66.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.104" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "ee67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.106" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "ee67.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.106" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "ee68.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.108" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "ee68.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.108" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "ee69.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.110" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "ee69.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.110" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "ee70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.112" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "ee70.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.112" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "ee71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.114" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "ee71.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.114" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "ee72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.116" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "ee72.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.116" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "ee73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.239.118" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "ee73.nordvpn.com", "wgpubkey": "aPtylGsLlT6D0rZgCaN8vIgrhyyHKwDk2L9sprmffhc=", "ips": [ "85.190.239.118" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "fi179.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.124" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "fi179.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.124" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "fi180.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.126" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "fi180.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.126" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "fi181.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.133" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "fi181.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.133" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "fi182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.135" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "fi182.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.135" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "fi183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.137" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "fi183.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.137" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 184, "hostname": "fi184.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.139" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 184, "hostname": "fi184.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.139" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 185, "hostname": "fi185.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.141" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 185, "hostname": "fi185.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.141" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "fi186.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.143" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "fi186.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.143" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "fi187.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.145" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "fi187.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.145" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "fi188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.147" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "fi188.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.147" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "fi189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.149" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "fi189.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.149" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "fi190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.151" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "fi190.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.151" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "fi191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.153" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "fi191.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.153" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "fi192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.155" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "fi192.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.155" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "fi193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.157" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "fi193.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.157" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "fi194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.159" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "fi194.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.159" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "fi195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.161" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "fi195.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.161" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "fi196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.163" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "fi196.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.163" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "fi197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.165" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "fi197.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.165" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "fi198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.167" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "fi198.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.167" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "fi199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.202.81.169" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "fi199.nordvpn.com", "wgpubkey": "eLZ/KnZ225faKXG6dTGJJggiz7Q0PD919U5TnZ2+EFQ=", "ips": [ "85.202.81.169" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 789, "hostname": "fr789.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.7" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 789, "hostname": "fr789.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.7" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 790, "hostname": "fr790.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.12" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 790, "hostname": "fr790.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.12" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 791, "hostname": "fr791.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.17" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 791, "hostname": "fr791.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.17" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 793, "hostname": "fr793.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.27" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 793, "hostname": "fr793.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.27" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 794, "hostname": "fr794.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.32" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 794, "hostname": "fr794.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.32" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 795, "hostname": "fr795.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.37" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 795, "hostname": "fr795.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.37" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 796, "hostname": "fr796.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.42" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 796, "hostname": "fr796.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.42" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 797, "hostname": "fr797.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.47" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 797, "hostname": "fr797.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.47" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 798, "hostname": "fr798.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.52" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 798, "hostname": "fr798.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.52" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 799, "hostname": "fr799.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.57" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 799, "hostname": "fr799.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.57" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 800, "hostname": "fr800.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.62" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 800, "hostname": "fr800.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.62" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 801, "hostname": "fr801.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.67" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 801, "hostname": "fr801.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.67" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 802, "hostname": "fr802.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.72" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 802, "hostname": "fr802.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.72" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 803, "hostname": "fr803.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.77" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 803, "hostname": "fr803.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.77" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 804, "hostname": "fr804.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.82" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 804, "hostname": "fr804.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.82" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 805, "hostname": "fr805.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.87" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 805, "hostname": "fr805.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.87" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 806, "hostname": "fr806.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.92" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 806, "hostname": "fr806.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.92" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 807, "hostname": "fr807.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.97" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 807, "hostname": "fr807.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.97" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 808, "hostname": "fr808.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.102" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 808, "hostname": "fr808.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.102" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 809, "hostname": "fr809.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.107" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 809, "hostname": "fr809.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.107" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 810, "hostname": "fr810.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.112" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 810, "hostname": "fr810.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.112" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 811, "hostname": "fr811.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.117" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 811, "hostname": "fr811.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.117" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 812, "hostname": "fr812.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.194" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 812, "hostname": "fr812.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.194" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 813, "hostname": "fr813.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.199" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 813, "hostname": "fr813.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.199" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 814, "hostname": "fr814.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.204" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 814, "hostname": "fr814.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.204" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 815, "hostname": "fr815.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.209" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 815, "hostname": "fr815.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.209" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 816, "hostname": "fr816.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.214" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 816, "hostname": "fr816.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.214" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 817, "hostname": "fr817.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.219" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 817, "hostname": "fr817.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.219" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 818, "hostname": "fr818.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.2" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 818, "hostname": "fr818.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.2" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 819, "hostname": "fr819.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.228" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 819, "hostname": "fr819.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.228" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 820, "hostname": "fr820.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.233" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 820, "hostname": "fr820.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.233" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 821, "hostname": "fr821.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.241" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 821, "hostname": "fr821.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.241" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 822, "hostname": "fr822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.245" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 822, "hostname": "fr822.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.245" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 823, "hostname": "fr823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.224" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 823, "hostname": "fr823.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.224" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 824, "hostname": "fr824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.237" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 824, "hostname": "fr824.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.237" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 839, "hostname": "fr839.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.21" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 839, "hostname": "fr839.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.21" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 842, "hostname": "fr842.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.5" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 842, "hostname": "fr842.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.5" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 843, "hostname": "fr843.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.30" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 843, "hostname": "fr843.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.30" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 844, "hostname": "fr844.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.25" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 844, "hostname": "fr844.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.25" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 845, "hostname": "fr845.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.20" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 845, "hostname": "fr845.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.20" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 846, "hostname": "fr846.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.35" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 846, "hostname": "fr846.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.35" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 847, "hostname": "fr847.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.15" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 847, "hostname": "fr847.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.15" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 848, "hostname": "fr848.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.1" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 848, "hostname": "fr848.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.1" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 849, "hostname": "fr849.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.10" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 849, "hostname": "fr849.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.10" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 852, "hostname": "fr852.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.45" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 852, "hostname": "fr852.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.45" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 853, "hostname": "fr853.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.50" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 853, "hostname": "fr853.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.50" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 854, "hostname": "fr854.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.55" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 854, "hostname": "fr854.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.55" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 855, "hostname": "fr855.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.15.66" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 855, "hostname": "fr855.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.15.66" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 856, "hostname": "fr856.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.15.76" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 856, "hostname": "fr856.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.15.76" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 857, "hostname": "fr857.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.15.81" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 857, "hostname": "fr857.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.15.81" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 858, "hostname": "fr858.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.40" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 858, "hostname": "fr858.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.40" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 859, "hostname": "fr859.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.15.71" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 859, "hostname": "fr859.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.15.71" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 860, "hostname": "fr860.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.15.86" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 860, "hostname": "fr860.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.15.86" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 861, "hostname": "fr861.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.15.89" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 861, "hostname": "fr861.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.15.89" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 862, "hostname": "fr862.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.130" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 862, "hostname": "fr862.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.130" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 863, "hostname": "fr863.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.133" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 863, "hostname": "fr863.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.133" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 864, "hostname": "fr864.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.136" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 864, "hostname": "fr864.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.136" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 865, "hostname": "fr865.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.139" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 865, "hostname": "fr865.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.139" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 866, "hostname": "fr866.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.142" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 866, "hostname": "fr866.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.142" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 867, "hostname": "fr867.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.145" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 867, "hostname": "fr867.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.145" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 882, "hostname": "fr882.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.148" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 882, "hostname": "fr882.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.148" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 883, "hostname": "fr883.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.151" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 883, "hostname": "fr883.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.151" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 884, "hostname": "fr884.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.154" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 884, "hostname": "fr884.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "178.249.212.154" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 885, "hostname": "fr885.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.16.177" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 885, "hostname": "fr885.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "138.199.16.177" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 926, "hostname": "fr926.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.1" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 926, "hostname": "fr926.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.1" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 927, "hostname": "fr927.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.18" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 927, "hostname": "fr927.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.18" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 928, "hostname": "fr928.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.35" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 928, "hostname": "fr928.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.35" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 929, "hostname": "fr929.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.52" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 929, "hostname": "fr929.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.52" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 930, "hostname": "fr930.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.69" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 930, "hostname": "fr930.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.69" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 931, "hostname": "fr931.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.86" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 931, "hostname": "fr931.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.86" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 932, "hostname": "fr932.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.103" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 932, "hostname": "fr932.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.103" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 933, "hostname": "fr933.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.119" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 933, "hostname": "fr933.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.119" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 934, "hostname": "fr934.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.140" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 934, "hostname": "fr934.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.140" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 935, "hostname": "fr935.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.156" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 935, "hostname": "fr935.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.156" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 936, "hostname": "fr936.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.172" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 936, "hostname": "fr936.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.172" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 937, "hostname": "fr937.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.188" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 937, "hostname": "fr937.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.188" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 938, "hostname": "fr938.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.204" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 938, "hostname": "fr938.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.204" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 939, "hostname": "fr939.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.220" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 939, "hostname": "fr939.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.220" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 940, "hostname": "fr940.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.139.236" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Standard VPN servers", "P2P" ], "number": 940, "hostname": "fr940.nordvpn.com", "wgpubkey": "VkrbtQHNdEeX8m71354tyzMvrkP14BNQM/aqiYpBbBk=", "ips": [ "185.230.139.236" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Dedicated IP", "P2P" ], "number": 949, "hostname": "fr949.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.204" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Dedicated IP", "P2P" ], "number": 950, "hostname": "fr950.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.206" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Dedicated IP", "P2P" ], "number": 951, "hostname": "fr951.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.199" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "categories": [ "Dedicated IP", "P2P" ], "number": 952, "hostname": "fr952.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.212.201" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 10, "hostname": "uk-fr10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.163" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 10, "hostname": "uk-fr10.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.35.30.163" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 11, "hostname": "uk-fr11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.164" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 11, "hostname": "uk-fr11.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.35.30.164" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 16, "hostname": "uk-fr16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.90.2" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 16, "hostname": "uk-fr16.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.146.90.2" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 17, "hostname": "uk-fr17.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.90.3" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 17, "hostname": "uk-fr17.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.146.90.3" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 18, "hostname": "uk-fr18.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.191.197" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 18, "hostname": "uk-fr18.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.238.191.197" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 19, "hostname": "uk-fr19.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.191.198" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Double VPN" ], "number": 19, "hostname": "uk-fr19.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.238.191.198" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 439, "hostname": "fr439.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.2.199" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 440, "hostname": "fr440.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.2.206" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 452, "hostname": "fr452.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.219" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 452, "hostname": "fr452.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.219" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "fr536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.139" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "fr536.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.139" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "fr537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.147" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "fr537.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.147" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "fr538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.155" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "fr538.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.155" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 539, "hostname": "fr539.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.163" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 539, "hostname": "fr539.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.163" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 540, "hostname": "fr540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.195" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 540, "hostname": "fr540.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.195" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 541, "hostname": "fr541.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.203" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 541, "hostname": "fr541.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.203" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "fr542.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.171" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "fr542.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.171" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "fr543.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.179" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "fr543.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.179" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "fr544.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.187" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "fr544.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.187" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "fr545.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.3" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "fr545.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.3" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "fr546.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.6" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "fr546.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.6" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "fr547.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.9" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "fr547.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.9" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "fr548.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.12" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "fr548.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.12" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "fr549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.15" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "fr549.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.15" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "fr550.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.18" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "fr550.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.18" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "fr551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.21" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "fr551.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.21" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "fr552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.24" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "fr552.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.24" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 553, "hostname": "fr553.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.27" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 553, "hostname": "fr553.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.27" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 554, "hostname": "fr554.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.29" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 554, "hostname": "fr554.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.29" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 555, "hostname": "fr555.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.18.252" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 555, "hostname": "fr555.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "82.102.18.252" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 577, "hostname": "fr577.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.42.118" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 578, "hostname": "fr578.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.42.119" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 589, "hostname": "fr589.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.35" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 589, "hostname": "fr589.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.35" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 592, "hostname": "fr592.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.104.185.163" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 592, "hostname": "fr592.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.104.185.163" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 596, "hostname": "fr596.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.133" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 596, "hostname": "fr596.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.133" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 597, "hostname": "fr597.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.130" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 597, "hostname": "fr597.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.130" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 622, "hostname": "fr622.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.213.131" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 622, "hostname": "fr622.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.244.213.131" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 639, "hostname": "fr639.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.219.203" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 639, "hostname": "fr639.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "139.28.219.203" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 640, "hostname": "fr640.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.219.227" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 640, "hostname": "fr640.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "139.28.219.227" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 641, "hostname": "fr641.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.219.235" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 641, "hostname": "fr641.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "139.28.219.235" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 642, "hostname": "fr642.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.219.243" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 642, "hostname": "fr642.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "139.28.219.243" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 660, "hostname": "fr660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.51" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 660, "hostname": "fr660.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.51" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 661, "hostname": "fr661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.59" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 661, "hostname": "fr661.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.59" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 662, "hostname": "fr662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.131" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 662, "hostname": "fr662.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.131" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 663, "hostname": "fr663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.139" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 663, "hostname": "fr663.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.139" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 664, "hostname": "fr664.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.147" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 664, "hostname": "fr664.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.147" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 666, "hostname": "fr666.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.155" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 666, "hostname": "fr666.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.155" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 667, "hostname": "fr667.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.163" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 667, "hostname": "fr667.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.163" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 668, "hostname": "fr668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.171" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 668, "hostname": "fr668.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.171" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 669, "hostname": "fr669.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.179" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 669, "hostname": "fr669.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.179" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 670, "hostname": "fr670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.187" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 670, "hostname": "fr670.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.187" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 671, "hostname": "fr671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.42.113" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 671, "hostname": "fr671.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.42.113" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 672, "hostname": "fr672.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.42.108" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 672, "hostname": "fr672.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.42.108" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 673, "hostname": "fr673.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.42.103" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 673, "hostname": "fr673.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.42.103" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 674, "hostname": "fr674.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.42.98" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 674, "hostname": "fr674.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.42.98" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 675, "hostname": "fr675.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.211" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 675, "hostname": "fr675.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.211" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 676, "hostname": "fr676.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.219" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 676, "hostname": "fr676.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.219" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 677, "hostname": "fr677.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.227" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 677, "hostname": "fr677.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.227" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 678, "hostname": "fr678.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.235" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 678, "hostname": "fr678.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.235" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 679, "hostname": "fr679.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.243" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 679, "hostname": "fr679.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.243" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 680, "hostname": "fr680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.204.251" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 680, "hostname": "fr680.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.120.204.251" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 681, "hostname": "fr681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.89.174.115" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 681, "hostname": "fr681.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.89.174.115" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 682, "hostname": "fr682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.89.174.123" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 682, "hostname": "fr682.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.89.174.123" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 683, "hostname": "fr683.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.3" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 683, "hostname": "fr683.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.3" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 684, "hostname": "fr684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.11" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 684, "hostname": "fr684.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.11" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 685, "hostname": "fr685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.19" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 685, "hostname": "fr685.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.19" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 686, "hostname": "fr686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.27" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 686, "hostname": "fr686.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.27" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 687, "hostname": "fr687.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.43" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 687, "hostname": "fr687.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.43" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 688, "hostname": "fr688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.51" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 688, "hostname": "fr688.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.51" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 695, "hostname": "fr695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.147" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 695, "hostname": "fr695.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.147" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 696, "hostname": "fr696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.155" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 696, "hostname": "fr696.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.155" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 697, "hostname": "fr697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.163" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 697, "hostname": "fr697.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.163" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 698, "hostname": "fr698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.171" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 698, "hostname": "fr698.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.171" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 699, "hostname": "fr699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.179" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 699, "hostname": "fr699.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.179" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 700, "hostname": "fr700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.187" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 700, "hostname": "fr700.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.187" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 701, "hostname": "fr701.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.195" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 701, "hostname": "fr701.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.195" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 702, "hostname": "fr702.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.203" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 702, "hostname": "fr702.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.203" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 703, "hostname": "fr703.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.211" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 703, "hostname": "fr703.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.211" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 710, "hostname": "fr710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.181.131" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 710, "hostname": "fr710.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "45.152.181.131" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 738, "hostname": "fr738.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.139" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 738, "hostname": "fr738.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.139" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 739, "hostname": "fr739.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.154" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 739, "hostname": "fr739.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.154" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 740, "hostname": "fr740.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.154" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 740, "hostname": "fr740.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.154" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 741, "hostname": "fr741.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.130" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 741, "hostname": "fr741.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.130" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 742, "hostname": "fr742.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.133" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 742, "hostname": "fr742.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.133" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 743, "hostname": "fr743.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.136" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 743, "hostname": "fr743.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.136" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 744, "hostname": "fr744.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.139" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 744, "hostname": "fr744.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.139" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 745, "hostname": "fr745.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.142" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 745, "hostname": "fr745.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.142" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 746, "hostname": "fr746.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.142" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 746, "hostname": "fr746.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.142" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 747, "hostname": "fr747.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.145" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 747, "hostname": "fr747.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.145" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 748, "hostname": "fr748.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.148" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 748, "hostname": "fr748.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.148" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 749, "hostname": "fr749.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.43.151" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 749, "hostname": "fr749.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.17.43.151" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 750, "hostname": "fr750.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.145" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 750, "hostname": "fr750.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.145" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 751, "hostname": "fr751.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.148" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 751, "hostname": "fr751.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.148" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 752, "hostname": "fr752.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.151" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 752, "hostname": "fr752.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.151" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 753, "hostname": "fr753.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.157" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 754, "hostname": "fr754.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.158" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 755, "hostname": "fr755.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.160" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 755, "hostname": "fr755.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.160" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 756, "hostname": "fr756.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.163" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 756, "hostname": "fr756.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.163" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 757, "hostname": "fr757.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.166" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 757, "hostname": "fr757.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.166" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 758, "hostname": "fr758.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.169" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 758, "hostname": "fr758.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.169" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 759, "hostname": "fr759.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.172" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 759, "hostname": "fr759.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.172" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 760, "hostname": "fr760.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.175" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 760, "hostname": "fr760.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.175" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 761, "hostname": "fr761.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.178" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 761, "hostname": "fr761.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.178" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 762, "hostname": "fr762.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.181" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 762, "hostname": "fr762.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.181" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 763, "hostname": "fr763.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.184" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 763, "hostname": "fr763.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.184" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 764, "hostname": "fr764.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.56.186" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 764, "hostname": "fr764.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "143.244.56.186" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 765, "hostname": "fr765.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.130" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 765, "hostname": "fr765.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.130" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 766, "hostname": "fr766.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.133" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 766, "hostname": "fr766.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.133" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 767, "hostname": "fr767.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.136" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 767, "hostname": "fr767.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.136" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 768, "hostname": "fr768.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.139" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 768, "hostname": "fr768.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.139" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 769, "hostname": "fr769.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.142" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 769, "hostname": "fr769.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.142" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 770, "hostname": "fr770.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.145" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 770, "hostname": "fr770.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.145" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 771, "hostname": "fr771.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.148" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 771, "hostname": "fr771.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.148" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 772, "hostname": "fr772.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.151" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 772, "hostname": "fr772.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.151" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 773, "hostname": "fr773.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.154" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 773, "hostname": "fr773.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.154" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 774, "hostname": "fr774.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.157" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 774, "hostname": "fr774.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.157" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 775, "hostname": "fr775.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.160" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 775, "hostname": "fr775.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.160" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 776, "hostname": "fr776.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.163" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 776, "hostname": "fr776.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.163" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 777, "hostname": "fr777.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.166" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 777, "hostname": "fr777.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.166" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 778, "hostname": "fr778.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.169" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 778, "hostname": "fr778.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.169" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 779, "hostname": "fr779.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.172" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 779, "hostname": "fr779.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.172" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 780, "hostname": "fr780.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.175" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 780, "hostname": "fr780.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.175" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 781, "hostname": "fr781.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.178" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 781, "hostname": "fr781.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "138.199.47.178" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 825, "hostname": "fr825.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.207.131" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 825, "hostname": "fr825.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "217.138.207.131" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 826, "hostname": "fr826.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.183.227" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 826, "hostname": "fr826.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "89.40.183.227" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 827, "hostname": "fr827.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.3" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 827, "hostname": "fr827.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.3" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 828, "hostname": "fr828.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.6" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 828, "hostname": "fr828.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.6" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 829, "hostname": "fr829.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.9" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 829, "hostname": "fr829.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.9" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 830, "hostname": "fr830.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.21" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 830, "hostname": "fr830.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.21" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 831, "hostname": "fr831.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.18" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 831, "hostname": "fr831.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.18" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 832, "hostname": "fr832.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.12" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 832, "hostname": "fr832.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.12" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 833, "hostname": "fr833.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.15" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 833, "hostname": "fr833.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.15" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 834, "hostname": "fr834.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.24" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 834, "hostname": "fr834.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.24" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 835, "hostname": "fr835.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.27" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 835, "hostname": "fr835.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.27" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 836, "hostname": "fr836.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.30" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 836, "hostname": "fr836.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.30" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 837, "hostname": "fr837.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.33" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 837, "hostname": "fr837.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.33" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 838, "hostname": "fr838.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.36" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 838, "hostname": "fr838.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "37.19.217.36" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 840, "hostname": "fr840.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.18.11" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 840, "hostname": "fr840.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "82.102.18.11" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 841, "hostname": "fr841.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.59.249.179" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 841, "hostname": "fr841.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "194.59.249.179" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 850, "hostname": "fr850.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.44" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 851, "hostname": "fr851.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.45" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 868, "hostname": "fr868.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.195" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 868, "hostname": "fr868.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.195" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 869, "hostname": "fr869.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.203" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 869, "hostname": "fr869.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.203" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 870, "hostname": "fr870.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.211" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 870, "hostname": "fr870.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.211" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 871, "hostname": "fr871.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.219" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 871, "hostname": "fr871.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.219" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 872, "hostname": "fr872.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.227" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 872, "hostname": "fr872.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.227" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 873, "hostname": "fr873.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.235" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 873, "hostname": "fr873.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.235" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 874, "hostname": "fr874.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.243" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 874, "hostname": "fr874.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.243" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 875, "hostname": "fr875.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.251" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 875, "hostname": "fr875.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.251" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 876, "hostname": "fr876.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.105.155" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 876, "hostname": "fr876.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.105.155" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 877, "hostname": "fr877.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.68.99" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 877, "hostname": "fr877.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.68.99" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 878, "hostname": "fr878.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.68.107" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 878, "hostname": "fr878.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.68.107" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 879, "hostname": "fr879.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.68.155" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 879, "hostname": "fr879.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.68.155" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 880, "hostname": "fr880.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.68.179" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 880, "hostname": "fr880.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.68.179" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 881, "hostname": "fr881.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.68.187" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 881, "hostname": "fr881.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "146.70.68.187" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 886, "hostname": "fr886.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.1" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 886, "hostname": "fr886.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.1" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 887, "hostname": "fr887.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.12" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 887, "hostname": "fr887.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.12" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 888, "hostname": "fr888.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.23" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 888, "hostname": "fr888.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.23" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 889, "hostname": "fr889.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.34" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 889, "hostname": "fr889.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.34" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 890, "hostname": "fr890.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.45" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 890, "hostname": "fr890.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.45" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 891, "hostname": "fr891.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.56" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 891, "hostname": "fr891.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.56" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 892, "hostname": "fr892.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.67" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 892, "hostname": "fr892.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.67" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 893, "hostname": "fr893.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.78" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 893, "hostname": "fr893.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.78" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 894, "hostname": "fr894.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.89" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 894, "hostname": "fr894.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.89" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 895, "hostname": "fr895.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.187.69.100" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 895, "hostname": "fr895.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "31.187.69.100" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 896, "hostname": "fr896.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.14" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 896, "hostname": "fr896.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.14" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 897, "hostname": "fr897.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.15" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 897, "hostname": "fr897.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.15" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 898, "hostname": "fr898.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.16" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 898, "hostname": "fr898.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.16" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 899, "hostname": "fr899.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.17" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 899, "hostname": "fr899.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.17" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 900, "hostname": "fr900.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.18" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 900, "hostname": "fr900.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.18" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 901, "hostname": "fr901.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.19" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 901, "hostname": "fr901.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.19" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 902, "hostname": "fr902.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.20" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 902, "hostname": "fr902.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.20" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 903, "hostname": "fr903.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.21" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 903, "hostname": "fr903.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.21" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 904, "hostname": "fr904.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.22" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 904, "hostname": "fr904.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.22" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 905, "hostname": "fr905.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.23" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 905, "hostname": "fr905.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.23" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 906, "hostname": "fr906.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.24" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 906, "hostname": "fr906.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.24" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 907, "hostname": "fr907.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.61.156.25" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 907, "hostname": "fr907.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "185.61.156.25" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 908, "hostname": "fr908.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.14" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 908, "hostname": "fr908.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.14" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 909, "hostname": "fr909.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.16" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 909, "hostname": "fr909.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.16" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 910, "hostname": "fr910.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.18" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 910, "hostname": "fr910.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.18" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 911, "hostname": "fr911.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.20" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 911, "hostname": "fr911.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.20" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 912, "hostname": "fr912.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.22" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 912, "hostname": "fr912.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.22" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 913, "hostname": "fr913.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.24" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 913, "hostname": "fr913.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.24" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 914, "hostname": "fr914.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.26" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 914, "hostname": "fr914.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.26" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 915, "hostname": "fr915.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.28" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 915, "hostname": "fr915.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.28" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 916, "hostname": "fr916.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.30" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 916, "hostname": "fr916.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.30" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 917, "hostname": "fr917.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.32" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 917, "hostname": "fr917.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.32" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 918, "hostname": "fr918.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.34" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 918, "hostname": "fr918.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.34" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 919, "hostname": "fr919.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.36" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 919, "hostname": "fr919.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.36" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 920, "hostname": "fr920.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.99" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 921, "hostname": "fr921.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.100" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 922, "hostname": "fr922.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.108" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 923, "hostname": "fr923.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.110" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 924, "hostname": "fr924.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.103" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 925, "hostname": "fr925.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.105" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 941, "hostname": "fr941.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.116" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 942, "hostname": "fr942.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.118" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 943, "hostname": "fr943.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.120" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 944, "hostname": "fr944.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.122" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 945, "hostname": "fr945.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.82" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 946, "hostname": "fr946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.63.84" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 947, "hostname": "fr947.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.28.18" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 948, "hostname": "fr948.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.28.20" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 953, "hostname": "fr953.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.28.23" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Dedicated IP" ], "number": 954, "hostname": "fr954.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.28.25" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 955, "hostname": "fr955.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.15" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 955, "hostname": "fr955.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.15" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 956, "hostname": "fr956.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.17" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 956, "hostname": "fr956.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.17" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 957, "hostname": "fr957.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.19" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 957, "hostname": "fr957.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.19" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 958, "hostname": "fr958.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.21" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 958, "hostname": "fr958.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.21" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 959, "hostname": "fr959.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.23" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 959, "hostname": "fr959.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.23" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 960, "hostname": "fr960.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.25" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 960, "hostname": "fr960.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.25" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 961, "hostname": "fr961.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.29" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 961, "hostname": "fr961.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.29" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 962, "hostname": "fr962.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.0.27" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 962, "hostname": "fr962.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "84.247.0.27" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 963, "hostname": "fr963.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.104.248.170" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "categories": [ "Standard VPN servers", "P2P" ], "number": 963, "hostname": "fr963.nordvpn.com", "wgpubkey": "FT46M53w4dhBep/2VScW1j/EoZbpBgzvk71FlLZLDBM=", "ips": [ "86.104.248.170" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 13, "hostname": "ge13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.100" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 13, "hostname": "ge13.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.100" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "ge14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.102" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "ge14.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.102" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "ge15.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.104" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "ge15.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.104" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "ge16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.106" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "ge16.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.106" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 17, "hostname": "ge17.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.108" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 17, "hostname": "ge17.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.108" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 18, "hostname": "ge18.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.110" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 18, "hostname": "ge18.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.110" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 19, "hostname": "ge19.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.112" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 19, "hostname": "ge19.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.112" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 20, "hostname": "ge20.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.123.114" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "categories": [ "Standard VPN servers", "P2P" ], "number": 20, "hostname": "ge20.nordvpn.com", "wgpubkey": "uWEpH47kcLRPOfT+ca3Kn3h1fBjYObJrOFA1YuuN0Ho=", "ips": [ "81.17.123.114" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1069, "hostname": "de1069.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.10" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1069, "hostname": "de1069.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.10" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1070, "hostname": "de1070.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.17" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1070, "hostname": "de1070.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.17" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1071, "hostname": "de1071.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.24" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1071, "hostname": "de1071.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.24" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1072, "hostname": "de1072.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.31" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1072, "hostname": "de1072.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.31" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1073, "hostname": "de1073.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.38" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1073, "hostname": "de1073.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.38" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1074, "hostname": "de1074.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.45" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1074, "hostname": "de1074.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.45" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1075, "hostname": "de1075.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.52" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1075, "hostname": "de1075.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.52" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1076, "hostname": "de1076.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.59" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1076, "hostname": "de1076.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.59" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1077, "hostname": "de1077.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.66" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1077, "hostname": "de1077.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.66" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1078, "hostname": "de1078.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.73" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1078, "hostname": "de1078.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.73" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1079, "hostname": "de1079.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.80" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1079, "hostname": "de1079.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.80" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1080, "hostname": "de1080.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.87" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1080, "hostname": "de1080.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.87" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1081, "hostname": "de1081.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.94" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1081, "hostname": "de1081.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.94" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1082, "hostname": "de1082.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.101" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1082, "hostname": "de1082.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.101" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1083, "hostname": "de1083.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.108" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1083, "hostname": "de1083.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.108" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1084, "hostname": "de1084.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.115" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1084, "hostname": "de1084.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.115" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1085, "hostname": "de1085.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.122" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1085, "hostname": "de1085.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.122" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1086, "hostname": "de1086.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.129" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1086, "hostname": "de1086.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.129" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1087, "hostname": "de1087.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.136" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1087, "hostname": "de1087.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.136" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1088, "hostname": "de1088.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.143" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1088, "hostname": "de1088.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.143" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1089, "hostname": "de1089.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.149" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1089, "hostname": "de1089.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.149" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1090, "hostname": "de1090.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.155" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1090, "hostname": "de1090.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.155" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1091, "hostname": "de1091.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.161" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1091, "hostname": "de1091.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.161" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1092, "hostname": "de1092.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.167" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1092, "hostname": "de1092.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.167" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1093, "hostname": "de1093.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.173" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1093, "hostname": "de1093.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.173" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1094, "hostname": "de1094.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.179" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1094, "hostname": "de1094.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.179" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1095, "hostname": "de1095.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.185" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1095, "hostname": "de1095.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.185" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1096, "hostname": "de1096.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.191" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1096, "hostname": "de1096.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.191" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1097, "hostname": "de1097.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.197" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1097, "hostname": "de1097.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.197" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1098, "hostname": "de1098.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.235" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1098, "hostname": "de1098.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.235" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1099, "hostname": "de1099.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.241" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1099, "hostname": "de1099.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.241" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1100, "hostname": "de1100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.96.248" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "categories": [ "Standard VPN servers", "P2P" ], "number": 1100, "hostname": "de1100.nordvpn.com", "wgpubkey": "3ZNjosvvIqfvu3/BqaLzNNXs9zWO4jXpcXNOmDMDpX0=", "ips": [ "194.233.96.248" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 507, "hostname": "de507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.130.184.115" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 508, "hostname": "de508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.130.184.116" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 509, "hostname": "de509.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.130.184.117" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 510, "hostname": "de510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.130.184.118" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 654, "hostname": "de654.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.31.54.3" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 655, "hostname": "de655.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.31.54.4" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 675, "hostname": "de675.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.223.115" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 676, "hostname": "de676.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.223.116" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 677, "hostname": "de677.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.181.170.209" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 678, "hostname": "de678.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.181.170.210" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 679, "hostname": "de679.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.181.170.216" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 680, "hostname": "de680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.181.170.217" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 681, "hostname": "de681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.162" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 682, "hostname": "de682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.163" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 683, "hostname": "de683.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.165" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 684, "hostname": "de684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.166" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 685, "hostname": "de685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.169" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 686, "hostname": "de686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.171" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 687, "hostname": "de687.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.174" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 688, "hostname": "de688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.176" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 689, "hostname": "de689.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.193" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 690, "hostname": "de690.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.195" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 691, "hostname": "de691.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.197" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 692, "hostname": "de692.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.199" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 693, "hostname": "de693.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.201" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 694, "hostname": "de694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.203" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 695, "hostname": "de695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.179" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 696, "hostname": "de696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.201.181" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 697, "hostname": "de697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.209" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 698, "hostname": "de698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.211" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 699, "hostname": "de699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.19.149" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 700, "hostname": "de700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.19.151" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 706, "hostname": "de706.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.214" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 707, "hostname": "de707.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.230.216" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 710, "hostname": "de710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.43.195" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 712, "hostname": "de712.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.43.201" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 713, "hostname": "de713.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.43.204" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 714, "hostname": "de714.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.43.207" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Dedicated IP" ], "number": 715, "hostname": "de715.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.43.210" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 750, "hostname": "de750.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.120" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 750, "hostname": "de750.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.120" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 785, "hostname": "de785.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.123" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 785, "hostname": "de785.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.123" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 786, "hostname": "de786.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.126" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 786, "hostname": "de786.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.126" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 787, "hostname": "de787.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.129" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 787, "hostname": "de787.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.129" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 788, "hostname": "de788.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.132" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 788, "hostname": "de788.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.132" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 789, "hostname": "de789.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.135" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers" ], "number": 789, "hostname": "de789.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.135" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 793, "hostname": "de793.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.103.50.43" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 793, "hostname": "de793.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "212.103.50.43" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 794, "hostname": "de794.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.103.50.51" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 794, "hostname": "de794.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "212.103.50.51" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 799, "hostname": "de799.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.181.170.204" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 799, "hostname": "de799.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "195.181.170.204" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 800, "hostname": "de800.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.181.170.194" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 800, "hostname": "de800.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "195.181.170.194" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 801, "hostname": "de801.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.181.170.199" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 801, "hostname": "de801.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "195.181.170.199" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 822, "hostname": "de822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.138" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 822, "hostname": "de822.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.138" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 823, "hostname": "de823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.141" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 823, "hostname": "de823.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.141" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 824, "hostname": "de824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.144" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 824, "hostname": "de824.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.144" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 825, "hostname": "de825.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.147" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 825, "hostname": "de825.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.147" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 826, "hostname": "de826.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.150" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 826, "hostname": "de826.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.150" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 827, "hostname": "de827.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.153" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 827, "hostname": "de827.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.153" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 828, "hostname": "de828.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.156" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 828, "hostname": "de828.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.156" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 848, "hostname": "de848.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.143.245.187" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 848, "hostname": "de848.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "83.143.245.187" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 850, "hostname": "de850.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.184" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 850, "hostname": "de850.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.184" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 851, "hostname": "de851.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.232.23.43" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 851, "hostname": "de851.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.232.23.43" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 857, "hostname": "de857.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.33.3" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 857, "hostname": "de857.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.216.33.3" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 858, "hostname": "de858.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.33.8" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 858, "hostname": "de858.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.216.33.8" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 859, "hostname": "de859.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.33.13" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 859, "hostname": "de859.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.216.33.13" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 860, "hostname": "de860.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.33.18" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 860, "hostname": "de860.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.216.33.18" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 861, "hostname": "de861.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.33.23" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 861, "hostname": "de861.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.216.33.23" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 870, "hostname": "de870.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.195" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 870, "hostname": "de870.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.195" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 871, "hostname": "de871.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.200" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 871, "hostname": "de871.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.200" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 872, "hostname": "de872.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.205" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 872, "hostname": "de872.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.205" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 873, "hostname": "de873.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.210" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 873, "hostname": "de873.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.210" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 874, "hostname": "de874.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.215" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 874, "hostname": "de874.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.215" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 875, "hostname": "de875.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.225" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 875, "hostname": "de875.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.225" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 876, "hostname": "de876.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.230" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 876, "hostname": "de876.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.230" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 877, "hostname": "de877.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.235" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 877, "hostname": "de877.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.235" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 892, "hostname": "de892.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.131" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 892, "hostname": "de892.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.131" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 893, "hostname": "de893.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.136" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 893, "hostname": "de893.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.136" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 894, "hostname": "de894.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.172.67" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 894, "hostname": "de894.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "91.207.172.67" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 895, "hostname": "de895.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.172.72" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 895, "hostname": "de895.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "91.207.172.72" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 903, "hostname": "de903.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.172.77" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 903, "hostname": "de903.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "91.207.172.77" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 904, "hostname": "de904.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.172.85" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 904, "hostname": "de904.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "91.207.172.85" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 905, "hostname": "de905.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.172.90" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 905, "hostname": "de905.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "91.207.172.90" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 907, "hostname": "de907.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.141" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 907, "hostname": "de907.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.141" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 908, "hostname": "de908.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.146" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 908, "hostname": "de908.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.146" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 909, "hostname": "de909.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.219" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 909, "hostname": "de909.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.219" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 910, "hostname": "de910.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.151" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 910, "hostname": "de910.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.151" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 911, "hostname": "de911.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.104.184.3" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 911, "hostname": "de911.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.104.184.3" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 912, "hostname": "de912.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.227" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 912, "hostname": "de912.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.227" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 913, "hostname": "de913.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.235" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 913, "hostname": "de913.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.235" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 914, "hostname": "de914.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.249.65.67" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 914, "hostname": "de914.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "89.249.65.67" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 915, "hostname": "de915.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.249.65.75" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 915, "hostname": "de915.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "89.249.65.75" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 916, "hostname": "de916.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.249.65.83" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 916, "hostname": "de916.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "89.249.65.83" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 917, "hostname": "de917.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.249.65.99" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 917, "hostname": "de917.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "89.249.65.99" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 918, "hostname": "de918.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.249.65.107" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 918, "hostname": "de918.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "89.249.65.107" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 919, "hostname": "de919.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.249.65.115" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 919, "hostname": "de919.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "89.249.65.115" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 920, "hostname": "de920.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.181.195" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 920, "hostname": "de920.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "77.243.181.195" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 934, "hostname": "de934.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.3" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 934, "hostname": "de934.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.3" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 935, "hostname": "de935.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.6" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 935, "hostname": "de935.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 942, "hostname": "de942.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.9" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 942, "hostname": "de942.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.9" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 943, "hostname": "de943.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.12" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 943, "hostname": "de943.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.12" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 944, "hostname": "de944.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.15" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 944, "hostname": "de944.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.15" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 945, "hostname": "de945.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.18" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 945, "hostname": "de945.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.18" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 946, "hostname": "de946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.21" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 946, "hostname": "de946.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.21" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 947, "hostname": "de947.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.24" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 947, "hostname": "de947.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.24" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 948, "hostname": "de948.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.27" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 948, "hostname": "de948.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.27" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 949, "hostname": "de949.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.30" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 949, "hostname": "de949.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.30" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 950, "hostname": "de950.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.33" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 950, "hostname": "de950.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.33" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 951, "hostname": "de951.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.36" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 951, "hostname": "de951.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.36" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 961, "hostname": "de961.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.39" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 961, "hostname": "de961.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.39" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 962, "hostname": "de962.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.42" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 962, "hostname": "de962.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.42" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 963, "hostname": "de963.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.45" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 963, "hostname": "de963.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.45" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 964, "hostname": "de964.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.48" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 964, "hostname": "de964.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.48" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 965, "hostname": "de965.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.51" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 965, "hostname": "de965.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.51" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 966, "hostname": "de966.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.54" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 966, "hostname": "de966.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.54" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 967, "hostname": "de967.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.57" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 967, "hostname": "de967.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.57" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 968, "hostname": "de968.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.60" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 968, "hostname": "de968.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.60" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 969, "hostname": "de969.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.63" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 969, "hostname": "de969.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.63" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 970, "hostname": "de970.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.66" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 970, "hostname": "de970.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.66" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 971, "hostname": "de971.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.69" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 971, "hostname": "de971.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.69" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 972, "hostname": "de972.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.72" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 972, "hostname": "de972.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.72" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 973, "hostname": "de973.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.75" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 973, "hostname": "de973.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.75" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 974, "hostname": "de974.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.78" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 974, "hostname": "de974.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.78" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 975, "hostname": "de975.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.81" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 975, "hostname": "de975.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.81" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 976, "hostname": "de976.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.84" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 976, "hostname": "de976.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.84" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 977, "hostname": "de977.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.87" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 977, "hostname": "de977.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.87" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 978, "hostname": "de978.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.90" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 978, "hostname": "de978.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.90" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 983, "hostname": "de983.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.93" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 983, "hostname": "de983.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.93" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 984, "hostname": "de984.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.96" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 984, "hostname": "de984.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.96" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 985, "hostname": "de985.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.99" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 985, "hostname": "de985.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.99" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 986, "hostname": "de986.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.102" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 986, "hostname": "de986.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.102" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 987, "hostname": "de987.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.105" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 987, "hostname": "de987.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.105" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 988, "hostname": "de988.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.108" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 988, "hostname": "de988.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.108" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 989, "hostname": "de989.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.111" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 989, "hostname": "de989.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.111" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 990, "hostname": "de990.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.114" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 990, "hostname": "de990.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.114" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 991, "hostname": "de991.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.117" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 991, "hostname": "de991.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.117" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1003, "hostname": "de1003.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.143.245.179" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1003, "hostname": "de1003.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "83.143.245.179" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1004, "hostname": "de1004.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.16.179" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1004, "hostname": "de1004.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "82.102.16.179" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1008, "hostname": "de1008.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.67" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1008, "hostname": "de1008.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.67" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1009, "hostname": "de1009.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.220" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1009, "hostname": "de1009.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.220" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1011, "hostname": "de1011.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.249.65.91" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1011, "hostname": "de1011.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "89.249.65.91" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1017, "hostname": "de1017.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.173" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1017, "hostname": "de1017.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.173" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1018, "hostname": "de1018.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.174" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1018, "hostname": "de1018.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.174" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1019, "hostname": "de1019.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.175" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1019, "hostname": "de1019.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.175" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1020, "hostname": "de1020.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.176" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1020, "hostname": "de1020.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.176" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1021, "hostname": "de1021.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.177" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1021, "hostname": "de1021.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.177" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1022, "hostname": "de1022.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.178" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1022, "hostname": "de1022.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.178" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1023, "hostname": "de1023.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.179" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1023, "hostname": "de1023.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.179" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1024, "hostname": "de1024.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.180" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1024, "hostname": "de1024.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.180" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1025, "hostname": "de1025.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.181" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1025, "hostname": "de1025.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.181" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1026, "hostname": "de1026.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.180.62.182" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1026, "hostname": "de1026.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.180.62.182" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1027, "hostname": "de1027.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.1" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1027, "hostname": "de1027.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.1" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1028, "hostname": "de1028.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.2" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1028, "hostname": "de1028.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.2" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1029, "hostname": "de1029.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.3" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1029, "hostname": "de1029.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.3" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1030, "hostname": "de1030.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.4" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1030, "hostname": "de1030.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.4" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1031, "hostname": "de1031.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.5" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1031, "hostname": "de1031.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.5" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1032, "hostname": "de1032.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.6" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1032, "hostname": "de1032.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1033, "hostname": "de1033.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.7" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1033, "hostname": "de1033.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.7" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1034, "hostname": "de1034.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.8" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1034, "hostname": "de1034.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.8" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1035, "hostname": "de1035.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.9" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1035, "hostname": "de1035.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.9" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1036, "hostname": "de1036.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.10" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1036, "hostname": "de1036.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.10" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1037, "hostname": "de1037.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.11" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1037, "hostname": "de1037.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.11" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1038, "hostname": "de1038.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.12" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1038, "hostname": "de1038.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.12" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1039, "hostname": "de1039.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.159" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1039, "hostname": "de1039.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.159" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1040, "hostname": "de1040.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.166" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1040, "hostname": "de1040.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.166" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1041, "hostname": "de1041.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.173" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1041, "hostname": "de1041.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.173" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1042, "hostname": "de1042.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.180" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1042, "hostname": "de1042.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.180" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1043, "hostname": "de1043.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.187" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1043, "hostname": "de1043.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.187" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1044, "hostname": "de1044.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.194" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1044, "hostname": "de1044.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.194" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1045, "hostname": "de1045.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.201" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1045, "hostname": "de1045.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.201" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1046, "hostname": "de1046.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.208" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1046, "hostname": "de1046.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.208" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1047, "hostname": "de1047.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.196.22.215" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1047, "hostname": "de1047.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.196.22.215" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1052, "hostname": "de1052.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.104.184.211" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1052, "hostname": "de1052.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.104.184.211" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1053, "hostname": "de1053.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.220.70.240" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1053, "hostname": "de1053.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "185.220.70.240" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1054, "hostname": "de1054.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.87.212.3" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1054, "hostname": "de1054.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "45.87.212.3" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1055, "hostname": "de1055.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.87.212.11" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1055, "hostname": "de1055.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "45.87.212.11" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1056, "hostname": "de1056.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.62.227" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1056, "hostname": "de1056.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "146.70.62.227" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1057, "hostname": "de1057.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.62.235" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1057, "hostname": "de1057.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "146.70.62.235" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1058, "hostname": "de1058.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.62.243" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1058, "hostname": "de1058.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "146.70.62.243" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1059, "hostname": "de1059.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.62.251" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1059, "hostname": "de1059.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "146.70.62.251" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1060, "hostname": "de1060.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.197.35" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1060, "hostname": "de1060.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "37.120.197.35" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1061, "hostname": "de1061.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.197.43" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1061, "hostname": "de1061.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "37.120.197.43" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1062, "hostname": "de1062.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.197.51" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1062, "hostname": "de1062.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "37.120.197.51" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1063, "hostname": "de1063.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.141.152.59" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1063, "hostname": "de1063.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "45.141.152.59" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1064, "hostname": "de1064.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.141.152.51" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1064, "hostname": "de1064.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "45.141.152.51" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1065, "hostname": "de1065.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.141.152.35" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1065, "hostname": "de1065.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "45.141.152.35" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1066, "hostname": "de1066.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.141.152.43" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1066, "hostname": "de1066.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "45.141.152.43" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1101, "hostname": "de1101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.2" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1101, "hostname": "de1101.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.2" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1102, "hostname": "de1102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.14" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1102, "hostname": "de1102.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.14" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1103, "hostname": "de1103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.26" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1103, "hostname": "de1103.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.26" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1104, "hostname": "de1104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.38" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1104, "hostname": "de1104.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.38" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1105, "hostname": "de1105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.50" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1105, "hostname": "de1105.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.50" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1106, "hostname": "de1106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.62" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1106, "hostname": "de1106.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.62" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1107, "hostname": "de1107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.74" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1107, "hostname": "de1107.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.74" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1108, "hostname": "de1108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.115.86" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1108, "hostname": "de1108.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "5.253.115.86" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1109, "hostname": "de1109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.2" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1109, "hostname": "de1109.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.2" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1110, "hostname": "de1110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.4" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1110, "hostname": "de1110.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.4" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1111, "hostname": "de1111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.6" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1111, "hostname": "de1111.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1112, "hostname": "de1112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.8" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1112, "hostname": "de1112.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.8" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1113, "hostname": "de1113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.10" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1113, "hostname": "de1113.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.10" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1114, "hostname": "de1114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.12" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1114, "hostname": "de1114.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.12" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1115, "hostname": "de1115.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.14" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1115, "hostname": "de1115.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.14" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1116, "hostname": "de1116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.16" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1116, "hostname": "de1116.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.16" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1117, "hostname": "de1117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.18" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1117, "hostname": "de1117.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.18" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1118, "hostname": "de1118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.67.85.20" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt", "categories": [ "Standard VPN servers", "P2P" ], "number": 1118, "hostname": "de1118.nordvpn.com", "wgpubkey": "m0tej5P6pYfBivkJc8yRV4KqQXmM81AChLlzlsOSjSs=", "ips": [ "156.67.85.20" ] }, { "vpn": "openvpn", "country": "Ghana", "region": "Africa the Middle East and India", "city": "Accra", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gh1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.176.1" ] }, { "vpn": "wireguard", "country": "Ghana", "region": "Africa the Middle East and India", "city": "Accra", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gh1.nordvpn.com", "wgpubkey": "4qiGnHVTiZQ+TNC40F9hNx4196f9+OQjAYzKmyDAiXA=", "ips": [ "176.53.176.1" ] }, { "vpn": "openvpn", "country": "Ghana", "region": "Africa the Middle East and India", "city": "Accra", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gh2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.176.3" ] }, { "vpn": "wireguard", "country": "Ghana", "region": "Africa the Middle East and India", "city": "Accra", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gh2.nordvpn.com", "wgpubkey": "4qiGnHVTiZQ+TNC40F9hNx4196f9+OQjAYzKmyDAiXA=", "ips": [ "176.53.176.3" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "gr47.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.2" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "gr47.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.2" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "gr48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.28" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "gr48.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.28" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "gr49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.54" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "gr49.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.54" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "gr50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.80" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "gr50.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.80" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "gr51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.105" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "gr51.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.105" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "gr52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.130" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "gr52.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.130" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "gr53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.155" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "gr53.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.155" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "gr54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.180" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "gr54.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.180" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "gr55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.205" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "gr55.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.205" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "gr56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.132.104.230" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "gr56.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "178.132.104.230" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "gr57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.16" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "gr57.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.16" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "gr58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.18" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "gr58.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.18" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "gr59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.20" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "gr59.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.20" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "gr60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.22" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "gr60.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.22" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "gr61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.24" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "gr61.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.24" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "gr62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.26" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "gr62.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.26" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "gr63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.28" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "gr63.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.28" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "gr64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.30" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "gr64.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.30" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "gr65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.32" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "gr65.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.32" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "gr66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.34" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "gr66.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.34" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "gr67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.116.208.36" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "gr67.nordvpn.com", "wgpubkey": "U6zz+5NuO0FlWkpDEK7xCggmyh4DJwjwd0etZxFnhhI=", "ips": [ "194.116.208.36" ] }, { "vpn": "openvpn", "country": "Greenland", "region": "The Americas", "city": "Nuuk", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gl1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.177.1" ] }, { "vpn": "wireguard", "country": "Greenland", "region": "The Americas", "city": "Nuuk", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gl1.nordvpn.com", "wgpubkey": "Gwtw7Vrr+FAX2/TMGvEkIkvMVI/ubHp+lbrmAXcyB2U=", "ips": [ "176.53.177.1" ] }, { "vpn": "openvpn", "country": "Greenland", "region": "The Americas", "city": "Nuuk", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gl2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.177.3" ] }, { "vpn": "wireguard", "country": "Greenland", "region": "The Americas", "city": "Nuuk", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gl2.nordvpn.com", "wgpubkey": "Gwtw7Vrr+FAX2/TMGvEkIkvMVI/ubHp+lbrmAXcyB2U=", "ips": [ "176.53.177.3" ] }, { "vpn": "openvpn", "country": "Guam", "region": "Asia Pacific", "city": "Hagatna", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gu1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.178.1" ] }, { "vpn": "wireguard", "country": "Guam", "region": "Asia Pacific", "city": "Hagatna", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gu1.nordvpn.com", "wgpubkey": "LwVbH2GQSTQTrhjfrhsRgmnVxhTytr3k00De1yq+iHo=", "ips": [ "176.53.178.1" ] }, { "vpn": "openvpn", "country": "Guam", "region": "Asia Pacific", "city": "Hagatna", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gu2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.178.3" ] }, { "vpn": "wireguard", "country": "Guam", "region": "Asia Pacific", "city": "Hagatna", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gu2.nordvpn.com", "wgpubkey": "LwVbH2GQSTQTrhjfrhsRgmnVxhTytr3k00De1yq+iHo=", "ips": [ "176.53.178.3" ] }, { "vpn": "openvpn", "country": "Guatemala", "region": "The Americas", "city": "Guatemala City", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gt1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.179.1" ] }, { "vpn": "wireguard", "country": "Guatemala", "region": "The Americas", "city": "Guatemala City", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "gt1.nordvpn.com", "wgpubkey": "xD1QIh3nv+9AeaEAW7+SFAYsILzTcskPQ2vu5pZE6VU=", "ips": [ "176.53.179.1" ] }, { "vpn": "openvpn", "country": "Guatemala", "region": "The Americas", "city": "Guatemala City", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gt2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.53.179.3" ] }, { "vpn": "wireguard", "country": "Guatemala", "region": "The Americas", "city": "Guatemala City", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "gt2.nordvpn.com", "wgpubkey": "xD1QIh3nv+9AeaEAW7+SFAYsILzTcskPQ2vu5pZE6VU=", "ips": [ "176.53.179.3" ] }, { "vpn": "openvpn", "country": "Honduras", "region": "The Americas", "city": "Tegucigalpa", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "hn1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.32.1" ] }, { "vpn": "wireguard", "country": "Honduras", "region": "The Americas", "city": "Tegucigalpa", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "hn1.nordvpn.com", "wgpubkey": "L7qdXgBWMXmUqWdTuCQCTNeKCkTei4mO7xRuG8EA7To=", "ips": [ "193.9.32.1" ] }, { "vpn": "openvpn", "country": "Honduras", "region": "The Americas", "city": "Tegucigalpa", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "hn2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.32.3" ] }, { "vpn": "wireguard", "country": "Honduras", "region": "The Americas", "city": "Tegucigalpa", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "hn2.nordvpn.com", "wgpubkey": "L7qdXgBWMXmUqWdTuCQCTNeKCkTei4mO7xRuG8EA7To=", "ips": [ "193.9.32.3" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Double VPN" ], "number": 7, "hostname": "tw-hk7.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.114" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Double VPN" ], "number": 7, "hostname": "tw-hk7.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.213.82.114" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "hk203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.226" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "hk203.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.226" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "hk204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.229" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "hk204.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.229" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "hk205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.232" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "hk205.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.232" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "hk206.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.235" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "hk206.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.235" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "hk207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.238" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "hk207.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.238" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "hk208.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.241" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "hk208.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.241" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "hk209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.244" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "hk209.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.244" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "hk210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.247" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "hk210.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.247" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "hk211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.250" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "hk211.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.250" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "hk212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.86" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "hk212.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.86" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 248, "hostname": "hk248.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.34" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 248, "hostname": "hk248.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.57.34" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 249, "hostname": "hk249.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.44" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 249, "hostname": "hk249.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.57.44" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 250, "hostname": "hk250.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.54" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 250, "hostname": "hk250.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.57.54" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 252, "hostname": "hk252.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.49" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 252, "hostname": "hk252.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.57.49" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 253, "hostname": "hk253.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.39" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 253, "hostname": "hk253.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.57.39" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 254, "hostname": "hk254.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.66" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 254, "hostname": "hk254.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.66" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 255, "hostname": "hk255.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.71" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 255, "hostname": "hk255.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.71" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 256, "hostname": "hk256.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.76" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 256, "hostname": "hk256.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.76" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 257, "hostname": "hk257.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.81" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 257, "hostname": "hk257.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "84.17.37.81" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 265, "hostname": "hk265.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.1" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 265, "hostname": "hk265.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.1" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 266, "hostname": "hk266.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.3" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 266, "hostname": "hk266.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.3" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 267, "hostname": "hk267.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.5" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 267, "hostname": "hk267.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.5" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 268, "hostname": "hk268.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.7" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 268, "hostname": "hk268.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.7" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 269, "hostname": "hk269.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.9" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 269, "hostname": "hk269.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.9" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 270, "hostname": "hk270.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.11" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 270, "hostname": "hk270.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.11" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 271, "hostname": "hk271.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.13" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 271, "hostname": "hk271.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.13" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 272, "hostname": "hk272.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.15" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 272, "hostname": "hk272.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.15" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 273, "hostname": "hk273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.17" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 273, "hostname": "hk273.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.17" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 274, "hostname": "hk274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.19" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 274, "hostname": "hk274.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.19" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 275, "hostname": "hk275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.21" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 275, "hostname": "hk275.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.21" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 276, "hostname": "hk276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.234.23" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 276, "hostname": "hk276.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "185.225.234.23" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 277, "hostname": "hk277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.8" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 277, "hostname": "hk277.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "156.146.45.8" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 278, "hostname": "hk278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.13" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 278, "hostname": "hk278.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "156.146.45.13" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 279, "hostname": "hk279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.18" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 279, "hostname": "hk279.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "156.146.45.18" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 280, "hostname": "hk280.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.23" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 280, "hostname": "hk280.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "156.146.45.23" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 283, "hostname": "hk283.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.19" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 283, "hostname": "hk283.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.19" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 284, "hostname": "hk284.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.27" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 284, "hostname": "hk284.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.27" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 285, "hostname": "hk285.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.35" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 285, "hostname": "hk285.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.35" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 286, "hostname": "hk286.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.43" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 286, "hostname": "hk286.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.43" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 287, "hostname": "hk287.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.51" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 287, "hostname": "hk287.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.51" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 288, "hostname": "hk288.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.59" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 288, "hostname": "hk288.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.59" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 289, "hostname": "hk289.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.67" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 289, "hostname": "hk289.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.67" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 290, "hostname": "hk290.nordvpn.com", "tcp": true, "udp": true, "ips": [ "202.165.70.75" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 290, "hostname": "hk290.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "202.165.70.75" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 291, "hostname": "hk291.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.100" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 291, "hostname": "hk291.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.100" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 292, "hostname": "hk292.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.102" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 292, "hostname": "hk292.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.102" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 293, "hostname": "hk293.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.104" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 293, "hostname": "hk293.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.104" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 294, "hostname": "hk294.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.106" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 294, "hostname": "hk294.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.106" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 295, "hostname": "hk295.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.108" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 295, "hostname": "hk295.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.108" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 296, "hostname": "hk296.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.110" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 296, "hostname": "hk296.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.110" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 297, "hostname": "hk297.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.112" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 297, "hostname": "hk297.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.112" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 298, "hostname": "hk298.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.114" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 298, "hostname": "hk298.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.114" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 299, "hostname": "hk299.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.116" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 299, "hostname": "hk299.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.116" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 300, "hostname": "hk300.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.118" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 300, "hostname": "hk300.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.118" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 301, "hostname": "hk301.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.120" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 301, "hostname": "hk301.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.120" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 302, "hostname": "hk302.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.122" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 302, "hostname": "hk302.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.122" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 303, "hostname": "hk303.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.124" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 303, "hostname": "hk303.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.124" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 304, "hostname": "hk304.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.126" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 304, "hostname": "hk304.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.126" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 305, "hostname": "hk305.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.128" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 305, "hostname": "hk305.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.128" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 307, "hostname": "hk307.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.132" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 307, "hostname": "hk307.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.132" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 308, "hostname": "hk308.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.134" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 308, "hostname": "hk308.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.134" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 309, "hostname": "hk309.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.136" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 309, "hostname": "hk309.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.136" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 310, "hostname": "hk310.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.244.138" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Standard VPN servers", "P2P" ], "number": 310, "hostname": "hk310.nordvpn.com", "wgpubkey": "+zv+cPRl1pf9hPXFKO3GoVpdBld97Uk3feyeF+9vLBQ=", "ips": [ "192.166.244.138" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 311, "hostname": "hk311.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.51" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 312, "hostname": "hk312.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.56" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 313, "hostname": "hk313.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.37" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 314, "hostname": "hk314.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.57.42" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 315, "hostname": "hk315.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.226" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 316, "hostname": "hk316.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.228" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 317, "hostname": "hk317.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.233" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "categories": [ "Dedicated IP" ], "number": 318, "hostname": "hk318.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.45.235" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "hu47.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.99" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "hu47.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.99" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "hu48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.189.114.28" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "hu48.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "185.189.114.28" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "hu49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.83" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "hu49.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.83" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "hu50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.128.26.171" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "hu50.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "185.128.26.171" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "hu51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.189.114.243" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "hu51.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "185.189.114.243" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "hu52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.189.114.235" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "hu52.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "185.189.114.235" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "hu53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.128.26.51" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "hu53.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "185.128.26.51" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "hu54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.128.26.59" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "hu54.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "185.128.26.59" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "hu55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.104.187.75" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "hu55.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "185.104.187.75" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "hu56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.144.115" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "hu56.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "37.120.144.115" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "hu57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.144.123" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "hu57.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "37.120.144.123" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "hu58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.27" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "hu58.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.27" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "hu59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.35" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "hu59.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.35" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "hu60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.43" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "hu60.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.43" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "hu61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.51" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "hu61.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.51" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "hu62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.59" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "hu62.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.59" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "hu63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.67" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "hu63.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.67" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "hu64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.75" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "hu64.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.75" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "hu65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.192.91" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "hu65.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "217.138.192.91" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "hu66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.144.243" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "hu66.nordvpn.com", "wgpubkey": "3KWTCjpHlmXD3BroyAIFMN8ajr+ibShIl8OSUGgejXY=", "ips": [ "37.120.144.243" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "is63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.100" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "is63.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.100" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "is64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.102" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "is64.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.102" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "is65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.104" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "is65.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.104" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "is66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.106" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "is66.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.106" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "is67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.108" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "is67.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.108" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "is68.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.110" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "is68.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.110" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "is69.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.112" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "is69.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.112" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "is70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.114" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "is70.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.114" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "is71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.116" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "is71.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.116" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "is72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.234.68.118" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "is72.nordvpn.com", "wgpubkey": "sI+Tafi/J4FYpga2tglr5wa3hmtPY1EZLJnOW6JYaBI=", "ips": [ "185.234.68.118" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "in140.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.1" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "in140.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.1" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "in141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.2" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "in141.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.2" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "in142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.3" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "in142.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.3" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "in143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.4" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "in143.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.4" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "in144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.5" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "in144.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.5" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "in145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.6" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "in145.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.6" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "in146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.7" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "in146.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.7" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "in147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.8" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "in147.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.8" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "in148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.9" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "in148.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.9" ] }, { "vpn": "openvpn", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "in149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.17.122.10" ] }, { "vpn": "wireguard", "country": "India", "region": "Africa the Middle East and India", "city": "Mumbai", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "in149.nordvpn.com", "wgpubkey": "+7eydqFtf+DGlXeHLneRqoD2zMR8gGr3hgCq89wA9Qg=", "ips": [ "81.17.122.10" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "id46.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.100" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "id46.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.100" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "id47.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.102" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "id47.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.102" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "id48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.104" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "id48.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.104" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "id49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.106" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "id49.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.106" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "id50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.108" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "id50.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.108" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "id51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.110" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "id51.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.110" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "id52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.112" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "id52.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.112" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "id53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.114" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "id53.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.114" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "id54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.116" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "id54.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.116" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "id55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.83.118" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "id55.nordvpn.com", "wgpubkey": "uzDmNLCyEMbrIIfZ8m+BtRfQtSFBG6PIKwrYpNuM7AU=", "ips": [ "185.213.83.118" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "ie83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.48.83" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "ie83.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "84.247.48.83" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "ie103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.131" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "ie103.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.131" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "ie104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.115" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "ie104.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.115" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "ie105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.123" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "ie105.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.123" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "ie106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.27" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "ie106.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.27" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "ie107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.147" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "ie107.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.147" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "ie108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.163" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "ie108.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.163" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "ie109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.171" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "ie109.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.171" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "ie110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.179" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "ie110.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.179" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "ie111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.187" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "ie111.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.187" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "ie112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.195" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "ie112.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.195" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "ie113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.203" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "ie113.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.203" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "ie114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.211" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "ie114.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.211" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 115, "hostname": "ie115.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.219" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 115, "hostname": "ie115.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.219" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "ie116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.227" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "ie116.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.227" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "ie117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.222.235" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "ie117.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "217.138.222.235" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "ie118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.81.139.163" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "ie118.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "77.81.139.163" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "ie119.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.81.139.171" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "ie119.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "77.81.139.171" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "ie120.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.81.139.179" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "ie120.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "77.81.139.179" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "ie121.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.81.139.187" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "ie121.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "77.81.139.187" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "ie131.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.75" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "ie131.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.75" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "ie132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.83" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "ie132.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.83" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "ie133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.91" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "ie133.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.91" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "ie134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.99" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "ie134.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.99" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "ie135.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.107" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "ie135.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.107" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "ie136.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.115" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "ie136.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.115" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "ie137.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.123" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "ie137.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.123" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "ie138.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.131" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "ie138.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.131" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "ie139.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.139" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "ie139.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.139" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "ie140.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.147" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "ie140.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.147" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "ie141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.155" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "ie141.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.155" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "ie142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.163" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "ie142.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.163" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "ie143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.171" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "ie143.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.171" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "ie144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.179" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "ie144.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.179" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "ie145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.187" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "ie145.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.187" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "ie146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.56.252.195" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "ie146.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "193.56.252.195" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "ie149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.90.3" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "ie149.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "146.70.90.3" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "ie150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.90.11" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "ie150.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "146.70.90.11" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "ie151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.90.19" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "ie151.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "146.70.90.19" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "ie152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.90.27" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "ie152.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "146.70.90.27" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "ie153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.1" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "ie153.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.1" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "ie154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.14" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "ie154.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.14" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "ie155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.27" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "ie155.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.27" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "ie156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.40" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "ie156.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.40" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "ie157.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.52" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "ie157.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.52" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 158, "hostname": "ie158.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.64" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 158, "hostname": "ie158.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.64" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 159, "hostname": "ie159.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.76" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 159, "hostname": "ie159.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.76" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 160, "hostname": "ie160.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.88" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 160, "hostname": "ie160.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.88" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 161, "hostname": "ie161.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.100" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 161, "hostname": "ie161.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.100" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "ie162.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.112" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "ie162.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.112" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "ie163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.129" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "ie163.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.129" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "ie164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.142" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "ie164.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.142" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "ie165.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.155" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "ie165.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.155" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "ie166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.168" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "ie166.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.168" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "ie167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.180" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "ie167.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.180" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "ie168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.192" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "ie168.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.192" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "ie169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.204" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "ie169.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.204" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "ie170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.216" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "ie170.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.216" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "ie171.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.228" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "ie171.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.228" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "ie172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.32.235.240" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "ie172.nordvpn.com", "wgpubkey": "WwpRem21dqdXwZF3qDqTe3rOxOBTPZIem8de5R17sCc=", "ips": [ "194.32.235.240" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Dedicated IP" ], "number": 174, "hostname": "ie174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.137.215" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Dedicated IP" ], "number": 175, "hostname": "ie175.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.137.217" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Dedicated IP" ], "number": 176, "hostname": "ie176.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.243.34" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "categories": [ "Dedicated IP" ], "number": 177, "hostname": "ie177.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.243.36" ] }, { "vpn": "openvpn", "country": "Isle of Man", "region": "Europe", "city": "Douglas", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "im1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.33.1" ] }, { "vpn": "wireguard", "country": "Isle of Man", "region": "Europe", "city": "Douglas", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "im1.nordvpn.com", "wgpubkey": "dioa2r6is3zlgHnr4DIeDKu+JhzPNbFLjl1fN5OUVgk=", "ips": [ "193.9.33.1" ] }, { "vpn": "openvpn", "country": "Isle of Man", "region": "Europe", "city": "Douglas", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "im2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.33.3" ] }, { "vpn": "wireguard", "country": "Isle of Man", "region": "Europe", "city": "Douglas", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "im2.nordvpn.com", "wgpubkey": "dioa2r6is3zlgHnr4DIeDKu+JhzPNbFLjl1fN5OUVgk=", "ips": [ "193.9.33.3" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "il58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.21" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "il58.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.21" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "il59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.32" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "il59.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.32" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "il60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.44" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "il60.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.44" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "il61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.56" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "il61.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.56" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "il62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.68" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "il62.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.68" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "il63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.80" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "il63.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.80" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "il64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.91" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "il64.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.91" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "il65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.102" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "il65.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.102" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "il66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.113" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "il66.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.113" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "il67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.22" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "il67.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.22" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "il68.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.23" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "il68.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.23" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "il69.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.24" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "il69.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.24" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "il70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.25" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "il70.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.25" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "il71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.26" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "il71.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.26" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "il72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.27" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "il72.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.27" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "il73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.28" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "il73.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.28" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "il75.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.30" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "il75.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.30" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "il76.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.31" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "il76.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.31" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "il77.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.33" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "il77.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.33" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "il78.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.226.39" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Africa the Middle East and India", "city": "Tel Aviv", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "il78.nordvpn.com", "wgpubkey": "uwlNXjsX4meWkGpmZreFfjpxNpaGtqFiR/7I/DYSXHI=", "ips": [ "169.150.226.39" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "it132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.75" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "it132.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.75" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "it146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.54.108" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "it146.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "212.102.54.108" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "it147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.54.98" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "it147.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "212.102.54.98" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "it148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.54.118" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "it148.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "212.102.54.118" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "it149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.54.103" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "it149.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "212.102.54.103" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "it150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.54.113" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "it150.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "212.102.54.113" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "it156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.219.171" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "it156.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.219.171" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "it157.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.219.163" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "it157.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.219.163" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "it174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.127.179" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "it174.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "192.145.127.179" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "it186.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.211" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "it186.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.211" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "it187.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.219" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "it187.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.219" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "it188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.227" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "it188.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.227" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "it189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.235" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "it189.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.235" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "it190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.243" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "it190.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.243" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "it191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.171" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "it191.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.171" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "it192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.179" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "it192.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.179" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "it193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.187" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "it193.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.187" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "it194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.195" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "it194.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.195" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "it195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.201.203" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "it195.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "37.120.201.203" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "it196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.43" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "it196.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.43" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "it197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.51" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "it197.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.51" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "it198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.59" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "it198.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.59" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "it199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.67" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "it199.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.67" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "it201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.235" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "it201.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.235" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "it203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.243" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "it203.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.243" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "it204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.197.251" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "it204.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.197.251" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "it205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.219.35" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "it205.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "217.138.219.35" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "it210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.54.236" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "it210.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "138.199.54.236" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "it211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.54.231" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "it211.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "138.199.54.231" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "it212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.54.226" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "it212.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "138.199.54.226" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "it213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.73.75" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "it213.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "146.70.73.75" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "it214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.73.83" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "it214.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "146.70.73.83" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "it215.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.9.251.27" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "it215.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "45.9.251.27" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "it216.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.9.251.35" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "it216.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "45.9.251.35" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "it217.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.21.35" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "it217.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "82.102.21.35" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "it218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.21.43" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "it218.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "82.102.21.43" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "it219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.21.123" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "it219.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "82.102.21.123" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "it220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.21.195" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "it220.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "82.102.21.195" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "it221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.64.35" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "it221.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "95.174.64.35" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "it222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.73.91" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "it222.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "146.70.73.91" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "it223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.54.242" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "it223.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "138.199.54.242" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "it224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.54.247" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "it224.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "138.199.54.247" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "it225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.42" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "it225.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.42" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "it226.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.37" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "it226.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.37" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "it227.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.32" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "it227.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.32" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "it228.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.27" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "it228.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.27" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "it229.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.22" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "it229.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.22" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 230, "hostname": "it230.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.17" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 230, "hostname": "it230.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.17" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 232, "hostname": "it232.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.7" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 232, "hostname": "it232.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.7" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "it233.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.2" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "it233.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.2" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "it237.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.58" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "it237.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.58" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "it238.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.53" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "it238.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.53" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 239, "hostname": "it239.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.48" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 239, "hostname": "it239.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.48" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 240, "hostname": "it240.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.181" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Standard VPN servers", "P2P" ], "number": 240, "hostname": "it240.nordvpn.com", "wgpubkey": "FgxaycYZ4t1kp4x7LDv60sczNTAl0h/d4pyyUNHhgBc=", "ips": [ "178.249.211.181" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 241, "hostname": "it241.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.11" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 242, "hostname": "it242.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.13" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 243, "hostname": "it243.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.65" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 244, "hostname": "it244.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.67" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 246, "hostname": "it246.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.80" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 247, "hostname": "it247.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.82" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 248, "hostname": "it248.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.75" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 249, "hostname": "it249.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.77" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 287, "hostname": "it287.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.85" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 288, "hostname": "it288.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.237.87" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 289, "hostname": "it289.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.4" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "categories": [ "Dedicated IP" ], "number": 290, "hostname": "it290.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.211.8" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 250, "hostname": "it250.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.100" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 250, "hostname": "it250.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.100" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 251, "hostname": "it251.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.102" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 251, "hostname": "it251.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.102" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 252, "hostname": "it252.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.104" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 252, "hostname": "it252.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.104" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 253, "hostname": "it253.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.106" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 253, "hostname": "it253.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.106" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 254, "hostname": "it254.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.108" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 254, "hostname": "it254.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.108" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 255, "hostname": "it255.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.110" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 255, "hostname": "it255.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.110" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 256, "hostname": "it256.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.112" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 256, "hostname": "it256.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.112" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 257, "hostname": "it257.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.114" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 257, "hostname": "it257.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.114" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 258, "hostname": "it258.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.116" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 258, "hostname": "it258.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.116" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 259, "hostname": "it259.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.118" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 259, "hostname": "it259.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.118" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 260, "hostname": "it260.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.120" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 260, "hostname": "it260.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.120" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 261, "hostname": "it261.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.122" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 261, "hostname": "it261.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.122" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 262, "hostname": "it262.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.124" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 262, "hostname": "it262.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.124" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 263, "hostname": "it263.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.126" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 263, "hostname": "it263.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.126" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 264, "hostname": "it264.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.128" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 264, "hostname": "it264.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.128" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 265, "hostname": "it265.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.130" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 265, "hostname": "it265.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.130" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 266, "hostname": "it266.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.132" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 266, "hostname": "it266.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.132" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 267, "hostname": "it267.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.134" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 267, "hostname": "it267.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.134" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 268, "hostname": "it268.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.136" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 268, "hostname": "it268.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.136" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 269, "hostname": "it269.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.138" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 269, "hostname": "it269.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.138" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 270, "hostname": "it270.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.140" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 270, "hostname": "it270.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.140" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 271, "hostname": "it271.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.142" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 271, "hostname": "it271.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.142" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 272, "hostname": "it272.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.144" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 272, "hostname": "it272.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.144" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 273, "hostname": "it273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.146" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 273, "hostname": "it273.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.146" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 274, "hostname": "it274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.148" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 274, "hostname": "it274.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.148" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 275, "hostname": "it275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.150" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 275, "hostname": "it275.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.150" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 276, "hostname": "it276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.152" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 276, "hostname": "it276.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.152" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 277, "hostname": "it277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.154" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 277, "hostname": "it277.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.154" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 278, "hostname": "it278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.156" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 278, "hostname": "it278.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.156" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 279, "hostname": "it279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.158" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 279, "hostname": "it279.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.158" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 280, "hostname": "it280.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.160" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 280, "hostname": "it280.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.160" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 281, "hostname": "it281.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.162" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 281, "hostname": "it281.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.162" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 282, "hostname": "it282.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.164" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 282, "hostname": "it282.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.164" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 283, "hostname": "it283.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.166" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 283, "hostname": "it283.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.166" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 284, "hostname": "it284.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.168" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 284, "hostname": "it284.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.168" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 285, "hostname": "it285.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.170" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 285, "hostname": "it285.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.170" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 286, "hostname": "it286.nordvpn.com", "tcp": true, "udp": true, "ips": [ "85.190.232.172" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "categories": [ "Standard VPN servers", "P2P" ], "number": 286, "hostname": "it286.nordvpn.com", "wgpubkey": "4zVJiM7ZTy8cu1pTpq65kRWg92fSwqZ18tClJMffMHk=", "ips": [ "85.190.232.172" ] }, { "vpn": "openvpn", "country": "Jamaica", "region": "The Americas", "city": "Kingston", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "jm1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.34.1" ] }, { "vpn": "wireguard", "country": "Jamaica", "region": "The Americas", "city": "Kingston", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "jm1.nordvpn.com", "wgpubkey": "/vZCA9m2tWPmYpy/12cUjjWNyLbys5bzNGMq2pmHOBM=", "ips": [ "193.9.34.1" ] }, { "vpn": "openvpn", "country": "Jamaica", "region": "The Americas", "city": "Kingston", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "jm2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.34.3" ] }, { "vpn": "wireguard", "country": "Jamaica", "region": "The Americas", "city": "Kingston", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "jm2.nordvpn.com", "wgpubkey": "/vZCA9m2tWPmYpy/12cUjjWNyLbys5bzNGMq2pmHOBM=", "ips": [ "193.9.34.3" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 632, "hostname": "jp632.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.100" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 632, "hostname": "jp632.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.100" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 633, "hostname": "jp633.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.102" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 633, "hostname": "jp633.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.102" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 634, "hostname": "jp634.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.104" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 634, "hostname": "jp634.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.104" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 635, "hostname": "jp635.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.106" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 635, "hostname": "jp635.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.106" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 636, "hostname": "jp636.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.108" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 636, "hostname": "jp636.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.108" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 637, "hostname": "jp637.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.110" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 637, "hostname": "jp637.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.110" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 638, "hostname": "jp638.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.112" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 638, "hostname": "jp638.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.112" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 639, "hostname": "jp639.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.114" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 639, "hostname": "jp639.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.114" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 640, "hostname": "jp640.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.116" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 640, "hostname": "jp640.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.116" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 641, "hostname": "jp641.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.118" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 641, "hostname": "jp641.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.118" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 642, "hostname": "jp642.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.120" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 642, "hostname": "jp642.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.120" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 643, "hostname": "jp643.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.122" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 643, "hostname": "jp643.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.122" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 644, "hostname": "jp644.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.124" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 644, "hostname": "jp644.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.124" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 645, "hostname": "jp645.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.126" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 645, "hostname": "jp645.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.126" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 646, "hostname": "jp646.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.128" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 646, "hostname": "jp646.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.128" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 647, "hostname": "jp647.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.130" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 647, "hostname": "jp647.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.130" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 648, "hostname": "jp648.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.132" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 648, "hostname": "jp648.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.132" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 649, "hostname": "jp649.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.134" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 649, "hostname": "jp649.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.134" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 650, "hostname": "jp650.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.136" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 650, "hostname": "jp650.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.136" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 651, "hostname": "jp651.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.138" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 651, "hostname": "jp651.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.138" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 652, "hostname": "jp652.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.140" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 652, "hostname": "jp652.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.140" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 653, "hostname": "jp653.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.142" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 653, "hostname": "jp653.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.142" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 654, "hostname": "jp654.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.144" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 654, "hostname": "jp654.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.144" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 655, "hostname": "jp655.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.146" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 655, "hostname": "jp655.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.146" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 656, "hostname": "jp656.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.148" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 656, "hostname": "jp656.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.148" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 657, "hostname": "jp657.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.150" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 657, "hostname": "jp657.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.150" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 658, "hostname": "jp658.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.152" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 658, "hostname": "jp658.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.152" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 659, "hostname": "jp659.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.154" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 659, "hostname": "jp659.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.154" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 660, "hostname": "jp660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.156" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 660, "hostname": "jp660.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.156" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 661, "hostname": "jp661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.158" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 661, "hostname": "jp661.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.158" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 662, "hostname": "jp662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.160" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 662, "hostname": "jp662.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.160" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 663, "hostname": "jp663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.162" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 663, "hostname": "jp663.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.162" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 664, "hostname": "jp664.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.164" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 664, "hostname": "jp664.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.164" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 665, "hostname": "jp665.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.166" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 665, "hostname": "jp665.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.166" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 666, "hostname": "jp666.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.168" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 666, "hostname": "jp666.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.168" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 667, "hostname": "jp667.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.247.170" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Osaka", "categories": [ "Standard VPN servers", "P2P" ], "number": 667, "hostname": "jp667.nordvpn.com", "wgpubkey": "HYPNHyiFNRmq+1VJomQtL0TG3YhpuFopmK4qLnpl6lk=", "ips": [ "192.166.247.170" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 429, "hostname": "jp429.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.210.107" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 429, "hostname": "jp429.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.210.107" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 454, "hostname": "jp454.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.54" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 454, "hostname": "jp454.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.54" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 514, "hostname": "jp514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.154.211" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 514, "hostname": "jp514.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.154.211" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 515, "hostname": "jp515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.235.107" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 515, "hostname": "jp515.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "5.181.235.107" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 516, "hostname": "jp516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.235.115" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 516, "hostname": "jp516.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "5.181.235.115" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 517, "hostname": "jp517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.235.83" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 517, "hostname": "jp517.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "5.181.235.83" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 518, "hostname": "jp518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.115" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 518, "hostname": "jp518.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.115" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 519, "hostname": "jp519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.116" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 519, "hostname": "jp519.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.116" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 520, "hostname": "jp520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.119" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 520, "hostname": "jp520.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.119" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 521, "hostname": "jp521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.122" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 521, "hostname": "jp521.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.122" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 522, "hostname": "jp522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.203" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 522, "hostname": "jp522.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.203" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 523, "hostname": "jp523.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.206" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 523, "hostname": "jp523.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.206" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 524, "hostname": "jp524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.209" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 524, "hostname": "jp524.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.209" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 525, "hostname": "jp525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.194" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 525, "hostname": "jp525.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.194" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 526, "hostname": "jp526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.197" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 526, "hostname": "jp526.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.197" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 527, "hostname": "jp527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.200" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 527, "hostname": "jp527.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.200" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 528, "hostname": "jp528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.194" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 528, "hostname": "jp528.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.194" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "jp529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.197" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "jp529.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.197" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "jp530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.200" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "jp530.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.200" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "jp531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.212" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "jp531.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.212" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "jp532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.218" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "jp532.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.218" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "jp533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.215" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "jp533.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.215" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "jp534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.212" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "jp534.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.212" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "jp535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.203" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "jp535.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.203" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "jp536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.206" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "jp536.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.206" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "jp537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.51.209" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "jp537.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.51.209" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "jp538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.154.43" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "jp538.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.154.43" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 539, "hostname": "jp539.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.154.51" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 539, "hostname": "jp539.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.154.51" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 540, "hostname": "jp540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.154.203" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 540, "hostname": "jp540.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.154.203" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 541, "hostname": "jp541.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.154.235" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 541, "hostname": "jp541.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.154.235" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "jp542.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.66" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "jp542.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.66" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "jp543.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.93" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "jp543.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.93" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "jp544.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.90" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "jp544.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.90" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "jp545.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.87" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "jp545.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.87" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "jp546.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.84" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "jp546.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.84" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "jp547.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.81" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "jp547.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.81" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "jp548.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.78" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "jp548.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.78" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "jp549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.75" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "jp549.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.75" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "jp550.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.72" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "jp550.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.72" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "jp551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.69" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "jp551.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.69" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "jp552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.235.19" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "jp552.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "5.181.235.19" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 553, "hostname": "jp553.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.235.35" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 553, "hostname": "jp553.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "5.181.235.35" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 554, "hostname": "jp554.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.235.43" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 554, "hostname": "jp554.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "5.181.235.43" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 555, "hostname": "jp555.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.235.51" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 555, "hostname": "jp555.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "5.181.235.51" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 562, "hostname": "jp562.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.28.35" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 562, "hostname": "jp562.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "82.102.28.35" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 563, "hostname": "jp563.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.28.83" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 563, "hostname": "jp563.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "82.102.28.83" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 564, "hostname": "jp564.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.174.147" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 564, "hostname": "jp564.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "91.207.174.147" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 565, "hostname": "jp565.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.174.155" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 565, "hostname": "jp565.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "91.207.174.155" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 566, "hostname": "jp566.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.174.163" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 566, "hostname": "jp566.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "91.207.174.163" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 567, "hostname": "jp567.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.96" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 567, "hostname": "jp567.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.96" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 568, "hostname": "jp568.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.99" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 568, "hostname": "jp568.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.99" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 569, "hostname": "jp569.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.102" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 569, "hostname": "jp569.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.102" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 570, "hostname": "jp570.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.105" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 570, "hostname": "jp570.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.105" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 571, "hostname": "jp571.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.35.108" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 571, "hostname": "jp571.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "156.146.35.108" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 576, "hostname": "jp576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.66" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 576, "hostname": "jp576.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.66" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 577, "hostname": "jp577.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.81" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 577, "hostname": "jp577.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.81" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 578, "hostname": "jp578.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.71" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 578, "hostname": "jp578.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.71" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 579, "hostname": "jp579.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.76" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 579, "hostname": "jp579.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.76" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 581, "hostname": "jp581.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.210.59" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 581, "hostname": "jp581.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.210.59" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 582, "hostname": "jp582.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.210.83" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 582, "hostname": "jp582.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.210.83" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 583, "hostname": "jp583.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.210.91" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 583, "hostname": "jp583.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.210.91" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 584, "hostname": "jp584.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.210.99" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 584, "hostname": "jp584.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "37.120.210.99" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 585, "hostname": "jp585.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.49" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 585, "hostname": "jp585.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.49" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 586, "hostname": "jp586.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.44" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 586, "hostname": "jp586.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.44" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 587, "hostname": "jp587.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.39" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 587, "hostname": "jp587.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.39" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 588, "hostname": "jp588.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.34" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 588, "hostname": "jp588.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.34" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 589, "hostname": "jp589.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.161.86" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 589, "hostname": "jp589.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "89.187.161.86" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 590, "hostname": "jp590.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.86" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 590, "hostname": "jp590.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.86" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 591, "hostname": "jp591.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.91" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 591, "hostname": "jp591.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.91" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 592, "hostname": "jp592.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.96" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 592, "hostname": "jp592.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.96" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 593, "hostname": "jp593.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.101" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 593, "hostname": "jp593.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.101" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 594, "hostname": "jp594.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.106" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 594, "hostname": "jp594.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.106" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 595, "hostname": "jp595.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.50.111" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 595, "hostname": "jp595.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "212.102.50.111" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 602, "hostname": "jp602.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.27" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 602, "hostname": "jp602.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.27" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 603, "hostname": "jp603.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.35" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 603, "hostname": "jp603.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.35" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 604, "hostname": "jp604.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.43" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 604, "hostname": "jp604.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.43" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 605, "hostname": "jp605.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.51" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 605, "hostname": "jp605.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.51" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 606, "hostname": "jp606.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.59" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 606, "hostname": "jp606.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.59" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 607, "hostname": "jp607.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.67" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 607, "hostname": "jp607.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.67" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 608, "hostname": "jp608.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.75" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 608, "hostname": "jp608.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.75" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 609, "hostname": "jp609.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.83" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 609, "hostname": "jp609.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.83" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 610, "hostname": "jp610.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.11" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 610, "hostname": "jp610.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.11" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 611, "hostname": "jp611.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.91" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 611, "hostname": "jp611.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.91" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 612, "hostname": "jp612.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.99" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 612, "hostname": "jp612.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.99" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 613, "hostname": "jp613.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.107" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 613, "hostname": "jp613.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.107" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 614, "hostname": "jp614.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.115" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 614, "hostname": "jp614.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.115" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 615, "hostname": "jp615.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.123" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 615, "hostname": "jp615.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.123" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 616, "hostname": "jp616.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.131" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 616, "hostname": "jp616.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.131" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 617, "hostname": "jp617.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.139" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 617, "hostname": "jp617.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.139" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 618, "hostname": "jp618.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.147" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 618, "hostname": "jp618.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.147" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 619, "hostname": "jp619.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.155" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 619, "hostname": "jp619.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.155" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 620, "hostname": "jp620.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.163" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 620, "hostname": "jp620.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.163" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 621, "hostname": "jp621.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.171" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 621, "hostname": "jp621.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.171" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 622, "hostname": "jp622.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.179" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 622, "hostname": "jp622.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.179" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 623, "hostname": "jp623.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.187" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 623, "hostname": "jp623.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.187" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 624, "hostname": "jp624.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.195" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 624, "hostname": "jp624.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.195" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 625, "hostname": "jp625.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.10.99.203" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 625, "hostname": "jp625.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "203.10.99.203" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 626, "hostname": "jp626.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.71" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 626, "hostname": "jp626.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "138.199.21.71" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 627, "hostname": "jp627.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.66" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 627, "hostname": "jp627.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "138.199.21.66" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 628, "hostname": "jp628.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.76" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 628, "hostname": "jp628.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "138.199.21.76" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 629, "hostname": "jp629.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.81" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 629, "hostname": "jp629.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "138.199.21.81" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 630, "hostname": "jp630.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.91" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 630, "hostname": "jp630.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "138.199.21.91" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 631, "hostname": "jp631.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.86" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 631, "hostname": "jp631.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "138.199.21.86" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 668, "hostname": "jp668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.18" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 668, "hostname": "jp668.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.18" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 669, "hostname": "jp669.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.20" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 669, "hostname": "jp669.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.20" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 670, "hostname": "jp670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.22" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 670, "hostname": "jp670.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.22" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 671, "hostname": "jp671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.24" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 671, "hostname": "jp671.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.24" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 672, "hostname": "jp672.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.26" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 672, "hostname": "jp672.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.26" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 673, "hostname": "jp673.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.28" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 673, "hostname": "jp673.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.28" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 674, "hostname": "jp674.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.30" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 674, "hostname": "jp674.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.30" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 675, "hostname": "jp675.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.32" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 675, "hostname": "jp675.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.32" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 676, "hostname": "jp676.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.34" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 676, "hostname": "jp676.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.34" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 677, "hostname": "jp677.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.89.36" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 677, "hostname": "jp677.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.195.89.36" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 678, "hostname": "jp678.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.111" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 679, "hostname": "jp679.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.113" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 680, "hostname": "jp680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.121" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 681, "hostname": "jp681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.193" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 682, "hostname": "jp682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.195" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 683, "hostname": "jp683.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.197" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 684, "hostname": "jp684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.205" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 685, "hostname": "jp685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.207" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 686, "hostname": "jp686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.200" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 687, "hostname": "jp687.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.202" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 688, "hostname": "jp688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.116" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 689, "hostname": "jp689.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.118" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 690, "hostname": "jp690.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.4" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 690, "hostname": "jp690.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.4" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 691, "hostname": "jp691.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.6" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 691, "hostname": "jp691.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.6" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 692, "hostname": "jp692.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.8" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 692, "hostname": "jp692.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.8" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 693, "hostname": "jp693.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.10" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 693, "hostname": "jp693.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.10" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 694, "hostname": "jp694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.12" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 694, "hostname": "jp694.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.12" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 695, "hostname": "jp695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.14" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 695, "hostname": "jp695.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.14" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 696, "hostname": "jp696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.16" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 696, "hostname": "jp696.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.16" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 697, "hostname": "jp697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.18" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 697, "hostname": "jp697.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.18" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 698, "hostname": "jp698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.20" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 698, "hostname": "jp698.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.20" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 699, "hostname": "jp699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.22" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 699, "hostname": "jp699.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.22" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 700, "hostname": "jp700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.101" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 701, "hostname": "jp701.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.103" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 702, "hostname": "jp702.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.96" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 703, "hostname": "jp703.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.98" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 704, "hostname": "jp704.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.106" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 705, "hostname": "jp705.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.21.108" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 706, "hostname": "jp706.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.24" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 706, "hostname": "jp706.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.24" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 707, "hostname": "jp707.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.26" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 707, "hostname": "jp707.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.26" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 708, "hostname": "jp708.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.28" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 708, "hostname": "jp708.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.28" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 709, "hostname": "jp709.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.30" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 709, "hostname": "jp709.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.30" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 710, "hostname": "jp710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.32" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 710, "hostname": "jp710.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.32" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 711, "hostname": "jp711.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.34" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 711, "hostname": "jp711.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.34" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 712, "hostname": "jp712.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.36" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 712, "hostname": "jp712.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.36" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 713, "hostname": "jp713.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.38" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 713, "hostname": "jp713.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.38" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 715, "hostname": "jp715.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.180.179.42" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Standard VPN servers", "P2P" ], "number": 715, "hostname": "jp715.nordvpn.com", "wgpubkey": "SAio0Z0suFlRfmydzPdcn6MamqS7Mq4pSOm2YmJkLSs=", "ips": [ "194.180.179.42" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 716, "hostname": "jp716.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.220" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 717, "hostname": "jp717.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.222" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 718, "hostname": "jp718.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.215" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 719, "hostname": "jp719.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.217" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 720, "hostname": "jp720.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.210" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 721, "hostname": "jp721.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.212" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 722, "hostname": "jp722.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.233" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 723, "hostname": "jp723.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.235" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 724, "hostname": "jp724.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.239" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 725, "hostname": "jp725.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.241" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 726, "hostname": "jp726.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.246" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "categories": [ "Dedicated IP" ], "number": 727, "hostname": "jp727.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.23.248" ] }, { "vpn": "openvpn", "country": "Jersey", "region": "Europe", "city": "Saint Helier", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "je1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.35.1" ] }, { "vpn": "wireguard", "country": "Jersey", "region": "Europe", "city": "Saint Helier", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "je1.nordvpn.com", "wgpubkey": "/pE6BdQaHL+MJScppKpbungAJ1dHcmWes3QzySAecm0=", "ips": [ "193.9.35.1" ] }, { "vpn": "openvpn", "country": "Jersey", "region": "Europe", "city": "Saint Helier", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "je2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.35.3" ] }, { "vpn": "wireguard", "country": "Jersey", "region": "Europe", "city": "Saint Helier", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "je2.nordvpn.com", "wgpubkey": "/pE6BdQaHL+MJScppKpbungAJ1dHcmWes3QzySAecm0=", "ips": [ "193.9.35.3" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "region": "Asia Pacific", "city": "Astana", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "kz1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.69.1" ] }, { "vpn": "wireguard", "country": "Kazakhstan", "region": "Asia Pacific", "city": "Astana", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "kz1.nordvpn.com", "wgpubkey": "N2WP7/u8UGjo1dxQksD7xNao+TfGEaF83eog7VWJfHM=", "ips": [ "212.97.69.1" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "region": "Asia Pacific", "city": "Astana", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "kz2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.69.3" ] }, { "vpn": "wireguard", "country": "Kazakhstan", "region": "Asia Pacific", "city": "Astana", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "kz2.nordvpn.com", "wgpubkey": "N2WP7/u8UGjo1dxQksD7xNao+TfGEaF83eog7VWJfHM=", "ips": [ "212.97.69.3" ] }, { "vpn": "openvpn", "country": "Kenya", "region": "Africa the Middle East and India", "city": "Nairobi", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ke1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.68.1" ] }, { "vpn": "wireguard", "country": "Kenya", "region": "Africa the Middle East and India", "city": "Nairobi", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ke1.nordvpn.com", "wgpubkey": "QfcyKkh/hju9fGRUWTqv5ERmrOOBdKVOzXWdUXRKwXg=", "ips": [ "212.97.68.1" ] }, { "vpn": "openvpn", "country": "Kenya", "region": "Africa the Middle East and India", "city": "Nairobi", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ke2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.68.3" ] }, { "vpn": "wireguard", "country": "Kenya", "region": "Africa the Middle East and India", "city": "Nairobi", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ke2.nordvpn.com", "wgpubkey": "QfcyKkh/hju9fGRUWTqv5ERmrOOBdKVOzXWdUXRKwXg=", "ips": [ "212.97.68.3" ] }, { "vpn": "openvpn", "country": "Lao People's Democratic Republic", "region": "Asia Pacific", "city": "Vientiane", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "la1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.227.132.1" ] }, { "vpn": "wireguard", "country": "Lao People's Democratic Republic", "region": "Asia Pacific", "city": "Vientiane", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "la1.nordvpn.com", "wgpubkey": "rCViZObfSkL4cNEQlnde4cTgqXgznuBGJbeNwJG8xz0=", "ips": [ "185.227.132.1" ] }, { "vpn": "openvpn", "country": "Lao People's Democratic Republic", "region": "Asia Pacific", "city": "Vientiane", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "la2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.227.132.3" ] }, { "vpn": "wireguard", "country": "Lao People's Democratic Republic", "region": "Asia Pacific", "city": "Vientiane", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "la2.nordvpn.com", "wgpubkey": "rCViZObfSkL4cNEQlnde4cTgqXgznuBGJbeNwJG8xz0=", "ips": [ "185.227.132.3" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 44, "hostname": "lv44.nordvpn.com", "tcp": true, "udp": true, "ips": [ "196.240.54.3" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 44, "hostname": "lv44.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "196.240.54.3" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 45, "hostname": "lv45.nordvpn.com", "tcp": true, "udp": true, "ips": [ "196.240.54.11" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 45, "hostname": "lv45.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "196.240.54.11" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "lv46.nordvpn.com", "tcp": true, "udp": true, "ips": [ "196.240.54.19" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 46, "hostname": "lv46.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "196.240.54.19" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "lv48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "196.240.54.35" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "lv48.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "196.240.54.35" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "lv49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "196.240.54.51" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "lv49.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "196.240.54.51" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "lv50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "196.240.54.59" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "lv50.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "196.240.54.59" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "lv52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "196.240.54.43" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "lv52.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "196.240.54.43" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 58, "hostname": "lv58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.176.222.163" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 58, "hostname": "lv58.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "185.176.222.163" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 59, "hostname": "lv59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.176.222.156" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 59, "hostname": "lv59.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "185.176.222.156" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 60, "hostname": "lv60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.176.222.138" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 60, "hostname": "lv60.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "185.176.222.138" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 61, "hostname": "lv61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.176.222.135" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 61, "hostname": "lv61.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "185.176.222.135" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 62, "hostname": "lv62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.176.222.134" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "categories": [ "Standard VPN servers" ], "number": 62, "hostname": "lv62.nordvpn.com", "wgpubkey": "Zid1YfpCDPeeyWzEEmiZLPcmwNopke/B/Pa/DtiViiw=", "ips": [ "185.176.222.134" ] }, { "vpn": "openvpn", "country": "Lebanon", "region": "Africa the Middle East and India", "city": "Beirut", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "lb1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.227.133.1" ] }, { "vpn": "wireguard", "country": "Lebanon", "region": "Africa the Middle East and India", "city": "Beirut", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "lb1.nordvpn.com", "wgpubkey": "fBsThQ76XqAs0sOeEZtXMZ2lsLcqlTm71ZJ1H+PpmWE=", "ips": [ "185.227.133.1" ] }, { "vpn": "openvpn", "country": "Lebanon", "region": "Africa the Middle East and India", "city": "Beirut", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "lb2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.227.133.3" ] }, { "vpn": "wireguard", "country": "Lebanon", "region": "Africa the Middle East and India", "city": "Beirut", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "lb2.nordvpn.com", "wgpubkey": "fBsThQ76XqAs0sOeEZtXMZ2lsLcqlTm71ZJ1H+PpmWE=", "ips": [ "185.227.133.3" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "region": "Europe", "city": "Vaduz", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "li1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.70.1" ] }, { "vpn": "wireguard", "country": "Liechtenstein", "region": "Europe", "city": "Vaduz", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "li1.nordvpn.com", "wgpubkey": "QknkoJz4Mh5YOcnkINlLfbWwwQnjfeJkYzRFz1hpfjo=", "ips": [ "212.97.70.1" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "region": "Europe", "city": "Vaduz", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "li2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.70.3" ] }, { "vpn": "wireguard", "country": "Liechtenstein", "region": "Europe", "city": "Vaduz", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "li2.nordvpn.com", "wgpubkey": "QknkoJz4Mh5YOcnkINlLfbWwwQnjfeJkYzRFz1hpfjo=", "ips": [ "212.97.70.3" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 7, "hostname": "lt7.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.65.50.11" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 7, "hostname": "lt7.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "185.65.50.11" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 8, "hostname": "lt8.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.65.50.17" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 8, "hostname": "lt8.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "185.65.50.17" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 9, "hostname": "lt9.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.65.50.23" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 9, "hostname": "lt9.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "185.65.50.23" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 10, "hostname": "lt10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.65.50.29" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 10, "hostname": "lt10.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "185.65.50.29" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 11, "hostname": "lt11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.65.50.35" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 11, "hostname": "lt11.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "185.65.50.35" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 13, "hostname": "lt13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.82.33.4" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 13, "hostname": "lt13.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "45.82.33.4" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "lt14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.82.33.6" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "lt14.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "45.82.33.6" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "lt15.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.82.33.8" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "lt15.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "45.82.33.8" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "lt16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.82.33.10" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "lt16.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "45.82.33.10" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 17, "hostname": "lt17.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.82.33.14" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "categories": [ "Standard VPN servers", "P2P" ], "number": 17, "hostname": "lt17.nordvpn.com", "wgpubkey": "2mBAP8mN/hbGrC9UpmidxCBUl3YVOLGyRRglP0MhyG0=", "ips": [ "45.82.33.14" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "lu102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.0" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "lu102.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.0" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "lu103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.16" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "lu103.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.16" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "lu104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.32" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "lu104.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.32" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "lu105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.48" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "lu105.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.48" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "lu106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.64" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "lu106.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.64" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "lu107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.80" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "lu107.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.80" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "lu108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.96" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "lu108.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.96" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "lu109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.112" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "lu109.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.112" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "lu110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.128" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "lu110.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.128" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "lu111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.144" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "lu111.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.144" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "lu112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.160" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "lu112.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.160" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "lu113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.85.176" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "lu113.nordvpn.com", "wgpubkey": "sY6/62/rZcfnFAYjSFW5/iA3KVUWmAbJQvj2oubgKHY=", "ips": [ "194.110.85.176" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "my49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.100" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "my49.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.100" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "my50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.102" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "my50.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.102" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "my51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.104" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "my51.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.104" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "my52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.106" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "my52.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.106" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "my53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.108" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "my53.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.108" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "my54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.110" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "my54.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.110" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "my55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.112" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "my55.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.112" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "my56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.114" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "my56.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.114" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "my57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.116" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "my57.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.116" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "my58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.36.237.118" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "my58.nordvpn.com", "wgpubkey": "l1sRg+3hrtHWrEKxvZ4zrzQ5G+ewLIowIAc9HTWyDlM=", "ips": [ "193.36.237.118" ] }, { "vpn": "openvpn", "country": "Malta", "region": "Europe", "city": "Valletta", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mt1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.80.1" ] }, { "vpn": "wireguard", "country": "Malta", "region": "Europe", "city": "Valletta", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mt1.nordvpn.com", "wgpubkey": "mloV6phL3tYYyg2cF0QgkkTu1fxa6GUxNaSNUPnLfS0=", "ips": [ "82.149.80.1" ] }, { "vpn": "openvpn", "country": "Malta", "region": "Europe", "city": "Valletta", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mt2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.80.3" ] }, { "vpn": "wireguard", "country": "Malta", "region": "Europe", "city": "Valletta", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mt2.nordvpn.com", "wgpubkey": "mloV6phL3tYYyg2cF0QgkkTu1fxa6GUxNaSNUPnLfS0=", "ips": [ "82.149.80.3" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "mx50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.11" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "mx50.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.11" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "mx51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.41" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "mx51.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.41" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "mx52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.71" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "mx52.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.71" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "mx53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.101" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "mx53.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.101" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "mx54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.131" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "mx54.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.131" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "mx55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.162" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "mx55.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.162" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "mx56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.193" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "mx56.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.193" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "mx57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.154.196.224" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "mx57.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "192.154.196.224" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "mx70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.102" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "mx70.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.102" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "mx71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.104" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "mx71.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.104" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "mx72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.106" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "mx72.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.106" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "mx73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.108" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "mx73.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.108" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "mx74.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.110" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "mx74.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.110" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "mx80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.122" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "mx80.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.122" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "mx81.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.124" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "mx81.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.124" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "mx82.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.126" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "mx82.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.126" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "mx83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.158" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "mx83.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.158" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "mx84.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.170" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "mx84.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.170" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "mx85.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.182" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "mx85.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.182" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "mx86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.194" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "mx86.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.194" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "mx87.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.206" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "mx87.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.206" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "mx88.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.218" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "mx88.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.218" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "mx89.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.230" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "mx89.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.230" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "mx90.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.112" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "mx90.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.112" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 91, "hostname": "mx91.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.114" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 91, "hostname": "mx91.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.114" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "mx92.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.116" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "mx92.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.116" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "mx93.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.118" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "mx93.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.118" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "mx94.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.153.177.120" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "mx94.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "185.153.177.120" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "mx95.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.1" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "mx95.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.1" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "mx96.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.3" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "mx96.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.3" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "mx97.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.5" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "mx97.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.5" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "mx98.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.7" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "mx98.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.7" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "mx99.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.9" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "mx99.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.9" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "mx100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.11" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "mx100.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.11" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "mx101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.13" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "mx101.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.13" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "mx102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.15" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "mx102.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.15" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "mx103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.17" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "mx103.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.17" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "mx104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.19" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "mx104.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.19" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "mx105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.129" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "mx105.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.129" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "mx106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.131" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "mx106.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.131" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "mx107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.133" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "mx107.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.133" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "mx108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.135" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "mx108.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.135" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "mx109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.137" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "mx109.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.137" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "mx110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.139" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "mx110.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.139" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "mx111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.141" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "mx111.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.141" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "mx112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.143" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "mx112.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.143" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "mx113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.145" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "mx113.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.145" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "mx114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.15.147" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Mexico", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "mx114.nordvpn.com", "wgpubkey": "aUuKVXQ//4UnXcPOqai/qGTfUK6qrdNRa6crPCF32x4=", "ips": [ "155.133.15.147" ] }, { "vpn": "openvpn", "country": "Moldova", "region": "Europe", "city": "Chisinau", "categories": [ "Standard VPN servers" ], "number": 19, "hostname": "md19.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.175.141.209" ] }, { "vpn": "wireguard", "country": "Moldova", "region": "Europe", "city": "Chisinau", "categories": [ "Standard VPN servers" ], "number": 19, "hostname": "md19.nordvpn.com", "wgpubkey": "Nfy8YVkt784l54Q8vlqAWDVc+ZD3HIXl7EUUgmNGWFw=", "ips": [ "178.175.141.209" ] }, { "vpn": "openvpn", "country": "Moldova", "region": "Europe", "city": "Chisinau", "categories": [ "Standard VPN servers" ], "number": 20, "hostname": "md20.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.175.141.225" ] }, { "vpn": "wireguard", "country": "Moldova", "region": "Europe", "city": "Chisinau", "categories": [ "Standard VPN servers" ], "number": 20, "hostname": "md20.nordvpn.com", "wgpubkey": "Nfy8YVkt784l54Q8vlqAWDVc+ZD3HIXl7EUUgmNGWFw=", "ips": [ "178.175.141.225" ] }, { "vpn": "openvpn", "country": "Moldova", "region": "Europe", "city": "Chisinau", "categories": [ "Standard VPN servers" ], "number": 21, "hostname": "md21.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.175.141.241" ] }, { "vpn": "wireguard", "country": "Moldova", "region": "Europe", "city": "Chisinau", "categories": [ "Standard VPN servers" ], "number": 21, "hostname": "md21.nordvpn.com", "wgpubkey": "Nfy8YVkt784l54Q8vlqAWDVc+ZD3HIXl7EUUgmNGWFw=", "ips": [ "178.175.141.241" ] }, { "vpn": "openvpn", "country": "Monaco", "region": "Europe", "city": "Monte Carlo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mc1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.81.1" ] }, { "vpn": "wireguard", "country": "Monaco", "region": "Europe", "city": "Monte Carlo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mc1.nordvpn.com", "wgpubkey": "yffM0K4uWw1hAHYnM7qld+xbkfpBB0O6aHSTmEFKzAQ=", "ips": [ "82.149.81.1" ] }, { "vpn": "openvpn", "country": "Monaco", "region": "Europe", "city": "Monte Carlo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mc2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.81.3" ] }, { "vpn": "wireguard", "country": "Monaco", "region": "Europe", "city": "Monte Carlo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mc2.nordvpn.com", "wgpubkey": "yffM0K4uWw1hAHYnM7qld+xbkfpBB0O6aHSTmEFKzAQ=", "ips": [ "82.149.81.3" ] }, { "vpn": "openvpn", "country": "Mongolia", "region": "Asia Pacific", "city": "Ulaanbaatar", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mn1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.82.1" ] }, { "vpn": "wireguard", "country": "Mongolia", "region": "Asia Pacific", "city": "Ulaanbaatar", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mn1.nordvpn.com", "wgpubkey": "T1XC8QynaPKCSADsKOqzNp2wigJ46D5pwKQX8MVxkH0=", "ips": [ "82.149.82.1" ] }, { "vpn": "openvpn", "country": "Mongolia", "region": "Asia Pacific", "city": "Ulaanbaatar", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mn2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.82.3" ] }, { "vpn": "wireguard", "country": "Mongolia", "region": "Asia Pacific", "city": "Ulaanbaatar", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mn2.nordvpn.com", "wgpubkey": "T1XC8QynaPKCSADsKOqzNp2wigJ46D5pwKQX8MVxkH0=", "ips": [ "82.149.82.3" ] }, { "vpn": "openvpn", "country": "Montenegro", "region": "Europe", "city": "Podgorica", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "me1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.83.1" ] }, { "vpn": "wireguard", "country": "Montenegro", "region": "Europe", "city": "Podgorica", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "me1.nordvpn.com", "wgpubkey": "w4ezuztRzKllSV5lFwW1Bsyrev61UKFkbPTJR2LGbRY=", "ips": [ "82.149.83.1" ] }, { "vpn": "openvpn", "country": "Montenegro", "region": "Europe", "city": "Podgorica", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "me2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.83.3" ] }, { "vpn": "wireguard", "country": "Montenegro", "region": "Europe", "city": "Podgorica", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "me2.nordvpn.com", "wgpubkey": "w4ezuztRzKllSV5lFwW1Bsyrev61UKFkbPTJR2LGbRY=", "ips": [ "82.149.83.3" ] }, { "vpn": "openvpn", "country": "Morocco", "region": "Africa the Middle East and India", "city": "Rabat", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ma1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.76.1" ] }, { "vpn": "wireguard", "country": "Morocco", "region": "Africa the Middle East and India", "city": "Rabat", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ma1.nordvpn.com", "wgpubkey": "/3HH4L/YJ+CyFByzsc6MSnMIKYU4CUZD0lFCs8hMW2E=", "ips": [ "82.197.76.1" ] }, { "vpn": "openvpn", "country": "Morocco", "region": "Africa the Middle East and India", "city": "Rabat", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ma2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.76.3" ] }, { "vpn": "wireguard", "country": "Morocco", "region": "Africa the Middle East and India", "city": "Rabat", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ma2.nordvpn.com", "wgpubkey": "/3HH4L/YJ+CyFByzsc6MSnMIKYU4CUZD0lFCs8hMW2E=", "ips": [ "82.197.76.3" ] }, { "vpn": "openvpn", "country": "Myanmar", "region": "Asia Pacific", "city": "Naypyidaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mm1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.77.1" ] }, { "vpn": "wireguard", "country": "Myanmar", "region": "Asia Pacific", "city": "Naypyidaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "mm1.nordvpn.com", "wgpubkey": "Rp0b7yjmfV6oeOtKISxsfX0Ir43u4UrWqzD5pkKxrzA=", "ips": [ "82.197.77.1" ] }, { "vpn": "openvpn", "country": "Myanmar", "region": "Asia Pacific", "city": "Naypyidaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mm2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.77.3" ] }, { "vpn": "wireguard", "country": "Myanmar", "region": "Asia Pacific", "city": "Naypyidaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "mm2.nordvpn.com", "wgpubkey": "Rp0b7yjmfV6oeOtKISxsfX0Ir43u4UrWqzD5pkKxrzA=", "ips": [ "82.197.77.3" ] }, { "vpn": "openvpn", "country": "Nepal", "region": "Asia Pacific", "city": "Kathmandu", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "np1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.78.1" ] }, { "vpn": "wireguard", "country": "Nepal", "region": "Asia Pacific", "city": "Kathmandu", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "np1.nordvpn.com", "wgpubkey": "qndOlbXzUUlrWImnqZ+Off4+IwYSeKIT8xPcQ3ITDAM=", "ips": [ "82.197.78.1" ] }, { "vpn": "openvpn", "country": "Nepal", "region": "Asia Pacific", "city": "Kathmandu", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "np2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.78.3" ] }, { "vpn": "wireguard", "country": "Nepal", "region": "Asia Pacific", "city": "Kathmandu", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "np2.nordvpn.com", "wgpubkey": "qndOlbXzUUlrWImnqZ+Off4+IwYSeKIT8xPcQ3ITDAM=", "ips": [ "82.197.78.3" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Onion Over VPN" ], "number": 6, "hostname": "nl-onion6.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.219" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Onion Over VPN" ], "number": 6, "hostname": "nl-onion6.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.219" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Onion Over VPN" ], "number": 7, "hostname": "nl-onion7.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.217.171.8" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Onion Over VPN" ], "number": 7, "hostname": "nl-onion7.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "185.217.171.8" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 10, "hostname": "uk-nl10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.97" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 10, "hostname": "uk-nl10.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "109.70.150.97" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 11, "hostname": "se-nl11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.195" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 11, "hostname": "se-nl11.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "91.132.138.195" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 11, "hostname": "uk-nl11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.98" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 11, "hostname": "uk-nl11.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "109.70.150.98" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 12, "hostname": "se-nl12.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.227" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 12, "hostname": "se-nl12.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "91.132.138.227" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 12, "hostname": "uk-nl12.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.90.6" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 12, "hostname": "uk-nl12.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "217.146.90.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 13, "hostname": "ch-nl13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.242.213.147" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 13, "hostname": "ch-nl13.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "195.242.213.147" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 13, "hostname": "se-nl13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.219" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 13, "hostname": "se-nl13.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "91.132.138.219" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 13, "hostname": "uk-nl13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.90.8" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 13, "hostname": "uk-nl13.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "217.146.90.8" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 14, "hostname": "ch-nl14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.242.213.152" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 14, "hostname": "ch-nl14.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "195.242.213.152" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 14, "hostname": "se-nl14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.211" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 14, "hostname": "se-nl14.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "91.132.138.211" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 15, "hostname": "ch-nl15.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.125.107" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 15, "hostname": "ch-nl15.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "185.230.125.107" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 16, "hostname": "ch-nl16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.201.131" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Double VPN" ], "number": 16, "hostname": "ch-nl16.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "185.236.201.131" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 408, "hostname": "nl408.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.58.3" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 409, "hostname": "nl409.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.58.129" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 716, "hostname": "nl716.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.178" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 716, "hostname": "nl716.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.178" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 717, "hostname": "nl717.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.180" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 717, "hostname": "nl717.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.180" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 718, "hostname": "nl718.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.182" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 718, "hostname": "nl718.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.182" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 719, "hostname": "nl719.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.184" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 719, "hostname": "nl719.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.184" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 720, "hostname": "nl720.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.186" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 720, "hostname": "nl720.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.186" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 721, "hostname": "nl721.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.188" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 721, "hostname": "nl721.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.188" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 722, "hostname": "nl722.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.190" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 722, "hostname": "nl722.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.190" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 723, "hostname": "nl723.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.192" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 723, "hostname": "nl723.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.192" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 724, "hostname": "nl724.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.194" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 724, "hostname": "nl724.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.194" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 725, "hostname": "nl725.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.196" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 725, "hostname": "nl725.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.196" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 726, "hostname": "nl726.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.198" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 726, "hostname": "nl726.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.198" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 727, "hostname": "nl727.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.200" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 727, "hostname": "nl727.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.200" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 728, "hostname": "nl728.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.202" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 728, "hostname": "nl728.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.202" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 729, "hostname": "nl729.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.204" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 729, "hostname": "nl729.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.204" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 730, "hostname": "nl730.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.206" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 730, "hostname": "nl730.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.206" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 731, "hostname": "nl731.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.208" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 731, "hostname": "nl731.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.208" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 732, "hostname": "nl732.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.210" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 732, "hostname": "nl732.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.210" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 733, "hostname": "nl733.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.212" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 733, "hostname": "nl733.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.212" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 734, "hostname": "nl734.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.214" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 734, "hostname": "nl734.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.214" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 757, "hostname": "nl757.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.36" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 815, "hostname": "nl815.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.251" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 815, "hostname": "nl815.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.251" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 816, "hostname": "nl816.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.247" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 816, "hostname": "nl816.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.247" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 817, "hostname": "nl817.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.243" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 817, "hostname": "nl817.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.243" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 818, "hostname": "nl818.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.239" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 818, "hostname": "nl818.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.239" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 819, "hostname": "nl819.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.235" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 819, "hostname": "nl819.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.235" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 820, "hostname": "nl820.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.231" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 820, "hostname": "nl820.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.231" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 821, "hostname": "nl821.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.227" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 821, "hostname": "nl821.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.227" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 822, "hostname": "nl822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.223" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 822, "hostname": "nl822.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.223" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 823, "hostname": "nl823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.219" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 823, "hostname": "nl823.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.219" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 824, "hostname": "nl824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.215" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 824, "hostname": "nl824.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.215" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 825, "hostname": "nl825.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.211" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 825, "hostname": "nl825.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.211" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 826, "hostname": "nl826.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.207" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 826, "hostname": "nl826.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.207" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 827, "hostname": "nl827.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.203" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 827, "hostname": "nl827.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.203" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 828, "hostname": "nl828.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.199" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 828, "hostname": "nl828.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.199" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 829, "hostname": "nl829.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.195" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 829, "hostname": "nl829.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.195" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 830, "hostname": "nl830.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.191" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 830, "hostname": "nl830.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.191" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 831, "hostname": "nl831.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.187" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 831, "hostname": "nl831.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.187" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 832, "hostname": "nl832.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.183" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 832, "hostname": "nl832.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.183" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 833, "hostname": "nl833.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.179" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 833, "hostname": "nl833.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.179" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 834, "hostname": "nl834.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.175" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 834, "hostname": "nl834.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.175" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 835, "hostname": "nl835.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.171" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 835, "hostname": "nl835.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.171" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 836, "hostname": "nl836.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.167" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 836, "hostname": "nl836.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.167" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 837, "hostname": "nl837.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.163" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 837, "hostname": "nl837.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.163" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 839, "hostname": "nl839.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.173.159" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 839, "hostname": "nl839.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "178.239.173.159" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 840, "hostname": "nl840.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.67" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 840, "hostname": "nl840.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.67" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 841, "hostname": "nl841.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.70" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 841, "hostname": "nl841.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.70" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 842, "hostname": "nl842.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.73" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 842, "hostname": "nl842.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.73" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 843, "hostname": "nl843.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.76" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 843, "hostname": "nl843.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.76" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 844, "hostname": "nl844.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.79" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 844, "hostname": "nl844.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.79" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 845, "hostname": "nl845.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.82" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 845, "hostname": "nl845.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.82" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 846, "hostname": "nl846.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.85" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 846, "hostname": "nl846.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.85" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 847, "hostname": "nl847.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.88" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 847, "hostname": "nl847.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.88" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 848, "hostname": "nl848.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.91" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 848, "hostname": "nl848.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.91" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 849, "hostname": "nl849.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.94" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 849, "hostname": "nl849.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.94" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 850, "hostname": "nl850.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.97" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 850, "hostname": "nl850.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.97" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 851, "hostname": "nl851.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.100" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 851, "hostname": "nl851.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.100" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 852, "hostname": "nl852.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.103" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 852, "hostname": "nl852.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.103" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 853, "hostname": "nl853.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.106" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 853, "hostname": "nl853.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.106" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 854, "hostname": "nl854.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.172.109" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 854, "hostname": "nl854.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.127.172.109" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 863, "hostname": "nl863.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.57" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 863, "hostname": "nl863.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.57" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 864, "hostname": "nl864.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.59" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 864, "hostname": "nl864.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.59" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 865, "hostname": "nl865.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.61" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 865, "hostname": "nl865.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.61" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 866, "hostname": "nl866.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.63" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 866, "hostname": "nl866.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.63" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 867, "hostname": "nl867.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.65" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 867, "hostname": "nl867.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.65" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 868, "hostname": "nl868.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.67" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 868, "hostname": "nl868.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.67" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 869, "hostname": "nl869.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.69" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 869, "hostname": "nl869.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.69" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 870, "hostname": "nl870.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.71" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 870, "hostname": "nl870.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.71" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 871, "hostname": "nl871.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.73" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 871, "hostname": "nl871.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.73" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 872, "hostname": "nl872.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.75" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 872, "hostname": "nl872.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.75" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 873, "hostname": "nl873.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.77" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 873, "hostname": "nl873.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.77" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 874, "hostname": "nl874.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.79" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 874, "hostname": "nl874.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.79" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 875, "hostname": "nl875.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.81" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 875, "hostname": "nl875.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.81" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 876, "hostname": "nl876.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.83" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 876, "hostname": "nl876.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.83" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 877, "hostname": "nl877.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.85" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 877, "hostname": "nl877.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.85" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 878, "hostname": "nl878.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.87" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 878, "hostname": "nl878.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.87" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 879, "hostname": "nl879.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.89" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 879, "hostname": "nl879.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.89" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 880, "hostname": "nl880.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.91" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 880, "hostname": "nl880.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.91" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 881, "hostname": "nl881.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.93" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 881, "hostname": "nl881.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.93" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 882, "hostname": "nl882.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.95" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 882, "hostname": "nl882.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.95" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 883, "hostname": "nl883.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.97" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 883, "hostname": "nl883.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.97" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 884, "hostname": "nl884.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.99" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 884, "hostname": "nl884.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.99" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 885, "hostname": "nl885.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.101" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 885, "hostname": "nl885.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.101" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 886, "hostname": "nl886.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.103" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 886, "hostname": "nl886.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.103" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 887, "hostname": "nl887.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.105" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 887, "hostname": "nl887.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.105" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 888, "hostname": "nl888.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.107" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 888, "hostname": "nl888.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.107" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 889, "hostname": "nl889.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.109" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 889, "hostname": "nl889.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.109" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 890, "hostname": "nl890.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.111" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 890, "hostname": "nl890.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.111" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 891, "hostname": "nl891.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.113" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 891, "hostname": "nl891.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.113" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 892, "hostname": "nl892.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.115" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 892, "hostname": "nl892.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.115" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 893, "hostname": "nl893.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.117" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 893, "hostname": "nl893.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.117" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 894, "hostname": "nl894.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.119" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 894, "hostname": "nl894.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.119" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 895, "hostname": "nl895.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.121" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 895, "hostname": "nl895.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.121" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 896, "hostname": "nl896.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.123" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 896, "hostname": "nl896.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.123" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 897, "hostname": "nl897.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.125" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 897, "hostname": "nl897.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.125" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 898, "hostname": "nl898.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.127" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 898, "hostname": "nl898.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.127" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 899, "hostname": "nl899.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.129" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 899, "hostname": "nl899.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.129" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 900, "hostname": "nl900.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.131" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 900, "hostname": "nl900.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.131" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 901, "hostname": "nl901.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.133" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 901, "hostname": "nl901.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.133" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 902, "hostname": "nl902.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.135" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 902, "hostname": "nl902.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.135" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 903, "hostname": "nl903.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.137" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 903, "hostname": "nl903.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.232.87.137" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 910, "hostname": "nl910.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.3" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 910, "hostname": "nl910.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.3" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 911, "hostname": "nl911.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.6" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 911, "hostname": "nl911.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 912, "hostname": "nl912.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.9" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 912, "hostname": "nl912.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 913, "hostname": "nl913.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.12" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 913, "hostname": "nl913.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.12" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 914, "hostname": "nl914.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.15" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 914, "hostname": "nl914.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.15" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 915, "hostname": "nl915.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.18" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 915, "hostname": "nl915.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.18" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 916, "hostname": "nl916.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.21" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 916, "hostname": "nl916.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.21" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 917, "hostname": "nl917.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.24" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 917, "hostname": "nl917.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.24" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 918, "hostname": "nl918.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.27" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 918, "hostname": "nl918.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.27" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 919, "hostname": "nl919.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.30" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 919, "hostname": "nl919.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.30" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 920, "hostname": "nl920.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.33" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 920, "hostname": "nl920.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.33" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 923, "hostname": "nl923.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.67" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 923, "hostname": "nl923.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.67" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 924, "hostname": "nl924.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.70" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 924, "hostname": "nl924.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.70" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 925, "hostname": "nl925.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.73" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 925, "hostname": "nl925.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.73" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 926, "hostname": "nl926.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.76" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 926, "hostname": "nl926.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.76" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 927, "hostname": "nl927.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.79" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 927, "hostname": "nl927.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.79" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 928, "hostname": "nl928.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.82" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 928, "hostname": "nl928.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.82" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 929, "hostname": "nl929.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.85" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 929, "hostname": "nl929.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.85" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 930, "hostname": "nl930.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.88" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 930, "hostname": "nl930.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.88" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 931, "hostname": "nl931.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.91" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 931, "hostname": "nl931.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.91" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 932, "hostname": "nl932.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.94" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 932, "hostname": "nl932.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.94" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 933, "hostname": "nl933.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.97" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 933, "hostname": "nl933.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.97" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 934, "hostname": "nl934.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.100" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "P2P", "Standard VPN servers" ], "number": 934, "hostname": "nl934.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.100" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 945, "hostname": "nl945.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.227" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 946, "hostname": "nl946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.228" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 957, "hostname": "nl957.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.203" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 958, "hostname": "nl958.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.204" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 960, "hostname": "nl960.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.2" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 960, "hostname": "nl960.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.2" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 961, "hostname": "nl961.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.17" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 961, "hostname": "nl961.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.17" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 962, "hostname": "nl962.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.32" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 962, "hostname": "nl962.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.32" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 963, "hostname": "nl963.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.47" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 963, "hostname": "nl963.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.47" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 964, "hostname": "nl964.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.62" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 964, "hostname": "nl964.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.62" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 965, "hostname": "nl965.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.77" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 965, "hostname": "nl965.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.77" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 966, "hostname": "nl966.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.92" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 966, "hostname": "nl966.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.92" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 967, "hostname": "nl967.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.107" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 967, "hostname": "nl967.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.107" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 968, "hostname": "nl968.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.49.52.122" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 968, "hostname": "nl968.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "194.49.52.122" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 969, "hostname": "nl969.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.150.146" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 969, "hostname": "nl969.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "82.180.150.146" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 970, "hostname": "nl970.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.1" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 970, "hostname": "nl970.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.1" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 971, "hostname": "nl971.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.9" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 971, "hostname": "nl971.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 972, "hostname": "nl972.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.17" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 972, "hostname": "nl972.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.17" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 973, "hostname": "nl973.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.25" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 973, "hostname": "nl973.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.25" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 974, "hostname": "nl974.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.33" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 974, "hostname": "nl974.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.33" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 975, "hostname": "nl975.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.41" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 975, "hostname": "nl975.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.41" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 976, "hostname": "nl976.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.49" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 976, "hostname": "nl976.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.49" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 977, "hostname": "nl977.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.57" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 977, "hostname": "nl977.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.57" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 978, "hostname": "nl978.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.65" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 978, "hostname": "nl978.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.65" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 979, "hostname": "nl979.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.73" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 979, "hostname": "nl979.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.73" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 980, "hostname": "nl980.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.81" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 980, "hostname": "nl980.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.81" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 981, "hostname": "nl981.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.89" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 981, "hostname": "nl981.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.89" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 982, "hostname": "nl982.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.96" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 982, "hostname": "nl982.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.96" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 983, "hostname": "nl983.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.103" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 983, "hostname": "nl983.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.103" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 984, "hostname": "nl984.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.110" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 984, "hostname": "nl984.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.110" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 985, "hostname": "nl985.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.41.117" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 985, "hostname": "nl985.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "143.244.41.117" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 986, "hostname": "nl986.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.239" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 986, "hostname": "nl986.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.239" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 987, "hostname": "nl987.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.241" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 987, "hostname": "nl987.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.241" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 988, "hostname": "nl988.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.243" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 988, "hostname": "nl988.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.243" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 989, "hostname": "nl989.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.245" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 989, "hostname": "nl989.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.245" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 990, "hostname": "nl990.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.247" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 990, "hostname": "nl990.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.247" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 991, "hostname": "nl991.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.188.249" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 991, "hostname": "nl991.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.188.249" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 992, "hostname": "nl992.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.214" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 992, "hostname": "nl992.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.214" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 993, "hostname": "nl993.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.218" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 993, "hostname": "nl993.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.218" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 994, "hostname": "nl994.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.222" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 994, "hostname": "nl994.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.222" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 995, "hostname": "nl995.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.226" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 995, "hostname": "nl995.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.226" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 996, "hostname": "nl996.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.230" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 996, "hostname": "nl996.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.230" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 997, "hostname": "nl997.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.234" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 997, "hostname": "nl997.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.234" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 998, "hostname": "nl998.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.238" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 998, "hostname": "nl998.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.238" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 999, "hostname": "nl999.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.242" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 999, "hostname": "nl999.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.242" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1000, "hostname": "nl1000.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.246" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1000, "hostname": "nl1000.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.246" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1001, "hostname": "nl1001.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.152.162.250" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1001, "hostname": "nl1001.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "213.152.162.250" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1006, "hostname": "nl1006.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.194" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1006, "hostname": "nl1006.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "149.34.244.194" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1007, "hostname": "nl1007.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.200" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1007, "hostname": "nl1007.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "149.34.244.200" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1008, "hostname": "nl1008.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.205" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1008, "hostname": "nl1008.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "149.34.244.205" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1009, "hostname": "nl1009.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.210" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1009, "hostname": "nl1009.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "149.34.244.210" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1010, "hostname": "nl1010.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.240" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1010, "hostname": "nl1010.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.240" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1011, "hostname": "nl1011.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.224" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1011, "hostname": "nl1011.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.224" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1012, "hostname": "nl1012.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.208" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1012, "hostname": "nl1012.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.208" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1013, "hostname": "nl1013.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.176" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1013, "hostname": "nl1013.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.176" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1014, "hostname": "nl1014.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.160" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1014, "hostname": "nl1014.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.160" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1015, "hostname": "nl1015.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.144" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1015, "hostname": "nl1015.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.144" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1016, "hostname": "nl1016.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.128" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1016, "hostname": "nl1016.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.128" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1017, "hostname": "nl1017.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.192" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1017, "hostname": "nl1017.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.192" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1018, "hostname": "nl1018.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.112" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1018, "hostname": "nl1018.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.112" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1020, "hostname": "nl1020.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.215" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1021, "hostname": "nl1021.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.216" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1022, "hostname": "nl1022.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.218" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1023, "hostname": "nl1023.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.244.219" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1024, "hostname": "nl1024.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.218.104" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1025, "hostname": "nl1025.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.218.106" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1036, "hostname": "nl1036.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.218.117" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1037, "hostname": "nl1037.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.218.119" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1038, "hostname": "nl1038.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.190.55" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1039, "hostname": "nl1039.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.190.57" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1042, "hostname": "nl1042.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.122.56" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Standard VPN servers", "P2P" ], "number": 1042, "hostname": "nl1042.nordvpn.com", "wgpubkey": "5p4RkybdRU5uaDi90eu4KZPTFif0lKCg4Qp6t1c4F30=", "ips": [ "37.46.122.56" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1043, "hostname": "nl1043.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.218.115" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1044, "hostname": "nl1044.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.218.122" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1045, "hostname": "nl1045.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.59.215" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1046, "hostname": "nl1046.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.59.217" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "categories": [ "Dedicated IP" ], "number": 1048, "hostname": "nl1048.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.59.210" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "nz86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.67" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "nz86.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.67" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "nz87.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.75" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "nz87.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.75" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "nz88.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.83" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "nz88.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.83" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "nz89.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.91" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "nz89.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.91" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "nz90.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.99" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "nz90.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.99" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 91, "hostname": "nz91.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.107" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 91, "hostname": "nz91.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.107" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "nz92.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.146" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "nz92.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.146" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "nz93.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.150" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "nz93.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.150" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "nz94.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.154" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "nz94.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.154" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "nz95.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.242" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "nz95.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.242" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "nz96.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.249" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "nz96.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.249" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "nz97.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.194" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "nz97.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.194" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "nz98.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.201" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "nz98.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.201" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "nz99.nordvpn.com", "tcp": true, "udp": true, "ips": [ "180.149.231.82" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "nz99.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "180.149.231.82" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "nz100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.115" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "nz100.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.115" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "nz101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.123" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "nz101.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.123" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "nz102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.131" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "nz102.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.131" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "nz103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.139" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "nz103.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.139" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "nz104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.147" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "nz104.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.147" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "nz105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.155" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 105, "hostname": "nz105.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.155" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "nz106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.163" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "nz106.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.163" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "nz107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.74.235" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "nz107.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.74.235" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "nz108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.75.139" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "nz108.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.75.139" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "nz109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.75.147" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "nz109.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.75.147" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "nz110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.75.155" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "nz110.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.75.155" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "nz111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.75.163" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "nz111.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.75.163" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "nz112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "116.90.75.171" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "nz112.nordvpn.com", "wgpubkey": "P7Dv2WoopPHomMq6jnvwV2hnV2BnI/7LklaIUTEzSQ8=", "ips": [ "116.90.75.171" ] }, { "vpn": "openvpn", "country": "Nigeria", "region": "Africa the Middle East and India", "city": "Lagos", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ng1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.79.1" ] }, { "vpn": "wireguard", "country": "Nigeria", "region": "Africa the Middle East and India", "city": "Lagos", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ng1.nordvpn.com", "wgpubkey": "JxDrW3mqChvvPCpP2BrWXbHi3SUSWS/1iPAmAgBX70Q=", "ips": [ "82.197.79.1" ] }, { "vpn": "openvpn", "country": "Nigeria", "region": "Africa the Middle East and India", "city": "Lagos", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ng2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.197.79.3" ] }, { "vpn": "wireguard", "country": "Nigeria", "region": "Africa the Middle East and India", "city": "Lagos", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ng2.nordvpn.com", "wgpubkey": "JxDrW3mqChvvPCpP2BrWXbHi3SUSWS/1iPAmAgBX70Q=", "ips": [ "82.197.79.3" ] }, { "vpn": "openvpn", "country": "North Macedonia", "region": "Europe", "city": "Skopje", "categories": [ "Standard VPN servers" ], "number": 11, "hostname": "mk11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.28.163" ] }, { "vpn": "wireguard", "country": "North Macedonia", "region": "Europe", "city": "Skopje", "categories": [ "Standard VPN servers" ], "number": 11, "hostname": "mk11.nordvpn.com", "wgpubkey": "Rh1u8Z0OqDiMX2/8rLw7P/N57jZc/sa5G9MvHfMKIm8=", "ips": [ "185.225.28.163" ] }, { "vpn": "openvpn", "country": "North Macedonia", "region": "Europe", "city": "Skopje", "categories": [ "Standard VPN servers" ], "number": 12, "hostname": "mk12.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.225.28.195" ] }, { "vpn": "wireguard", "country": "North Macedonia", "region": "Europe", "city": "Skopje", "categories": [ "Standard VPN servers" ], "number": 12, "hostname": "mk12.nordvpn.com", "wgpubkey": "Rh1u8Z0OqDiMX2/8rLw7P/N57jZc/sa5G9MvHfMKIm8=", "ips": [ "185.225.28.195" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "no141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.163" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "no141.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.163" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "no142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.171" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "no142.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.171" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "no143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.179" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "no143.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.179" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "no144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.187" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "no144.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.187" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "no145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.195" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "no145.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.195" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "no146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.203" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "no146.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.203" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "no147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.211" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "no147.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.211" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "no148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.203.219" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "no148.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.203.219" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "no149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.27" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "no149.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.27" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "no151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.22.92" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "no151.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.22.92" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "no162.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.27.211" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "no162.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.27.211" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "no163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.67" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "no163.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.67" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "no164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.83" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "no164.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.83" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "no167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.206.225.243" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "no167.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "185.206.225.243" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "no168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.206.225.248" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "no168.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "185.206.225.248" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "no169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.163" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "no169.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.163" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "no170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.27.147" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "no170.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.27.147" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "no171.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.27.203" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "no171.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.27.203" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "no172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.22.219" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "no172.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.22.219" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "no173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.227" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "no173.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.227" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "no174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.235" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "no174.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.235" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "no175.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.27.235" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "no175.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.27.235" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "no176.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.27.243" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "no176.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.27.243" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 178, "hostname": "no178.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.179" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 178, "hostname": "no178.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.179" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "no179.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.187" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "no179.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.187" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "no180.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.195" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "no180.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.195" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "no181.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.22.83" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "no181.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.22.83" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "no182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.22.235" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "no182.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.22.235" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "no183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.102.22.227" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "no183.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "82.102.22.227" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 184, "hostname": "no184.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.42" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 184, "hostname": "no184.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.42" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 185, "hostname": "no185.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.91" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 185, "hostname": "no185.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.91" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "no186.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.99" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 186, "hostname": "no186.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.99" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "no187.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.251" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 187, "hostname": "no187.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.251" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "no188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.83" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "no188.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.83" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "no189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.91" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "no189.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.91" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "no190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.99" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "no190.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.99" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "no191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.107" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "no191.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.107" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "no192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.243" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "no192.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.243" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "no193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.155" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "no193.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.155" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "no194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.235" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "no194.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.235" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "no195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.251" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "no195.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.251" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "no196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.223.227" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "no196.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.12.223.227" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "no197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.19" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "no197.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.19" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "no198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.24" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "no198.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.24" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "no199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.29" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "no199.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.29" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "no200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.149.37" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "no200.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "37.120.149.37" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "no201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.17.163" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "no201.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "146.70.17.163" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "no202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.17.171" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "no202.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "146.70.17.171" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "no203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.50.35" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "no203.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "84.247.50.35" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "no204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.50.43" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "no204.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "84.247.50.43" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "no205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.50.51" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "no205.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "84.247.50.51" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "no206.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.247.50.59" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "no206.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "84.247.50.59" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "no207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "95.174.66.131" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "no207.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "95.174.66.131" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "no208.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.206.225.195" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "no208.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "185.206.225.195" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "no209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.17.139" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "no209.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "146.70.17.139" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "no210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.17.179" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "no210.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "146.70.17.179" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "no211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.17.187" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "no211.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "146.70.17.187" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "no212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.17.195" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "no212.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "146.70.17.195" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "no213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.17.203" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "no213.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "146.70.17.203" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "no214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.100" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "no214.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.100" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "no215.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.102" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "no215.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.102" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "no216.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.104" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "no216.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.104" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "no217.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.106" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "no217.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.106" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "no218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.108" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "no218.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.108" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "no219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.110" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "no219.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.110" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "no220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.112" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "no220.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.112" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "no221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.114" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "no221.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.114" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "no222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.116" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "no222.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.116" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "no223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.118" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "no223.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.118" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "no224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.120" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "no224.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.120" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "no225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.122" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "no225.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.122" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "no226.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.124" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "no226.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.124" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "no227.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.126" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "no227.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.126" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "no228.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.128" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "no228.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.128" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "no229.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.130" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "no229.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.130" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 230, "hostname": "no230.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.132" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 230, "hostname": "no230.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.132" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 231, "hostname": "no231.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.134" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 231, "hostname": "no231.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.134" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 232, "hostname": "no232.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.136" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 232, "hostname": "no232.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.136" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "no233.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.138" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "no233.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.138" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 234, "hostname": "no234.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.140" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 234, "hostname": "no234.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.140" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 235, "hostname": "no235.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.142" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 235, "hostname": "no235.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.142" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 236, "hostname": "no236.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.144" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 236, "hostname": "no236.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.144" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "no237.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.146" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "no237.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.146" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "no238.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.84.39.148" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "no238.nordvpn.com", "wgpubkey": "24IO9X6HN0Rx/KLpFpcZHjcI2bJ6Z6JWJ+ZShKjTZkU=", "ips": [ "45.84.39.148" ] }, { "vpn": "openvpn", "country": "Pakistan", "region": "Asia Pacific", "city": "Karachi", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pk1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.148.1" ] }, { "vpn": "wireguard", "country": "Pakistan", "region": "Asia Pacific", "city": "Karachi", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pk1.nordvpn.com", "wgpubkey": "uNfNXGmJcGX6H9L3r5R3nz5OXu9OpZ2ru1XwJBnzhCY=", "ips": [ "185.239.148.1" ] }, { "vpn": "openvpn", "country": "Pakistan", "region": "Asia Pacific", "city": "Karachi", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pk2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.148.3" ] }, { "vpn": "wireguard", "country": "Pakistan", "region": "Asia Pacific", "city": "Karachi", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pk2.nordvpn.com", "wgpubkey": "uNfNXGmJcGX6H9L3r5R3nz5OXu9OpZ2ru1XwJBnzhCY=", "ips": [ "185.239.148.3" ] }, { "vpn": "openvpn", "country": "Panama", "region": "The Americas", "city": "Panama City", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pa1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.149.1" ] }, { "vpn": "wireguard", "country": "Panama", "region": "The Americas", "city": "Panama City", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pa1.nordvpn.com", "wgpubkey": "g7mT06lDESbHjSVoW7x//GQ4p5jtwblFVpz0fmMBlQk=", "ips": [ "185.239.149.1" ] }, { "vpn": "openvpn", "country": "Panama", "region": "The Americas", "city": "Panama City", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pa2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.149.3" ] }, { "vpn": "wireguard", "country": "Panama", "region": "The Americas", "city": "Panama City", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pa2.nordvpn.com", "wgpubkey": "g7mT06lDESbHjSVoW7x//GQ4p5jtwblFVpz0fmMBlQk=", "ips": [ "185.239.149.3" ] }, { "vpn": "openvpn", "country": "Papua New Guinea", "region": "Asia Pacific", "city": "Port Moresby", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pg1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.67.1" ] }, { "vpn": "wireguard", "country": "Papua New Guinea", "region": "Asia Pacific", "city": "Port Moresby", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pg1.nordvpn.com", "wgpubkey": "sTWNRBXz8BtNcBRsKZOfWMKNIIN3L642Pfgw60nUJ0U=", "ips": [ "212.97.67.1" ] }, { "vpn": "openvpn", "country": "Papua New Guinea", "region": "Asia Pacific", "city": "Port Moresby", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pg2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.67.3" ] }, { "vpn": "wireguard", "country": "Papua New Guinea", "region": "Asia Pacific", "city": "Port Moresby", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pg2.nordvpn.com", "wgpubkey": "sTWNRBXz8BtNcBRsKZOfWMKNIIN3L642Pfgw60nUJ0U=", "ips": [ "212.97.67.3" ] }, { "vpn": "openvpn", "country": "Paraguay", "region": "The Americas", "city": "Asunción", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "py1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.150.1" ] }, { "vpn": "wireguard", "country": "Paraguay", "region": "The Americas", "city": "Asunción", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "py1.nordvpn.com", "wgpubkey": "2hJCmf9BSRCV8B6Dr2+zk9/YhWakDmZP+RRCShD2HFE=", "ips": [ "185.239.150.1" ] }, { "vpn": "openvpn", "country": "Paraguay", "region": "The Americas", "city": "Asunción", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "py2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.150.3" ] }, { "vpn": "wireguard", "country": "Paraguay", "region": "The Americas", "city": "Asunción", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "py2.nordvpn.com", "wgpubkey": "2hJCmf9BSRCV8B6Dr2+zk9/YhWakDmZP+RRCShD2HFE=", "ips": [ "185.239.150.3" ] }, { "vpn": "openvpn", "country": "Peru", "region": "The Americas", "city": "Lima", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pe1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.151.1" ] }, { "vpn": "wireguard", "country": "Peru", "region": "The Americas", "city": "Lima", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pe1.nordvpn.com", "wgpubkey": "xzewOaZ8K3MPzm5BV110hUezcGLMRN7yNUwmPFnfAi4=", "ips": [ "185.239.151.1" ] }, { "vpn": "openvpn", "country": "Peru", "region": "The Americas", "city": "Lima", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pe2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.239.151.3" ] }, { "vpn": "wireguard", "country": "Peru", "region": "The Americas", "city": "Lima", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pe2.nordvpn.com", "wgpubkey": "xzewOaZ8K3MPzm5BV110hUezcGLMRN7yNUwmPFnfAi4=", "ips": [ "185.239.151.3" ] }, { "vpn": "openvpn", "country": "Philippines", "region": "Asia Pacific", "city": "Manila", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ph1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.71.1" ] }, { "vpn": "wireguard", "country": "Philippines", "region": "Asia Pacific", "city": "Manila", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ph1.nordvpn.com", "wgpubkey": "F5OyOuVCj2m8yvFXGv+bB5PWULm92H4NJVeA4IFw3wg=", "ips": [ "212.97.71.1" ] }, { "vpn": "openvpn", "country": "Philippines", "region": "Asia Pacific", "city": "Manila", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ph2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.71.3" ] }, { "vpn": "wireguard", "country": "Philippines", "region": "Asia Pacific", "city": "Manila", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ph2.nordvpn.com", "wgpubkey": "F5OyOuVCj2m8yvFXGv+bB5PWULm92H4NJVeA4IFw3wg=", "ips": [ "212.97.71.3" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "pl122.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.171" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "pl122.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.171" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "pl125.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.209.67" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "pl125.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "217.138.209.67" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "pl128.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.99.105.99" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "pl128.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "194.99.105.99" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "pl133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.55.82" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "pl133.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "84.17.55.82" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "pl134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.219" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "pl134.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.219" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "pl135.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.227" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "pl135.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.227" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "pl136.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.131" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "pl136.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.131" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "pl137.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.139" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "pl137.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.139" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "pl138.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.147" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "pl138.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.147" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "pl139.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.51" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "pl139.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.51" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "pl140.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.83" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "pl140.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.83" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "pl141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.91" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "pl141.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.91" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "pl143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.139" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "pl143.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.139" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "pl144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.147" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "pl144.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.147" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "pl145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.155" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "pl145.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.155" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "pl146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.163" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "pl146.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.163" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "pl147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.253.206.171" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "pl147.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "5.253.206.171" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "pl148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.214.227" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "pl148.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "185.244.214.227" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "pl149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.214.232" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "pl149.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "185.244.214.232" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "pl150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.214.237" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "pl150.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "185.244.214.237" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "pl151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.214.242" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "pl151.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "185.244.214.242" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "pl152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.214.247" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 152, "hostname": "pl152.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "185.244.214.247" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "pl153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.99.105.227" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 153, "hostname": "pl153.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "194.99.105.227" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "pl154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.99.105.232" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "pl154.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "194.99.105.232" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "pl155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.99.105.237" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "pl155.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "194.99.105.237" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "pl156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.99.105.242" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "pl156.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "194.99.105.242" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "pl157.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.99.105.247" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 157, "hostname": "pl157.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "194.99.105.247" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 158, "hostname": "pl158.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.67" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 158, "hostname": "pl158.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.67" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 159, "hostname": "pl159.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.75" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 159, "hostname": "pl159.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.75" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 160, "hostname": "pl160.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.156.83" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 160, "hostname": "pl160.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.156.83" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "pl163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.99" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "pl163.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.99" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "pl164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.107" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "pl164.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.107" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "pl165.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.115" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "pl165.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.115" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "pl166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.123" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "pl166.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.123" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "pl167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.131" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "pl167.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.131" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "pl168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.139" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "pl168.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.139" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "pl169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.147" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "pl169.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.147" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "pl170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.155" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "pl170.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.155" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "pl171.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.211.163" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "pl171.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "37.120.211.163" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "pl172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.209.83" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "pl172.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "217.138.209.83" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "pl173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.209.75" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "pl173.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "217.138.209.75" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "pl196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.179" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "pl196.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.179" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "pl197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.172" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "pl197.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.172" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "pl198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.165" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "pl198.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.165" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "pl199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.158" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "pl199.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.158" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "pl200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.151" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "pl200.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.151" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "pl201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.144" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "pl201.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.144" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "pl202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.137" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "pl202.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.137" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "pl203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.130" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "pl203.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "45.134.212.130" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "pl208.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.1" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 208, "hostname": "pl208.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.1" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "pl209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.7" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 209, "hostname": "pl209.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.7" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "pl210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.13" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 210, "hostname": "pl210.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.13" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "pl211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.19" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 211, "hostname": "pl211.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.19" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "pl212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.25" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "pl212.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.25" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "pl213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.31" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "pl213.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.31" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "pl214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.37" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 214, "hostname": "pl214.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.37" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "pl215.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.43" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 215, "hostname": "pl215.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.43" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "pl216.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.49" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 216, "hostname": "pl216.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.49" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "pl217.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.55" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "pl217.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.55" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "pl218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.61" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "pl218.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.61" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "pl219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.67" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "pl219.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.67" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "pl220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.73" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "pl220.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.73" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "pl221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.151.79" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "pl221.nordvpn.com", "wgpubkey": "kjAOzXQRVGpmQdqE2zPsITH8QHmFK83AAPktqWed9wM=", "ips": [ "82.180.151.79" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Dedicated IP" ], "number": 222, "hostname": "pl222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.21" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Dedicated IP" ], "number": 223, "hostname": "pl223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.134.212.23" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Dedicated IP" ], "number": 224, "hostname": "pl224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.54.34" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "categories": [ "Dedicated IP" ], "number": 225, "hostname": "pl225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.54.36" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "pt66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.205.230.193" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "pt66.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.205.230.193" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "pt67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.205.230.201" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "pt67.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.205.230.201" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "pt79.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.82" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "pt79.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.82" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "pt80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.90" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "pt80.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.90" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "pt81.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.218" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "pt81.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.218" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "pt82.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.154.174.18" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "pt82.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "5.154.174.18" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "pt83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.154.174.138" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "pt83.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "5.154.174.138" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "pt84.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.154.174.194" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "pt84.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "5.154.174.194" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "pt85.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.250.240.42" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "pt85.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.250.240.42" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "pt86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.250.240.50" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "pt86.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.250.240.50" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "pt87.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.250.240.58" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "pt87.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.250.240.58" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "pt88.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.250.240.66" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "pt88.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.250.240.66" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "pt89.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.154.174.161" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 89, "hostname": "pt89.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "5.154.174.161" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "pt90.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.1" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 90, "hostname": "pt90.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.1" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 91, "hostname": "pt91.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.9" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 91, "hostname": "pt91.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.9" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "pt92.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.17" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 92, "hostname": "pt92.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.17" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "pt93.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.49" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 93, "hostname": "pt93.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.49" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "pt94.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.73" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 94, "hostname": "pt94.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.73" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "pt95.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.209" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 95, "hostname": "pt95.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.209" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "pt96.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.57" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 96, "hostname": "pt96.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.57" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "pt97.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.65" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 97, "hostname": "pt97.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.65" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "pt98.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.97" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 98, "hostname": "pt98.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.97" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "pt99.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.105" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 99, "hostname": "pt99.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.105" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "pt100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.113" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 100, "hostname": "pt100.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.113" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "pt101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.248.121" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 101, "hostname": "pt101.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "195.158.248.121" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "pt102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.92.210.145" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 102, "hostname": "pt102.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "185.92.210.145" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "pt103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.154.174.81" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 103, "hostname": "pt103.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "5.154.174.81" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "pt104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.205.230.209" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 104, "hostname": "pt104.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.205.230.209" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "pt106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.205.230.241" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 106, "hostname": "pt106.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.205.230.241" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "pt107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.205.230.249" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 107, "hostname": "pt107.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "91.205.230.249" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "pt108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.174.156.9" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 108, "hostname": "pt108.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "185.174.156.9" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "pt109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.174.156.1" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 109, "hostname": "pt109.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "185.174.156.1" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "pt110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.1" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 110, "hostname": "pt110.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.1" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "pt111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.17" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 111, "hostname": "pt111.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.17" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "pt112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.33" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 112, "hostname": "pt112.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.33" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "pt113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.49" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 113, "hostname": "pt113.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.49" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "pt114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.64" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "pt114.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.64" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 115, "hostname": "pt115.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.79" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 115, "hostname": "pt115.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.79" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "pt116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.94" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 116, "hostname": "pt116.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.94" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "pt117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.109" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 117, "hostname": "pt117.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.109" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "pt118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.129" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 118, "hostname": "pt118.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.129" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "pt119.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.145" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 119, "hostname": "pt119.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.145" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "pt120.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.161" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 120, "hostname": "pt120.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.161" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "pt121.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.177" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 121, "hostname": "pt121.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.177" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "pt122.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.192" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 122, "hostname": "pt122.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.192" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 123, "hostname": "pt123.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.207" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 123, "hostname": "pt123.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.207" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 124, "hostname": "pt124.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.222" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 124, "hostname": "pt124.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.222" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "pt125.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.94.208.237" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Standard VPN servers", "P2P" ], "number": 125, "hostname": "pt125.nordvpn.com", "wgpubkey": "g2FKL4rhcZ3ylv9EEjpnDLsH2uR3DkgZ5iFQLTJBtF4=", "ips": [ "45.94.208.237" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Dedicated IP" ], "number": 126, "hostname": "pt126.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.20.243" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Dedicated IP" ], "number": 127, "hostname": "pt127.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.20.245" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Dedicated IP" ], "number": 128, "hostname": "pt128.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.61.94.194" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "categories": [ "Dedicated IP" ], "number": 129, "hostname": "pt129.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.61.94.196" ] }, { "vpn": "openvpn", "country": "Puerto Rico", "region": "The Americas", "city": "San Juan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pr1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.76.1" ] }, { "vpn": "wireguard", "country": "Puerto Rico", "region": "The Americas", "city": "San Juan", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "pr1.nordvpn.com", "wgpubkey": "4XT+2d7QrQSyXs4O7n08dsmVqh+Cm5RA9oUXcxMhzxw=", "ips": [ "82.149.76.1" ] }, { "vpn": "openvpn", "country": "Puerto Rico", "region": "The Americas", "city": "San Juan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pr2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.76.3" ] }, { "vpn": "wireguard", "country": "Puerto Rico", "region": "The Americas", "city": "San Juan", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "pr2.nordvpn.com", "wgpubkey": "4XT+2d7QrQSyXs4O7n08dsmVqh+Cm5RA9oUXcxMhzxw=", "ips": [ "82.149.76.3" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "ro59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.137.187" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "ro59.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "86.106.137.187" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "ro65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.210.218.219" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "ro65.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "185.210.218.219" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "ro66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.105.9.115" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 66, "hostname": "ro66.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "86.105.9.115" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "ro67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.46.103.171" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "ro67.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.46.103.171" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "ro68.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.46.102.115" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "ro68.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.46.102.115" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "ro69.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.181.103.187" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "ro69.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "185.181.103.187" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "ro70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.71.99" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "ro70.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.40.71.99" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "ro71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.36.224.107" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "ro71.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.36.224.107" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "ro72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.105.9.11" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "ro72.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "86.105.9.11" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "ro73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.33.246.19" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "ro73.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.33.246.19" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "ro74.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.36.224.251" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "ro74.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.36.224.251" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "ro75.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.36.224.243" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "ro75.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.36.224.243" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "ro76.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.33.246.27" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "ro76.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.33.246.27" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "ro77.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.137.11" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "ro77.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "86.106.137.11" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "ro78.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.40.71.243" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "ro78.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "89.40.71.243" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "ro79.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.105" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "ro79.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.105" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "ro80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.134" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "ro80.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.134" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "ro81.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.158" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "ro81.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.158" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "ro82.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.182" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "ro82.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.182" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "ro83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.206" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "ro83.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.206" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "ro84.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.229" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "ro84.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.229" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "ro85.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.1" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "ro85.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.1" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "ro86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.3" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "ro86.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.3" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "ro87.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.5" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 87, "hostname": "ro87.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.5" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "ro88.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.71.7" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "categories": [ "Standard VPN servers", "P2P" ], "number": 88, "hostname": "ro88.nordvpn.com", "wgpubkey": "o3Dj1qKYmzBBOBaD9JAhK9cg/8nfYxWg6GADL09DPHE=", "ips": [ "155.133.71.7" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "rs48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.123" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "rs48.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.123" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "rs49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.131" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "rs49.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.131" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "rs50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.139" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "rs50.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.139" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "rs51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.147" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "rs51.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.147" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "rs60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.75" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "rs60.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.75" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "rs61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.83" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "rs61.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.83" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "rs62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.91" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "rs62.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.91" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "rs63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.99" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "rs63.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.99" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "rs64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.107" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "rs64.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.107" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "rs65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.103.115" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 65, "hostname": "rs65.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "141.98.103.115" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "rs76.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.240" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "rs76.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.240" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "rs77.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.224" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "rs77.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.224" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "rs78.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.192" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "rs78.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.192" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "rs79.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.176" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "rs79.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.176" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "rs80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.160" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "rs80.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.160" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "rs81.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.144" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "rs81.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.144" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "rs82.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.128" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "rs82.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.128" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "rs83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.208" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "rs83.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.208" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "rs84.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.112" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "rs84.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.112" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "rs85.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.46.116.96" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "rs85.nordvpn.com", "wgpubkey": "vkFDU7x3oioIVOzuSTtMIKtJqwmVj59QHz6a65lqmQU=", "ips": [ "37.46.116.96" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 455, "hostname": "sg455.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.131" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 455, "hostname": "sg455.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.131" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 456, "hostname": "sg456.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.163" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 456, "hostname": "sg456.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.163" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 457, "hostname": "sg457.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.199.131" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 457, "hostname": "sg457.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.199.131" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 458, "hostname": "sg458.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.199.99" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 458, "hostname": "sg458.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.199.99" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 459, "hostname": "sg459.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.199.107" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 459, "hostname": "sg459.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.199.107" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 460, "hostname": "sg460.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.199.123" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 460, "hostname": "sg460.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.199.123" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 461, "hostname": "sg461.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.199.139" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 461, "hostname": "sg461.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.199.139" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 462, "hostname": "sg462.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.199.147" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 462, "hostname": "sg462.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.199.147" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 463, "hostname": "sg463.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.199.155" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 463, "hostname": "sg463.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.199.155" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 465, "hostname": "sg465.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.133" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 465, "hostname": "sg465.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.133" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 466, "hostname": "sg466.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.130" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 466, "hostname": "sg466.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.130" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 474, "hostname": "sg474.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.194" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 474, "hostname": "sg474.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.194" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 475, "hostname": "sg475.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.203" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 475, "hostname": "sg475.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.203" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 476, "hostname": "sg476.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.197" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 476, "hostname": "sg476.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.197" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 477, "hostname": "sg477.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.200" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 477, "hostname": "sg477.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.200" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 478, "hostname": "sg478.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.206" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 478, "hostname": "sg478.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.206" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 479, "hostname": "sg479.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.209" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 479, "hostname": "sg479.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.209" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 480, "hostname": "sg480.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.212" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 480, "hostname": "sg480.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.212" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 481, "hostname": "sg481.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.215" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 481, "hostname": "sg481.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.215" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 482, "hostname": "sg482.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.218" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 482, "hostname": "sg482.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.218" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 483, "hostname": "sg483.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.221" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 483, "hostname": "sg483.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.221" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 490, "hostname": "sg490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.99" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 490, "hostname": "sg490.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.99" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 491, "hostname": "sg491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.107" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 491, "hostname": "sg491.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.107" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 493, "hostname": "sg493.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.115" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 493, "hostname": "sg493.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.115" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 494, "hostname": "sg494.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.123" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 494, "hostname": "sg494.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.123" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 507, "hostname": "sg507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.91" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 507, "hostname": "sg507.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.91" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 508, "hostname": "sg508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.107.198.139" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 508, "hostname": "sg508.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "103.107.198.139" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 510, "hostname": "sg510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.27.106.131" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 510, "hostname": "sg510.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "203.27.106.131" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 511, "hostname": "sg511.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.27.106.139" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 511, "hostname": "sg511.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "203.27.106.139" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 512, "hostname": "sg512.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.27.106.147" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 512, "hostname": "sg512.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "203.27.106.147" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 513, "hostname": "sg513.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.27.106.155" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 513, "hostname": "sg513.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "203.27.106.155" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 514, "hostname": "sg514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.27.106.163" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 514, "hostname": "sg514.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "203.27.106.163" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 515, "hostname": "sg515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.27.106.171" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 515, "hostname": "sg515.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "203.27.106.171" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 516, "hostname": "sg516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "203.27.106.179" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 516, "hostname": "sg516.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "203.27.106.179" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 517, "hostname": "sg517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.17" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 517, "hostname": "sg517.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.17" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 518, "hostname": "sg518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.12" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 518, "hostname": "sg518.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.12" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 519, "hostname": "sg519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.7" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 519, "hostname": "sg519.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.7" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 520, "hostname": "sg520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.2" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 520, "hostname": "sg520.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.2" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 521, "hostname": "sg521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.136" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 521, "hostname": "sg521.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.136" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 522, "hostname": "sg522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.22" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 522, "hostname": "sg522.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.22" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 523, "hostname": "sg523.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.25" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 523, "hostname": "sg523.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.25" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 524, "hostname": "sg524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.39.250" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 524, "hostname": "sg524.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "84.17.39.250" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 525, "hostname": "sg525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.194" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 525, "hostname": "sg525.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.194" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 526, "hostname": "sg526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.197" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 526, "hostname": "sg526.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.197" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 527, "hostname": "sg527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.200" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 527, "hostname": "sg527.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.200" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 528, "hostname": "sg528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.203" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 528, "hostname": "sg528.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.203" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "sg529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.206" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "sg529.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.206" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "sg530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.253.209" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "sg530.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "149.34.253.209" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "sg531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.100" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "sg531.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.100" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "sg532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.102" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "sg532.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.102" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "sg533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.104" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "sg533.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.104" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "sg534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.106" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "sg534.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.106" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "sg535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.108" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "sg535.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.108" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "sg536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.110" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "sg536.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.110" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "sg537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.112" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "sg537.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.112" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "sg538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.114" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 538, "hostname": "sg538.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.114" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 539, "hostname": "sg539.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.116" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 539, "hostname": "sg539.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.116" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 540, "hostname": "sg540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.118" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 540, "hostname": "sg540.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.118" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 541, "hostname": "sg541.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.120" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 541, "hostname": "sg541.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.120" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "sg542.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.122" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "sg542.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.122" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "sg543.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.124" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "sg543.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.124" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "sg544.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.126" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "sg544.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.126" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "sg545.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.128" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "sg545.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.128" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "sg546.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.130" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "sg546.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.130" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "sg547.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.132" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "sg547.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.132" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "sg548.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.134" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "sg548.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.134" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "sg549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.136" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "sg549.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.136" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "sg550.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.138" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "sg550.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.138" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "sg551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.140" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "sg551.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.140" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "sg552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.166.246.142" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "sg552.nordvpn.com", "wgpubkey": "U3dKnkOJY5P9p6kEbEDGR7+K2+4HmkKK1hTMugq2HQA=", "ips": [ "192.166.246.142" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Dedicated IP" ], "number": 556, "hostname": "sg556.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.213.41" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Dedicated IP" ], "number": 557, "hostname": "sg557.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.213.43" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Dedicated IP" ], "number": 558, "hostname": "sg558.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.213.36" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Dedicated IP" ], "number": 559, "hostname": "sg559.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.213.38" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Dedicated IP" ], "number": 600, "hostname": "sg600.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.99.130" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Dedicated IP" ], "number": 601, "hostname": "sg601.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.99.132" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "categories": [ "Dedicated IP" ], "number": 602, "hostname": "sg602.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.107.210" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "sk40.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.85.75" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 40, "hostname": "sk40.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "185.245.85.75" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "sk41.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.37.255.179" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 41, "hostname": "sk41.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "193.37.255.179" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 42, "hostname": "sk42.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.37.255.187" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 42, "hostname": "sk42.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "193.37.255.187" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 43, "hostname": "sk43.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.85.171" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 43, "hostname": "sk43.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "185.245.85.171" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "sk47.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.37.255.235" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 47, "hostname": "sk47.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "193.37.255.235" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "sk48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.85.179" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 48, "hostname": "sk48.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "185.245.85.179" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "sk49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.221.147" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 49, "hostname": "sk49.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "37.120.221.147" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "sk50.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.221.163" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 50, "hostname": "sk50.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "37.120.221.163" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "sk51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.221.187" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "sk51.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "37.120.221.187" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "sk53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.221.155" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "sk53.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "37.120.221.155" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "sk55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.34.2" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "sk55.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "138.199.34.2" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "sk56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.34.14" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "sk56.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "138.199.34.14" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "sk57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.34.26" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "sk57.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "138.199.34.26" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "sk58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.34.38" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "sk58.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "138.199.34.38" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "sk59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.34.50" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "sk59.nordvpn.com", "wgpubkey": "o5Wv9LzIiVnyawZHRdd+9Qixaa/rVp9IP1agA4J4S10=", "ips": [ "138.199.34.50" ] }, { "vpn": "openvpn", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "si14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.249.168" ] }, { "vpn": "wireguard", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 14, "hostname": "si14.nordvpn.com", "wgpubkey": "Q4l/vL7SqJzvzfpfLU/swr9J8kip+1qWNwaSbMGluw8=", "ips": [ "195.158.249.168" ] }, { "vpn": "openvpn", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "si15.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.249.170" ] }, { "vpn": "wireguard", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 15, "hostname": "si15.nordvpn.com", "wgpubkey": "Q4l/vL7SqJzvzfpfLU/swr9J8kip+1qWNwaSbMGluw8=", "ips": [ "195.158.249.170" ] }, { "vpn": "openvpn", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "si16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.249.172" ] }, { "vpn": "wireguard", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 16, "hostname": "si16.nordvpn.com", "wgpubkey": "Q4l/vL7SqJzvzfpfLU/swr9J8kip+1qWNwaSbMGluw8=", "ips": [ "195.158.249.172" ] }, { "vpn": "openvpn", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 17, "hostname": "si17.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.249.174" ] }, { "vpn": "wireguard", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 17, "hostname": "si17.nordvpn.com", "wgpubkey": "Q4l/vL7SqJzvzfpfLU/swr9J8kip+1qWNwaSbMGluw8=", "ips": [ "195.158.249.174" ] }, { "vpn": "openvpn", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 18, "hostname": "si18.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.249.176" ] }, { "vpn": "wireguard", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 18, "hostname": "si18.nordvpn.com", "wgpubkey": "Q4l/vL7SqJzvzfpfLU/swr9J8kip+1qWNwaSbMGluw8=", "ips": [ "195.158.249.176" ] }, { "vpn": "openvpn", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 19, "hostname": "si19.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.158.249.178" ] }, { "vpn": "wireguard", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "categories": [ "Standard VPN servers", "P2P" ], "number": 19, "hostname": "si19.nordvpn.com", "wgpubkey": "Q4l/vL7SqJzvzfpfLU/swr9J8kip+1qWNwaSbMGluw8=", "ips": [ "195.158.249.178" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "za128.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.1" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 128, "hostname": "za128.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.1" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 129, "hostname": "za129.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.14" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 129, "hostname": "za129.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.14" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 130, "hostname": "za130.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.27" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 130, "hostname": "za130.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.27" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "za131.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.40" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "za131.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.40" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "za132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.52" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "za132.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.52" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "za133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.64" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "za133.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.64" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "za134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.76" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "za134.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.76" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "za135.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.88" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "za135.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.88" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "za136.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.100" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "za136.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.100" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "za137.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.112" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "za137.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.112" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "za138.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.129" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "za138.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.129" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "za139.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.142" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "za139.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.142" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "za140.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.155" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 140, "hostname": "za140.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.155" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "za141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.168" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "za141.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.168" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "za142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.180" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "za142.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.180" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "za143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.192" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "za143.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.192" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "za144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.204" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "za144.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.204" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "za145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.216" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "za145.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.216" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "za146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.228" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 146, "hostname": "za146.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.228" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "za147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.122.240" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "za147.nordvpn.com", "wgpubkey": "20QYJgKeUY0u3O/IOkq0D/2CZnIud5to9kwZwdxhHXA=", "ips": [ "185.203.122.240" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Dedicated IP" ], "number": 148, "hostname": "za148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.238.151" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Dedicated IP" ], "number": 149, "hostname": "za149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.238.153" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Dedicated IP" ], "number": 150, "hostname": "za150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.248.194" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Africa the Middle East and India", "city": "Johannesburg", "categories": [ "Dedicated IP" ], "number": 151, "hostname": "za151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.248.196" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 31, "hostname": "kr31.nordvpn.com", "tcp": true, "udp": true, "ips": [ "210.217.18.72" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 31, "hostname": "kr31.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "210.217.18.72" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 32, "hostname": "kr32.nordvpn.com", "tcp": true, "udp": true, "ips": [ "210.217.18.66" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 32, "hostname": "kr32.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "210.217.18.66" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 34, "hostname": "kr34.nordvpn.com", "tcp": true, "udp": true, "ips": [ "211.197.11.5" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 34, "hostname": "kr34.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "211.197.11.5" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 35, "hostname": "kr35.nordvpn.com", "tcp": true, "udp": true, "ips": [ "211.197.11.10" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 35, "hostname": "kr35.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "211.197.11.10" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 42, "hostname": "kr42.nordvpn.com", "tcp": true, "udp": true, "ips": [ "211.197.11.14" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 42, "hostname": "kr42.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "211.197.11.14" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 43, "hostname": "kr43.nordvpn.com", "tcp": true, "udp": true, "ips": [ "210.217.18.75" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 43, "hostname": "kr43.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "210.217.18.75" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 46, "hostname": "kr46.nordvpn.com", "tcp": true, "udp": true, "ips": [ "39.115.246.44" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 46, "hostname": "kr46.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "39.115.246.44" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 47, "hostname": "kr47.nordvpn.com", "tcp": true, "udp": true, "ips": [ "39.115.246.49" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 47, "hostname": "kr47.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "39.115.246.49" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 48, "hostname": "kr48.nordvpn.com", "tcp": true, "udp": true, "ips": [ "39.115.246.54" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 48, "hostname": "kr48.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "39.115.246.54" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 49, "hostname": "kr49.nordvpn.com", "tcp": true, "udp": true, "ips": [ "39.115.246.59" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 49, "hostname": "kr49.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "39.115.246.59" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 55, "hostname": "kr55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "39.115.246.104" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 55, "hostname": "kr55.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "39.115.246.104" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 56, "hostname": "kr56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "39.115.246.99" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers" ], "number": 56, "hostname": "kr56.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "39.115.246.99" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "kr57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.0" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "kr57.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.0" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "kr58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.26" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "kr58.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.26" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "kr67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.32" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 67, "hostname": "kr67.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.32" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "kr68.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.48" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 68, "hostname": "kr68.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.48" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "kr69.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.64" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 69, "hostname": "kr69.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.64" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "kr70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.80" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 70, "hostname": "kr70.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.80" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "kr71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.96" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 71, "hostname": "kr71.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.96" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "kr72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.112" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 72, "hostname": "kr72.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.112" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "kr73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.128" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 73, "hostname": "kr73.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.128" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "kr74.nordvpn.com", "tcp": true, "udp": true, "ips": [ "160.238.37.144" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 74, "hostname": "kr74.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "160.238.37.144" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "kr75.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.50.243" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 75, "hostname": "kr75.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.50.243" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "kr76.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.52.42" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 76, "hostname": "kr76.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.52.42" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "kr77.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.51.211" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 77, "hostname": "kr77.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.51.211" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "kr78.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.51.219" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 78, "hostname": "kr78.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.51.219" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "kr79.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.50.251" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 79, "hostname": "kr79.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.50.251" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "kr80.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.52.114" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 80, "hostname": "kr80.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.52.114" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "kr81.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.51.234" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 81, "hostname": "kr81.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.51.234" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "kr82.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.53.3" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 82, "hostname": "kr82.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.53.3" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "kr83.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.53.83" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 83, "hostname": "kr83.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.53.83" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "kr84.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.52.211" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 84, "hostname": "kr84.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.52.211" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "kr85.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.52.179" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 85, "hostname": "kr85.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.52.179" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "kr86.nordvpn.com", "tcp": true, "udp": true, "ips": [ "108.181.52.227" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "categories": [ "Standard VPN servers", "P2P" ], "number": 86, "hostname": "kr86.nordvpn.com", "wgpubkey": "oHda+iKdBpSlsKzaxz8kiJ1SxXvD9YxzgxOtsNdLjUg=", "ips": [ "108.181.52.227" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "es220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.100" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 220, "hostname": "es220.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.100" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "es221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.102" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "es221.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.102" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "es222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.104" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "es222.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.104" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "es223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.106" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "es223.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.106" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "es224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.108" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "es224.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.108" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "es225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.110" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "es225.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.110" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "es226.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.112" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "es226.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.112" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "es227.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.114" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "es227.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.114" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "es228.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.116" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "es228.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.116" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "es229.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.118" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "es229.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.118" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 230, "hostname": "es230.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.120" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 230, "hostname": "es230.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.120" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 231, "hostname": "es231.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.122" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 231, "hostname": "es231.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.122" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 232, "hostname": "es232.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.124" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 232, "hostname": "es232.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.124" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "es233.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.126" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 233, "hostname": "es233.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.126" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 234, "hostname": "es234.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.128" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 234, "hostname": "es234.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.128" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 235, "hostname": "es235.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.130" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 235, "hostname": "es235.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.130" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 236, "hostname": "es236.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.132" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 236, "hostname": "es236.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.132" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "es237.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.134" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 237, "hostname": "es237.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.134" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "es238.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.136" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 238, "hostname": "es238.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.136" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 239, "hostname": "es239.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.138" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 239, "hostname": "es239.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.138" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 240, "hostname": "es240.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.140" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 240, "hostname": "es240.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.140" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 241, "hostname": "es241.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.142" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 241, "hostname": "es241.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.142" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 242, "hostname": "es242.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.144" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 242, "hostname": "es242.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.144" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 243, "hostname": "es243.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.214.97.146" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "categories": [ "Standard VPN servers", "P2P" ], "number": 243, "hostname": "es243.nordvpn.com", "wgpubkey": "OaSGanHmoG3ytojHqodqeYYoN7s+4bF2wGfA67MHAXY=", "ips": [ "185.214.97.146" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "es114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.199.243" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 114, "hostname": "es114.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.199.243" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "es131.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.48.75" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 131, "hostname": "es131.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "212.102.48.75" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "es132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.48.72" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 132, "hostname": "es132.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "212.102.48.72" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "es133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.48.69" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 133, "hostname": "es133.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "212.102.48.69" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "es134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.48.66" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 134, "hostname": "es134.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "212.102.48.66" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "es135.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.115" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 135, "hostname": "es135.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.115" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "es136.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.188.99" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 136, "hostname": "es136.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "31.13.188.99" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "es137.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.218.179" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 137, "hostname": "es137.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "217.138.218.179" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "es138.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.218.187" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 138, "hostname": "es138.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "217.138.218.187" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "es139.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.218.195" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 139, "hostname": "es139.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "217.138.218.195" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "es141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.12.50.227" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 141, "hostname": "es141.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "195.12.50.227" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "es142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.12.50.232" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 142, "hostname": "es142.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "195.12.50.232" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "es143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.12.50.237" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 143, "hostname": "es143.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "195.12.50.237" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "es144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.107.117" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 144, "hostname": "es144.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "195.206.107.117" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "es145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.188.131" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 145, "hostname": "es145.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "31.13.188.131" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "es147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.188.139" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 147, "hostname": "es147.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "31.13.188.139" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "es148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.188.147" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 148, "hostname": "es148.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "31.13.188.147" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "es149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.183.106.227" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 149, "hostname": "es149.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.183.106.227" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "es150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.183.106.19" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 150, "hostname": "es150.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.183.106.19" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "es151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.183.106.27" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 151, "hostname": "es151.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.183.106.27" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "es154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.148.187" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 154, "hostname": "es154.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.148.187" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "es155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.148.171" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 155, "hostname": "es155.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.148.171" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "es156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.148.179" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 156, "hostname": "es156.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.148.179" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "es162.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.124.99" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 162, "hostname": "es162.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "192.145.124.99" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "es163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.124.107" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 163, "hostname": "es163.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "192.145.124.107" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "es164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.124.123" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "es164.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "192.145.124.123" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "es169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.199.251" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "es169.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.199.251" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "es170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.188.27" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "es170.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "31.13.188.27" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "es171.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.188.107" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 171, "hostname": "es171.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "31.13.188.107" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "es172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.188.155" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "es172.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "31.13.188.155" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "es173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.11" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "es173.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.11" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "es174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.3" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "es174.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.3" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "es175.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.199.235" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "es175.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.199.235" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "es176.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.199.203" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "es176.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.199.203" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 177, "hostname": "es177.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.199.195" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 177, "hostname": "es177.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "37.120.199.195" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "es179.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.171" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "es179.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.171" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "es180.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.179" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "es180.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.179" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "es181.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.187" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "es181.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.187" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "es182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.195" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "es182.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.195" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "es183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.183.203" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "es183.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "45.152.183.203" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "es188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.182.251" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 188, "hostname": "es188.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.93.182.251" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "es189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.178.211" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 189, "hostname": "es189.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "89.238.178.211" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "es190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.1" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 190, "hostname": "es190.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.1" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "es191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.3" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 191, "hostname": "es191.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.3" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "es192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.5" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 192, "hostname": "es192.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.5" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "es193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.7" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 193, "hostname": "es193.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.7" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "es194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.9" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 194, "hostname": "es194.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.9" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "es195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.11" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 195, "hostname": "es195.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.11" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "es196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.13" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 196, "hostname": "es196.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.13" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "es197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.15" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 197, "hostname": "es197.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.15" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "es198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.17" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "es198.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.17" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "es199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.19" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 199, "hostname": "es199.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.19" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "es200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.21" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 200, "hostname": "es200.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.21" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "es201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.23" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 201, "hostname": "es201.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.23" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "es202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.25" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 202, "hostname": "es202.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.25" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "es203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.27" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 203, "hostname": "es203.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.27" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "es204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.29" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 204, "hostname": "es204.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.29" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "es205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.31" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 205, "hostname": "es205.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.31" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "es206.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.33" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 206, "hostname": "es206.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.33" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "es207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.199.100.35" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 207, "hostname": "es207.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "185.199.100.35" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "es212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.22.99" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 212, "hostname": "es212.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "146.70.22.99" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "es213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.22.107" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Standard VPN servers", "P2P" ], "number": 213, "hostname": "es213.nordvpn.com", "wgpubkey": "IF1FGVSzrUznFVZ+dymIz+6bdlCgsuiT/d6cyapN8lw=", "ips": [ "146.70.22.107" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Dedicated IP" ], "number": 214, "hostname": "es214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.236.33" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Dedicated IP" ], "number": 215, "hostname": "es215.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.236.35" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Dedicated IP" ], "number": 216, "hostname": "es216.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.236.43" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Dedicated IP" ], "number": 217, "hostname": "es217.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.236.45" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Dedicated IP" ], "number": 218, "hostname": "es218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.236.38" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Dedicated IP" ], "number": 219, "hostname": "es219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.236.40" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "categories": [ "Dedicated IP" ], "number": 244, "hostname": "es244.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.236.53" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "region": "Asia Pacific", "city": "Colombo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "lk1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.77.1" ] }, { "vpn": "wireguard", "country": "Sri Lanka", "region": "Asia Pacific", "city": "Colombo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "lk1.nordvpn.com", "wgpubkey": "jNHH88BhJWNVaIqhwtwmjKDtlPAOHRTZw13buxI1jmw=", "ips": [ "82.149.77.1" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "region": "Asia Pacific", "city": "Colombo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "lk2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.77.3" ] }, { "vpn": "wireguard", "country": "Sri Lanka", "region": "Asia Pacific", "city": "Colombo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "lk2.nordvpn.com", "wgpubkey": "jNHH88BhJWNVaIqhwtwmjKDtlPAOHRTZw13buxI1jmw=", "ips": [ "82.149.77.3" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 10, "hostname": "nl-se10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.173.34" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 10, "hostname": "nl-se10.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "194.127.173.34" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 11, "hostname": "nl-se11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.174" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 11, "hostname": "nl-se11.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "213.232.87.174" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 12, "hostname": "nl-se12.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.175" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 12, "hostname": "nl-se12.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "213.232.87.175" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 13, "hostname": "ch-se13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.242.213.148" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 13, "hostname": "ch-se13.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "195.242.213.148" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 13, "hostname": "nl-se13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.145" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 13, "hostname": "nl-se13.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "213.232.87.145" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 14, "hostname": "ch-se14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.242.213.153" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 14, "hostname": "ch-se14.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "195.242.213.153" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 15, "hostname": "ch-se15.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.125.108" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 15, "hostname": "ch-se15.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.230.125.108" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 16, "hostname": "ch-se16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.201.132" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Double VPN" ], "number": 16, "hostname": "ch-se16.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.236.201.132" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 393, "hostname": "se393.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.163" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 393, "hostname": "se393.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.163" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 394, "hostname": "se394.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.171" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 394, "hostname": "se394.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.171" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 395, "hostname": "se395.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.179" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 395, "hostname": "se395.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.179" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 396, "hostname": "se396.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.187" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 396, "hostname": "se396.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.187" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 397, "hostname": "se397.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.195" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 397, "hostname": "se397.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.195" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 398, "hostname": "se398.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.203" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 398, "hostname": "se398.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.203" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 399, "hostname": "se399.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.211" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 399, "hostname": "se399.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.211" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 400, "hostname": "se400.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.219" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 400, "hostname": "se400.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.219" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 401, "hostname": "se401.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.209.227" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 401, "hostname": "se401.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "37.120.209.227" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 402, "hostname": "se402.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.103.19" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 402, "hostname": "se402.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "86.106.103.19" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 424, "hostname": "se424.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.203" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 424, "hostname": "se424.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "91.132.138.203" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 425, "hostname": "se425.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.67" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 425, "hostname": "se425.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.67" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 426, "hostname": "se426.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.75" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 426, "hostname": "se426.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.75" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 427, "hostname": "se427.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.43" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 427, "hostname": "se427.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.43" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 434, "hostname": "se434.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.103.115" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 434, "hostname": "se434.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "86.106.103.115" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 435, "hostname": "se435.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.51" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 435, "hostname": "se435.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.51" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 436, "hostname": "se436.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.59" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 436, "hostname": "se436.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.59" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 487, "hostname": "se487.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.67" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 487, "hostname": "se487.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "91.132.138.67" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 488, "hostname": "se488.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.195" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 488, "hostname": "se488.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.195" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 489, "hostname": "se489.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.203" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 489, "hostname": "se489.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.203" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 490, "hostname": "se490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.211" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 490, "hostname": "se490.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.211" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 491, "hostname": "se491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.163" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 491, "hostname": "se491.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.163" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 492, "hostname": "se492.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.123" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 492, "hostname": "se492.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.123" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 493, "hostname": "se493.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.179" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 493, "hostname": "se493.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.179" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 494, "hostname": "se494.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.171" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 494, "hostname": "se494.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.171" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 495, "hostname": "se495.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.51" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 495, "hostname": "se495.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.51" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 496, "hostname": "se496.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.187" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 496, "hostname": "se496.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.187" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 497, "hostname": "se497.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.227" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 497, "hostname": "se497.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.227" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 498, "hostname": "se498.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.235" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 498, "hostname": "se498.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.235" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 499, "hostname": "se499.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.243" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 499, "hostname": "se499.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.243" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 500, "hostname": "se500.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.251" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 500, "hostname": "se500.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.251" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 501, "hostname": "se501.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.115" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 501, "hostname": "se501.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.115" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 502, "hostname": "se502.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.145" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 502, "hostname": "se502.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "84.17.36.145" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 503, "hostname": "se503.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.130" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 503, "hostname": "se503.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "84.17.36.130" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 504, "hostname": "se504.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.150" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 504, "hostname": "se504.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "84.17.36.150" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 505, "hostname": "se505.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.140" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 505, "hostname": "se505.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "84.17.36.140" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 506, "hostname": "se506.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.135" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 506, "hostname": "se506.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "84.17.36.135" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 507, "hostname": "se507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.155" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 507, "hostname": "se507.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "84.17.36.155" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 508, "hostname": "se508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.163" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 508, "hostname": "se508.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.163" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 509, "hostname": "se509.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.179" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 509, "hostname": "se509.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.179" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 510, "hostname": "se510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.171" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 510, "hostname": "se510.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.171" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 511, "hostname": "se511.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.187" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 511, "hostname": "se511.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.187" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 512, "hostname": "se512.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.195" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 512, "hostname": "se512.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.195" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 513, "hostname": "se513.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.203" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 513, "hostname": "se513.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.203" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 514, "hostname": "se514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.219" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 514, "hostname": "se514.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.219" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 515, "hostname": "se515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.227" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 515, "hostname": "se515.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.227" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 516, "hostname": "se516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.235" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 516, "hostname": "se516.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.235" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 517, "hostname": "se517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.243" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 517, "hostname": "se517.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.243" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 518, "hostname": "se518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.251" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 518, "hostname": "se518.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.251" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 519, "hostname": "se519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.19" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 519, "hostname": "se519.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.19" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 520, "hostname": "se520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.91.27" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 520, "hostname": "se520.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.83.91.27" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 521, "hostname": "se521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.103.195" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 521, "hostname": "se521.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "86.106.103.195" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 522, "hostname": "se522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.103.235" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 522, "hostname": "se522.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "86.106.103.235" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 523, "hostname": "se523.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.103.243" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 523, "hostname": "se523.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "86.106.103.243" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 524, "hostname": "se524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.106.103.251" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 524, "hostname": "se524.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "86.106.103.251" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 525, "hostname": "se525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.155" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 525, "hostname": "se525.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "91.132.138.155" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 526, "hostname": "se526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.12.220.211" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 526, "hostname": "se526.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "45.12.220.211" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 527, "hostname": "se527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.163" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 527, "hostname": "se527.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "91.132.138.163" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 528, "hostname": "se528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.179" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 528, "hostname": "se528.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "91.132.138.179" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "se529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.187" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 529, "hostname": "se529.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "91.132.138.187" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "se530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.11" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 530, "hostname": "se530.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.11" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "se531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.19" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 531, "hostname": "se531.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.19" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "se532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.27" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 532, "hostname": "se532.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.27" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "se533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.35" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 533, "hostname": "se533.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.35" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "se534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.43" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 534, "hostname": "se534.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.43" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "se535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.51" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 535, "hostname": "se535.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.51" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "se536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.59" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 536, "hostname": "se536.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.59" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "se537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.71.67" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 537, "hostname": "se537.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.247.71.67" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "se542.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.1" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 542, "hostname": "se542.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.1" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "se543.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.3" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 543, "hostname": "se543.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.3" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "se544.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.5" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 544, "hostname": "se544.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.5" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "se545.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.7" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 545, "hostname": "se545.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.7" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "se546.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.9" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 546, "hostname": "se546.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.9" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "se547.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.11" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 547, "hostname": "se547.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.11" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "se548.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.13" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 548, "hostname": "se548.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.13" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "se549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.15" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 549, "hostname": "se549.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.15" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "se550.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.17" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 550, "hostname": "se550.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.17" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "se551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.19" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 551, "hostname": "se551.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.19" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "se552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.21" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 552, "hostname": "se552.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.21" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 553, "hostname": "se553.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.23" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 553, "hostname": "se553.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.23" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 554, "hostname": "se554.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.25" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 554, "hostname": "se554.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.25" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 555, "hostname": "se555.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.27" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 555, "hostname": "se555.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.27" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 556, "hostname": "se556.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.29" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 556, "hostname": "se556.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.29" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 557, "hostname": "se557.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.31" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 557, "hostname": "se557.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.31" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 558, "hostname": "se558.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.33" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 558, "hostname": "se558.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.33" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 559, "hostname": "se559.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.35" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 559, "hostname": "se559.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.35" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 560, "hostname": "se560.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.37" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 560, "hostname": "se560.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.37" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 561, "hostname": "se561.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.39" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 561, "hostname": "se561.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.39" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 562, "hostname": "se562.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.41" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 562, "hostname": "se562.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.41" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 563, "hostname": "se563.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.43" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 563, "hostname": "se563.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.43" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 564, "hostname": "se564.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.45" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 564, "hostname": "se564.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.45" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 565, "hostname": "se565.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.47" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 565, "hostname": "se565.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.47" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 566, "hostname": "se566.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.49" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 566, "hostname": "se566.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.49" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 567, "hostname": "se567.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.51" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 567, "hostname": "se567.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.51" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 568, "hostname": "se568.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.219.140.53" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 568, "hostname": "se568.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "185.219.140.53" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 569, "hostname": "se569.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.11" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 569, "hostname": "se569.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.11" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 570, "hostname": "se570.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.19" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 570, "hostname": "se570.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.19" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 571, "hostname": "se571.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.27" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 571, "hostname": "se571.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.27" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 572, "hostname": "se572.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.35" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 572, "hostname": "se572.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.35" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 573, "hostname": "se573.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.43" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 573, "hostname": "se573.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.43" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 574, "hostname": "se574.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.51" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 574, "hostname": "se574.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.51" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 575, "hostname": "se575.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.59" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 575, "hostname": "se575.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.59" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 576, "hostname": "se576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.67" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 576, "hostname": "se576.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.67" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 581, "hostname": "se581.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.115" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 581, "hostname": "se581.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.115" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 582, "hostname": "se582.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.191.131" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 582, "hostname": "se582.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "31.13.191.131" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 583, "hostname": "se583.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.191.139" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 583, "hostname": "se583.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "31.13.191.139" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 584, "hostname": "se584.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.191.147" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 584, "hostname": "se584.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "31.13.191.147" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 585, "hostname": "se585.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.191.155" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 585, "hostname": "se585.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "31.13.191.155" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 586, "hostname": "se586.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.21.107" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 586, "hostname": "se586.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "146.70.21.107" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 588, "hostname": "se588.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.240" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 588, "hostname": "se588.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.240" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 589, "hostname": "se589.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.96" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 589, "hostname": "se589.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.96" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 590, "hostname": "se590.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.112" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 590, "hostname": "se590.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.112" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 591, "hostname": "se591.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.128" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 591, "hostname": "se591.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.128" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 592, "hostname": "se592.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.144" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 592, "hostname": "se592.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.144" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 593, "hostname": "se593.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.160" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 593, "hostname": "se593.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.160" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 594, "hostname": "se594.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.176" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 594, "hostname": "se594.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.176" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 595, "hostname": "se595.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.192" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 595, "hostname": "se595.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.192" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 596, "hostname": "se596.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.208" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 596, "hostname": "se596.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.208" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 597, "hostname": "se597.nordvpn.com", "tcp": true, "udp": true, "ips": [ "79.142.77.224" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Standard VPN servers", "P2P" ], "number": 597, "hostname": "se597.nordvpn.com", "wgpubkey": "EdKGlWFPgosHt/9vGBfcIv39umAsMrvbOxw9c3CZMw4=", "ips": [ "79.142.77.224" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 598, "hostname": "se598.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.186" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 599, "hostname": "se599.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.188" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 600, "hostname": "se600.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.248" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 601, "hostname": "se601.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.250" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 602, "hostname": "se602.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.152" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 603, "hostname": "se603.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.157" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 604, "hostname": "se604.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.138" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP", "P2P" ], "number": 605, "hostname": "se605.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.143" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "categories": [ "Dedicated IP" ], "number": 606, "hostname": "se606.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.36.156" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Onion Over VPN" ], "number": 2, "hostname": "ch-onion2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.137.172" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Onion Over VPN" ], "number": 2, "hostname": "ch-onion2.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.137.172" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 8, "hostname": "nl-ch8.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.170" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 8, "hostname": "nl-ch8.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "213.232.87.170" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 9, "hostname": "nl-ch9.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.171" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 9, "hostname": "nl-ch9.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "213.232.87.171" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 10, "hostname": "nl-ch10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.127.173.35" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 10, "hostname": "nl-ch10.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "194.127.173.35" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 11, "hostname": "nl-ch11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.146" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 11, "hostname": "nl-ch11.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "213.232.87.146" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 11, "hostname": "se-ch11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.196" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 11, "hostname": "se-ch11.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "91.132.138.196" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 12, "hostname": "se-ch12.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.228" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 12, "hostname": "se-ch12.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "91.132.138.228" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 13, "hostname": "se-ch13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.220" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 13, "hostname": "se-ch13.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "91.132.138.220" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 14, "hostname": "se-ch14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.138.212" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Double VPN" ], "number": 14, "hostname": "se-ch14.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "91.132.138.212" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "ch198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.131" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 198, "hostname": "ch198.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.131" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "ch217.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.156.175.132" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 217, "hostname": "ch217.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.156.175.132" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "ch218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.39.112.20" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 218, "hostname": "ch218.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "84.39.112.20" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "ch219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.9.18.84" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 219, "hostname": "ch219.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.9.18.84" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "ch221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.136.235" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 221, "hostname": "ch221.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "91.132.136.235" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "ch222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.156.175.115" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 222, "hostname": "ch222.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.156.175.115" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "ch223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.156.175.123" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 223, "hostname": "ch223.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.156.175.123" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "ch224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.9.18.163" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 224, "hostname": "ch224.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.9.18.163" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "ch225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.36.150" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 225, "hostname": "ch225.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "212.102.36.150" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "ch226.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.36.145" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 226, "hostname": "ch226.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "212.102.36.145" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "ch227.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.36.140" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 227, "hostname": "ch227.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "212.102.36.140" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "ch228.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.36.135" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 228, "hostname": "ch228.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "212.102.36.135" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "ch229.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.36.130" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 229, "hostname": "ch229.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "212.102.36.130" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 243, "hostname": "ch243.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.201.139" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 243, "hostname": "ch243.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.236.201.139" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 252, "hostname": "ch252.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.156.175.139" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 252, "hostname": "ch252.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.156.175.139" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 286, "hostname": "ch286.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.201.147" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 286, "hostname": "ch286.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.236.201.147" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 293, "hostname": "ch293.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.43" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 293, "hostname": "ch293.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.43" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 294, "hostname": "ch294.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.67" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 294, "hostname": "ch294.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.67" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 295, "hostname": "ch295.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.75" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 295, "hostname": "ch295.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.75" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 296, "hostname": "ch296.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.83" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 296, "hostname": "ch296.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.83" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 297, "hostname": "ch297.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.91" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 297, "hostname": "ch297.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.91" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 298, "hostname": "ch298.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.99" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 298, "hostname": "ch298.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.99" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 299, "hostname": "ch299.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.107" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 299, "hostname": "ch299.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.107" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 300, "hostname": "ch300.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.115" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 300, "hostname": "ch300.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.115" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 301, "hostname": "ch301.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.213.123" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 301, "hostname": "ch301.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "37.120.213.123" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 319, "hostname": "ch319.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.121" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 319, "hostname": "ch319.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.121" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 320, "hostname": "ch320.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.129" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 320, "hostname": "ch320.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.129" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 321, "hostname": "ch321.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.131" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 321, "hostname": "ch321.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.131" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 322, "hostname": "ch322.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.133" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 322, "hostname": "ch322.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.133" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 323, "hostname": "ch323.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.135" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 323, "hostname": "ch323.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.135" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 324, "hostname": "ch324.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.137" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 324, "hostname": "ch324.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.137" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 325, "hostname": "ch325.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.139" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 325, "hostname": "ch325.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.139" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 326, "hostname": "ch326.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.141" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 326, "hostname": "ch326.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.141" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 327, "hostname": "ch327.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.143" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 327, "hostname": "ch327.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.143" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 328, "hostname": "ch328.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.145" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 328, "hostname": "ch328.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.145" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 329, "hostname": "ch329.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.147" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 329, "hostname": "ch329.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.147" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 330, "hostname": "ch330.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.149" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 330, "hostname": "ch330.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.149" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 331, "hostname": "ch331.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.151" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 331, "hostname": "ch331.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.151" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 332, "hostname": "ch332.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.153" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 332, "hostname": "ch332.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.153" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 333, "hostname": "ch333.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.216.219.155" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 333, "hostname": "ch333.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.216.219.155" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 334, "hostname": "ch334.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.14" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 334, "hostname": "ch334.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.14" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 335, "hostname": "ch335.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.16" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 335, "hostname": "ch335.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.16" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 336, "hostname": "ch336.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.18" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 336, "hostname": "ch336.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.18" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 337, "hostname": "ch337.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.20" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 337, "hostname": "ch337.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.20" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 338, "hostname": "ch338.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.22" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 338, "hostname": "ch338.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.22" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 339, "hostname": "ch339.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.24" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 339, "hostname": "ch339.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.24" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 340, "hostname": "ch340.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.26" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 340, "hostname": "ch340.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.26" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 341, "hostname": "ch341.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.28" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 341, "hostname": "ch341.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.28" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 342, "hostname": "ch342.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.30" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 342, "hostname": "ch342.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.30" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 343, "hostname": "ch343.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.32" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 343, "hostname": "ch343.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.32" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 344, "hostname": "ch344.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.34" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 344, "hostname": "ch344.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.34" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 345, "hostname": "ch345.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.36" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 345, "hostname": "ch345.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.36" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 346, "hostname": "ch346.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.142" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 346, "hostname": "ch346.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.142" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 347, "hostname": "ch347.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.151" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 347, "hostname": "ch347.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.151" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 348, "hostname": "ch348.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.161" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 348, "hostname": "ch348.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.161" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 349, "hostname": "ch349.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.171" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 349, "hostname": "ch349.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.171" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 350, "hostname": "ch350.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.181" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 350, "hostname": "ch350.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.181" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 351, "hostname": "ch351.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.190" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 351, "hostname": "ch351.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.190" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 352, "hostname": "ch352.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.199" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 352, "hostname": "ch352.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.199" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 353, "hostname": "ch353.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.208" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 353, "hostname": "ch353.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.208" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 354, "hostname": "ch354.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.226" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 354, "hostname": "ch354.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.226" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 355, "hostname": "ch355.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.235" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 355, "hostname": "ch355.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.235" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 356, "hostname": "ch356.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.245" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 356, "hostname": "ch356.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.245" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 357, "hostname": "ch357.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.165.217" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 357, "hostname": "ch357.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "178.239.165.217" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 358, "hostname": "ch358.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.203.219" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 358, "hostname": "ch358.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "217.138.203.219" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 359, "hostname": "ch359.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.9.18.171" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 359, "hostname": "ch359.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.9.18.171" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 360, "hostname": "ch360.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.26.75" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 360, "hostname": "ch360.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.26.75" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 361, "hostname": "ch361.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.26.83" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 361, "hostname": "ch361.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.26.83" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 362, "hostname": "ch362.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.26.91" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 362, "hostname": "ch362.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.26.91" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 363, "hostname": "ch363.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.105.115" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 363, "hostname": "ch363.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.206.105.115" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 364, "hostname": "ch364.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.105.123" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 364, "hostname": "ch364.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "195.206.105.123" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 365, "hostname": "ch365.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.212.170.195" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 365, "hostname": "ch365.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.212.170.195" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 366, "hostname": "ch366.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.71.35" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 366, "hostname": "ch366.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.71.35" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 367, "hostname": "ch367.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.71.43" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 367, "hostname": "ch367.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.71.43" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 368, "hostname": "ch368.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.71.51" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 368, "hostname": "ch368.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.71.51" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 369, "hostname": "ch369.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.71.59" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 369, "hostname": "ch369.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.71.59" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 370, "hostname": "ch370.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.26.43" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 370, "hostname": "ch370.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.26.43" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 371, "hostname": "ch371.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.26.51" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 371, "hostname": "ch371.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.26.51" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 372, "hostname": "ch372.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.26.59" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 372, "hostname": "ch372.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.26.59" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 373, "hostname": "ch373.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.26.67" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 373, "hostname": "ch373.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "146.70.26.67" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 374, "hostname": "ch374.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.142" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 374, "hostname": "ch374.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.142" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 375, "hostname": "ch375.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.152" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 375, "hostname": "ch375.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.152" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 376, "hostname": "ch376.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.162" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 376, "hostname": "ch376.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.162" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 377, "hostname": "ch377.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.172" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 377, "hostname": "ch377.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.172" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 378, "hostname": "ch378.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.182" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 378, "hostname": "ch378.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.182" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 379, "hostname": "ch379.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.192" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 379, "hostname": "ch379.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.192" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 380, "hostname": "ch380.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.201" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 380, "hostname": "ch380.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.201" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 381, "hostname": "ch381.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.210" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 381, "hostname": "ch381.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.210" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 382, "hostname": "ch382.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.219" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 382, "hostname": "ch382.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.219" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 383, "hostname": "ch383.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.228" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 383, "hostname": "ch383.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.228" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 384, "hostname": "ch384.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.237" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 384, "hostname": "ch384.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.237" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 385, "hostname": "ch385.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.37.173.246" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 385, "hostname": "ch385.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "89.37.173.246" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 386, "hostname": "ch386.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.148.245" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 386, "hostname": "ch386.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "82.180.148.245" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 387, "hostname": "ch387.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.148.247" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 387, "hostname": "ch387.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "82.180.148.247" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 388, "hostname": "ch388.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.148.249" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 388, "hostname": "ch388.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "82.180.148.249" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 389, "hostname": "ch389.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.180.148.251" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 389, "hostname": "ch389.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "82.180.148.251" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 403, "hostname": "ch403.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.240" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 403, "hostname": "ch403.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.240" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 404, "hostname": "ch404.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.224" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 404, "hostname": "ch404.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.224" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 405, "hostname": "ch405.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.208" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 405, "hostname": "ch405.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.208" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 406, "hostname": "ch406.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.192" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 406, "hostname": "ch406.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.192" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 407, "hostname": "ch407.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.176" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 407, "hostname": "ch407.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.176" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 408, "hostname": "ch408.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.160" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 408, "hostname": "ch408.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.160" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 409, "hostname": "ch409.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.144" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 409, "hostname": "ch409.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.144" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 413, "hostname": "ch413.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.238.118" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 414, "hostname": "ch414.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.238.120" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 415, "hostname": "ch415.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.238.113" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 416, "hostname": "ch416.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.238.115" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 417, "hostname": "ch417.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.96" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 417, "hostname": "ch417.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.96" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 418, "hostname": "ch418.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.112" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 418, "hostname": "ch418.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.112" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 419, "hostname": "ch419.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.7.34.128" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Standard VPN servers", "P2P" ], "number": 419, "hostname": "ch419.nordvpn.com", "wgpubkey": "SqAWBSVdnUJ859Bz2Nyt82rlSebMwPgvwQxIb1DzyF8=", "ips": [ "185.7.34.128" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 420, "hostname": "ch420.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.6.151" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 421, "hostname": "ch421.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.6.153" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 422, "hostname": "ch422.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.66" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 423, "hostname": "ch423.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.68" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 424, "hostname": "ch424.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.98" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 425, "hostname": "ch425.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.100" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 426, "hostname": "ch426.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.103" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 427, "hostname": "ch427.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.105" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 428, "hostname": "ch428.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.111" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 430, "hostname": "ch430.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.116" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "categories": [ "Dedicated IP" ], "number": 431, "hostname": "ch431.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.27.118" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Double VPN" ], "number": 3, "hostname": "hk-tw3.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.37.79" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Double VPN" ], "number": 3, "hostname": "hk-tw3.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "84.17.37.79" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "tw164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.100" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 164, "hostname": "tw164.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.100" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "tw165.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.102" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 165, "hostname": "tw165.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.102" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "tw166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.104" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 166, "hostname": "tw166.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.104" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "tw167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.106" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 167, "hostname": "tw167.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.106" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "tw168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.108" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 168, "hostname": "tw168.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.108" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "tw169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.110" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 169, "hostname": "tw169.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.110" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "tw170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.112" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 170, "hostname": "tw170.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.112" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "tw172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.116" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 172, "hostname": "tw172.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.116" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "tw173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.118" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 173, "hostname": "tw173.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.118" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "tw174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.120" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 174, "hostname": "tw174.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.120" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "tw175.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.122" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 175, "hostname": "tw175.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.122" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "tw176.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.124" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 176, "hostname": "tw176.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.124" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 177, "hostname": "tw177.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.126" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 177, "hostname": "tw177.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.126" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 178, "hostname": "tw178.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.128" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 178, "hostname": "tw178.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.128" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "tw179.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.130" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 179, "hostname": "tw179.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.130" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "tw180.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.132" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 180, "hostname": "tw180.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.132" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "tw181.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.134" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 181, "hostname": "tw181.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.134" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "tw182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.136" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 182, "hostname": "tw182.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.136" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "tw183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.213.82.138" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "categories": [ "Standard VPN servers", "P2P" ], "number": 183, "hostname": "tw183.nordvpn.com", "wgpubkey": "iW991L6XyB8LWqsmRDDazPv9abbgrKKtR3Y2SGhg/T0=", "ips": [ "185.213.82.138" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 14, "hostname": "th14.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.64" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 14, "hostname": "th14.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.64" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 15, "hostname": "th15.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.66" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 15, "hostname": "th15.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.66" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 16, "hostname": "th16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.68" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 16, "hostname": "th16.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.68" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 17, "hostname": "th17.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.70" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 17, "hostname": "th17.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.70" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 18, "hostname": "th18.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.72" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 18, "hostname": "th18.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.72" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 19, "hostname": "th19.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.96" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 19, "hostname": "th19.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.96" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 20, "hostname": "th20.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.99" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 20, "hostname": "th20.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.99" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 21, "hostname": "th21.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.47" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 21, "hostname": "th21.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.47" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 22, "hostname": "th22.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.102" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 22, "hostname": "th22.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.102" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 23, "hostname": "th23.nordvpn.com", "tcp": true, "udp": true, "ips": [ "122.155.174.105" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 23, "hostname": "th23.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "122.155.174.105" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 24, "hostname": "th24.nordvpn.com", "tcp": true, "udp": true, "ips": [ "27.131.134.20" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 24, "hostname": "th24.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "27.131.134.20" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 25, "hostname": "th25.nordvpn.com", "tcp": true, "udp": true, "ips": [ "27.131.134.67" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 25, "hostname": "th25.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "27.131.134.67" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 26, "hostname": "th26.nordvpn.com", "tcp": true, "udp": true, "ips": [ "27.131.170.99" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 26, "hostname": "th26.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "27.131.170.99" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 27, "hostname": "th27.nordvpn.com", "tcp": true, "udp": true, "ips": [ "27.131.170.163" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "categories": [ "Standard VPN servers" ], "number": 27, "hostname": "th27.nordvpn.com", "wgpubkey": "r7tcaBsLyZv0lLt22fkiKBVMX5q6dWx9jomjdhQnlR8=", "ips": [ "27.131.170.163" ] }, { "vpn": "openvpn", "country": "Trinidad and Tobago", "region": "The Americas", "city": "Port of Spain", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "tt1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.78.1" ] }, { "vpn": "wireguard", "country": "Trinidad and Tobago", "region": "The Americas", "city": "Port of Spain", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "tt1.nordvpn.com", "wgpubkey": "Jk19kGDgYoQ/64amD4flDDVKt1nqAGWAnxuhSQbdahI=", "ips": [ "82.149.78.1" ] }, { "vpn": "openvpn", "country": "Trinidad and Tobago", "region": "The Americas", "city": "Port of Spain", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "tt2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.78.3" ] }, { "vpn": "wireguard", "country": "Trinidad and Tobago", "region": "The Americas", "city": "Port of Spain", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "tt2.nordvpn.com", "wgpubkey": "Jk19kGDgYoQ/64amD4flDDVKt1nqAGWAnxuhSQbdahI=", "ips": [ "82.149.78.3" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "tr51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.62" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "tr51.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.62" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "tr52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.50" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "tr52.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.50" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "tr53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.38" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "tr53.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.38" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "tr54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.26" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "tr54.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.26" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "tr55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.14" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "tr55.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.14" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "tr57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.2" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "tr57.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.2" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "tr58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.74" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "tr58.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.74" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "tr59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.86" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "tr59.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.86" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "tr60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.98" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "tr60.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.98" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "tr61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "87.249.139.110" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "tr61.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "87.249.139.110" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "tr62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.136.155.130" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "tr62.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "45.136.155.130" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "tr63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.136.155.142" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Africa the Middle East and India", "city": "Istanbul", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "tr63.nordvpn.com", "wgpubkey": "mlY5bcC+NtXxHYpDSANkiQABeYwAAB4lMwgNhAbE4BI=", "ips": [ "45.136.155.142" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "ua51.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.139" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 51, "hostname": "ua51.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.139" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "ua52.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.143" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 52, "hostname": "ua52.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.143" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "ua53.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.147" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 53, "hostname": "ua53.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.147" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "ua54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.151" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "ua54.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.151" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "ua55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.155" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "ua55.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.155" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "ua56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.159" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "ua56.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.159" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "ua57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.163" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "ua57.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.163" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "ua58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.167" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "ua58.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.167" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "ua59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.171" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "ua59.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.171" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "ua60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.175" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "ua60.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.175" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "ua61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.46.172" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "ua61.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "143.244.46.172" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "ua62.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.46.166" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 62, "hostname": "ua62.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "143.244.46.166" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "ua63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.46.161" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 63, "hostname": "ua63.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "143.244.46.161" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "ua64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.218.180" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "categories": [ "Standard VPN servers", "P2P" ], "number": 64, "hostname": "ua64.nordvpn.com", "wgpubkey": "WcmFq6/1vuZR8/4fzHyrveWbE5ipydTjq0HGwFUMjUM=", "ips": [ "37.19.218.180" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "ae54.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.238.3" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 54, "hostname": "ae54.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.238.3" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "ae55.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.238.19" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 55, "hostname": "ae55.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.238.19" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "ae56.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.238.35" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 56, "hostname": "ae56.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.238.35" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "ae57.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.238.51" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 57, "hostname": "ae57.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.238.51" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "ae58.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.238.147" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 58, "hostname": "ae58.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.238.147" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "ae59.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.238.163" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 59, "hostname": "ae59.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.238.163" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "ae60.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.238.179" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 60, "hostname": "ae60.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.238.179" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "ae61.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.155.35" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Africa the Middle East and India", "city": "Dubai", "categories": [ "Standard VPN servers", "P2P" ], "number": 61, "hostname": "ae61.nordvpn.com", "wgpubkey": "8YHJW3c2We+C3+Ym7NPVPa3rzuZgx825okEa7+fzHSE=", "ips": [ "146.70.155.35" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2432, "hostname": "uk2432.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.38" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2432, "hostname": "uk2432.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.38" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2433, "hostname": "uk2433.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.51" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2433, "hostname": "uk2433.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2434, "hostname": "uk2434.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.64" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2434, "hostname": "uk2434.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.64" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2435, "hostname": "uk2435.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.77" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2435, "hostname": "uk2435.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.77" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2436, "hostname": "uk2436.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.90" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2436, "hostname": "uk2436.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2437, "hostname": "uk2437.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.103" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2437, "hostname": "uk2437.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.103" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2438, "hostname": "uk2438.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.116" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2438, "hostname": "uk2438.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.116" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2440, "hostname": "uk2440.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.142" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2440, "hostname": "uk2440.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.142" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2441, "hostname": "uk2441.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.155" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2441, "hostname": "uk2441.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.155" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2442, "hostname": "uk2442.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.168" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2442, "hostname": "uk2442.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.168" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2443, "hostname": "uk2443.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.181" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2443, "hostname": "uk2443.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.181" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2444, "hostname": "uk2444.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.194" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2444, "hostname": "uk2444.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.194" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2445, "hostname": "uk2445.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.207" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2445, "hostname": "uk2445.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.207" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2446, "hostname": "uk2446.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.220" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2446, "hostname": "uk2446.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.220" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2447, "hostname": "uk2447.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.233" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2447, "hostname": "uk2447.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.233" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2448, "hostname": "uk2448.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.246" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2448, "hostname": "uk2448.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.246" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2449, "hostname": "uk2449.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.6" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2449, "hostname": "uk2449.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.6" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2450, "hostname": "uk2450.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.19" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2450, "hostname": "uk2450.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.19" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2451, "hostname": "uk2451.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.32" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2451, "hostname": "uk2451.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.32" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2452, "hostname": "uk2452.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.45" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2452, "hostname": "uk2452.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.45" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2453, "hostname": "uk2453.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.58" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2453, "hostname": "uk2453.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.58" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2454, "hostname": "uk2454.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.71" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2454, "hostname": "uk2454.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.71" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2455, "hostname": "uk2455.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.84" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2455, "hostname": "uk2455.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.84" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2456, "hostname": "uk2456.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.97" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2456, "hostname": "uk2456.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.97" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2457, "hostname": "uk2457.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.110" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2457, "hostname": "uk2457.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.110" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2458, "hostname": "uk2458.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.123" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2458, "hostname": "uk2458.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.123" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2459, "hostname": "uk2459.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.136" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2459, "hostname": "uk2459.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.136" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2460, "hostname": "uk2460.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.149" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2460, "hostname": "uk2460.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.149" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2461, "hostname": "uk2461.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.162" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2461, "hostname": "uk2461.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2462, "hostname": "uk2462.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.175" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2462, "hostname": "uk2462.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.175" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2463, "hostname": "uk2463.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.188" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2463, "hostname": "uk2463.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.188" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2464, "hostname": "uk2464.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.201" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2464, "hostname": "uk2464.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.201" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2465, "hostname": "uk2465.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.214" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2465, "hostname": "uk2465.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.214" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2466, "hostname": "uk2466.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2466, "hostname": "uk2466.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2467, "hostname": "uk2467.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.240.56.241" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2467, "hostname": "uk2467.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.240.56.241" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2468, "hostname": "uk2468.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.212.154.130" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "categories": [ "Standard VPN servers", "P2P" ], "number": 2468, "hostname": "uk2468.nordvpn.com", "wgpubkey": "4e5JI3fA1RkKmsYfNsYyYw/RaK1DohsO26H2HwNUsR8=", "ips": [ "188.212.154.130" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2470, "hostname": "uk2470.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.38" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2470, "hostname": "uk2470.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.38" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2471, "hostname": "uk2471.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.40" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2471, "hostname": "uk2471.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.40" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2472, "hostname": "uk2472.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.42" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2472, "hostname": "uk2472.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2473, "hostname": "uk2473.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.44" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2473, "hostname": "uk2473.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.44" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2474, "hostname": "uk2474.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.46" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2474, "hostname": "uk2474.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.46" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2475, "hostname": "uk2475.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.48" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2475, "hostname": "uk2475.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.48" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2476, "hostname": "uk2476.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.50" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2476, "hostname": "uk2476.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.50" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2477, "hostname": "uk2477.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.52" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2477, "hostname": "uk2477.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.52" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2478, "hostname": "uk2478.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.54" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2478, "hostname": "uk2478.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.54" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2479, "hostname": "uk2479.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.56" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2479, "hostname": "uk2479.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.56" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2480, "hostname": "uk2480.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.58" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2480, "hostname": "uk2480.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.58" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2481, "hostname": "uk2481.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.60" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2481, "hostname": "uk2481.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.60" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2482, "hostname": "uk2482.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.62" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2482, "hostname": "uk2482.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.62" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2483, "hostname": "uk2483.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.64" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2483, "hostname": "uk2483.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.64" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2484, "hostname": "uk2484.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.66" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2484, "hostname": "uk2484.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.66" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2485, "hostname": "uk2485.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.68" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2485, "hostname": "uk2485.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.68" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2486, "hostname": "uk2486.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.70" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2486, "hostname": "uk2486.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.70" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2487, "hostname": "uk2487.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.72" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2487, "hostname": "uk2487.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.72" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2488, "hostname": "uk2488.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.74" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2488, "hostname": "uk2488.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.74" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2489, "hostname": "uk2489.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.76" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2489, "hostname": "uk2489.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.76" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2490, "hostname": "uk2490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.78" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2490, "hostname": "uk2490.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.78" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2491, "hostname": "uk2491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.80" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2491, "hostname": "uk2491.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.80" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2492, "hostname": "uk2492.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.82" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2492, "hostname": "uk2492.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.82" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2493, "hostname": "uk2493.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.84" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2493, "hostname": "uk2493.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.84" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2494, "hostname": "uk2494.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.86" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2494, "hostname": "uk2494.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.86" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2495, "hostname": "uk2495.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.88" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2495, "hostname": "uk2495.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.88" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2496, "hostname": "uk2496.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.90" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2496, "hostname": "uk2496.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2497, "hostname": "uk2497.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.92" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2497, "hostname": "uk2497.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.92" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2498, "hostname": "uk2498.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.94" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2498, "hostname": "uk2498.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.94" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2499, "hostname": "uk2499.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.96" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2499, "hostname": "uk2499.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.96" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2500, "hostname": "uk2500.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.98" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2500, "hostname": "uk2500.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.98" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2501, "hostname": "uk2501.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.100" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2501, "hostname": "uk2501.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.100" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2502, "hostname": "uk2502.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.102" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2502, "hostname": "uk2502.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.102" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2503, "hostname": "uk2503.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.104" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2503, "hostname": "uk2503.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.104" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2504, "hostname": "uk2504.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.106" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2504, "hostname": "uk2504.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.106" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2505, "hostname": "uk2505.nordvpn.com", "tcp": true, "udp": true, "ips": [ "188.241.157.108" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "categories": [ "Standard VPN servers", "P2P" ], "number": 2505, "hostname": "uk2505.nordvpn.com", "wgpubkey": "TZTNL4BRsTTCQYigUjLvfy6Vgx5lFxGGtSrM7RvWkEc=", "ips": [ "188.241.157.108" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 10, "hostname": "fr-uk10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.180" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 10, "hostname": "fr-uk10.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.47.180" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 10, "hostname": "nl-uk10.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.141" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 10, "hostname": "nl-uk10.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "213.232.87.141" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 11, "hostname": "fr-uk11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.47.181" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 11, "hostname": "fr-uk11.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.47.181" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 11, "hostname": "nl-uk11.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.142" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 11, "hostname": "nl-uk11.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "213.232.87.142" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 12, "hostname": "nl-uk12.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.49" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 12, "hostname": "nl-uk12.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "213.232.87.49" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 13, "hostname": "nl-uk13.nordvpn.com", "tcp": true, "udp": true, "ips": [ "213.232.87.50" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 13, "hostname": "nl-uk13.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "213.232.87.50" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 16, "hostname": "fr-uk16.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.39" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 16, "hostname": "fr-uk16.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.19.217.39" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 17, "hostname": "fr-uk17.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.217.40" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 17, "hostname": "fr-uk17.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.19.217.40" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 20, "hostname": "fr-uk20.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.219.107" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 20, "hostname": "fr-uk20.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "139.28.219.107" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 21, "hostname": "fr-uk21.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.219.108" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Double VPN" ], "number": 21, "hostname": "fr-uk21.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "139.28.219.108" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 765, "hostname": "uk765.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.28.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 766, "hostname": "uk766.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.28.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 812, "hostname": "uk812.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.81.191.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 813, "hostname": "uk813.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 814, "hostname": "uk814.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.121.139.100" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 870, "hostname": "uk870.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.81.191.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 871, "hostname": "uk871.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.99.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 873, "hostname": "uk873.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.180.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 874, "hostname": "uk874.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.180.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 875, "hostname": "uk875.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.180.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 876, "hostname": "uk876.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.180.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 877, "hostname": "uk877.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.19.217.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 878, "hostname": "uk878.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.19.217.5" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 879, "hostname": "uk879.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.19.223.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 880, "hostname": "uk880.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.19.223.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 884, "hostname": "uk884.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.169.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 885, "hostname": "uk885.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.169.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 886, "hostname": "uk886.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.44.79.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 887, "hostname": "uk887.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.44.79.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 888, "hostname": "uk888.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.205.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 889, "hostname": "uk889.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.205.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 890, "hostname": "uk890.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.205.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 891, "hostname": "uk891.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.205.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 892, "hostname": "uk892.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.170.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 893, "hostname": "uk893.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.170.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 894, "hostname": "uk894.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.170.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 895, "hostname": "uk895.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.170.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 896, "hostname": "uk896.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.164.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 897, "hostname": "uk897.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.164.65" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 898, "hostname": "uk898.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.164.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 899, "hostname": "uk899.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.164.193" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1602, "hostname": "uk1602.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.19.214.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1603, "hostname": "uk1603.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.19.214.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1604, "hostname": "uk1604.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.223.233.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1605, "hostname": "uk1605.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.223.233.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1606, "hostname": "uk1606.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.151.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1607, "hostname": "uk1607.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.151.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1608, "hostname": "uk1608.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.234.127.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1609, "hostname": "uk1609.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.234.127.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1610, "hostname": "uk1610.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1611, "hostname": "uk1611.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.133" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1612, "hostname": "uk1612.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.139" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1613, "hostname": "uk1613.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.141" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1614, "hostname": "uk1614.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.143" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1615, "hostname": "uk1615.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.145" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1616, "hostname": "uk1616.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1617, "hostname": "uk1617.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.149" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1618, "hostname": "uk1618.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.151" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1619, "hostname": "uk1619.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.153" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1620, "hostname": "uk1620.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.160" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1621, "hostname": "uk1621.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1622, "hostname": "uk1622.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.164" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1623, "hostname": "uk1623.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.166" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1624, "hostname": "uk1624.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.168" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1625, "hostname": "uk1625.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.170" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1626, "hostname": "uk1626.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.172" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1627, "hostname": "uk1627.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.174" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1628, "hostname": "uk1628.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.176" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1629, "hostname": "uk1629.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.178" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1630, "hostname": "uk1630.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.180" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1631, "hostname": "uk1631.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.182" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1632, "hostname": "uk1632.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.184" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1633, "hostname": "uk1633.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.186" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1634, "hostname": "uk1634.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.188" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1635, "hostname": "uk1635.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.171.190" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1636, "hostname": "uk1636.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.23" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1637, "hostname": "uk1637.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.25" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1638, "hostname": "uk1638.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1639, "hostname": "uk1639.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.29" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1640, "hostname": "uk1640.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.31" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1641, "hostname": "uk1641.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.33" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1642, "hostname": "uk1642.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.35" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1643, "hostname": "uk1643.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.37" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1644, "hostname": "uk1644.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.39" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1645, "hostname": "uk1645.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.41" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1646, "hostname": "uk1646.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.43" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1647, "hostname": "uk1647.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.45" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1648, "hostname": "uk1648.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.47" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1649, "hostname": "uk1649.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.49" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1650, "hostname": "uk1650.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.52" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1651, "hostname": "uk1651.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.54" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1652, "hostname": "uk1652.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.56" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1653, "hostname": "uk1653.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.58" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1654, "hostname": "uk1654.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.60" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1655, "hostname": "uk1655.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.62" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1656, "hostname": "uk1656.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.87" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1656, "hostname": "uk1656.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "93.114.129.87" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1657, "hostname": "uk1657.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.89" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1658, "hostname": "uk1658.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.91" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1659, "hostname": "uk1659.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.93" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1660, "hostname": "uk1660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.95" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1661, "hostname": "uk1661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.97" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1662, "hostname": "uk1662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.99" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1663, "hostname": "uk1663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.101" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1664, "hostname": "uk1664.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.103" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1665, "hostname": "uk1665.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.105" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1668, "hostname": "uk1668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1668, "hostname": "uk1668.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1669, "hostname": "uk1669.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.4" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1669, "hostname": "uk1669.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1670, "hostname": "uk1670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.6" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1670, "hostname": "uk1670.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.6" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1671, "hostname": "uk1671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.8" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1671, "hostname": "uk1671.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.8" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1672, "hostname": "uk1672.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.10" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1672, "hostname": "uk1672.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.10" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1673, "hostname": "uk1673.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.12" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1673, "hostname": "uk1673.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1674, "hostname": "uk1674.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.14" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1674, "hostname": "uk1674.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.14" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1675, "hostname": "uk1675.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.16" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1675, "hostname": "uk1675.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.16" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1676, "hostname": "uk1676.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.18" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1676, "hostname": "uk1676.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.18" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1677, "hostname": "uk1677.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.20" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1677, "hostname": "uk1677.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.20" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1678, "hostname": "uk1678.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.22" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1678, "hostname": "uk1678.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.22" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1679, "hostname": "uk1679.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.24" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1679, "hostname": "uk1679.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.24" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1680, "hostname": "uk1680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.26" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1680, "hostname": "uk1680.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.26" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1681, "hostname": "uk1681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.28" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1681, "hostname": "uk1681.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.28" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1682, "hostname": "uk1682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.30" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1682, "hostname": "uk1682.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.30" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1683, "hostname": "uk1683.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.32" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1683, "hostname": "uk1683.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.32" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1684, "hostname": "uk1684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.34" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1684, "hostname": "uk1684.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.34" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1685, "hostname": "uk1685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.36" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1685, "hostname": "uk1685.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.36" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1686, "hostname": "uk1686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.38" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1686, "hostname": "uk1686.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.38" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1687, "hostname": "uk1687.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.17.40" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1687, "hostname": "uk1687.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "155.133.17.40" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1688, "hostname": "uk1688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.149" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1688, "hostname": "uk1688.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.149" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1708, "hostname": "uk1708.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.212" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1709, "hostname": "uk1709.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.214" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1710, "hostname": "uk1710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.207" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1711, "hostname": "uk1711.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.209" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1713, "hostname": "uk1713.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.112" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Dedicated IP" ], "number": 1714, "hostname": "uk1714.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.114.129.114" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1784, "hostname": "uk1784.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.202.11" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1784, "hostname": "uk1784.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.202.11" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1785, "hostname": "uk1785.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.75" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1785, "hostname": "uk1785.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.75" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1789, "hostname": "uk1789.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.202" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1789, "hostname": "uk1789.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.202" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1790, "hostname": "uk1790.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.205" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1790, "hostname": "uk1790.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.205" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1791, "hostname": "uk1791.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.208" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1791, "hostname": "uk1791.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.208" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1792, "hostname": "uk1792.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1792, "hostname": "uk1792.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1806, "hostname": "uk1806.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.9.113.134" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1806, "hostname": "uk1806.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "193.9.113.134" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1807, "hostname": "uk1807.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.214" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1807, "hostname": "uk1807.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.214" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1808, "hostname": "uk1808.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.217" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1808, "hostname": "uk1808.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.217" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1809, "hostname": "uk1809.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.220" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1809, "hostname": "uk1809.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.220" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1810, "hostname": "uk1810.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.223" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1810, "hostname": "uk1810.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.223" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1811, "hostname": "uk1811.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.226" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1811, "hostname": "uk1811.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.226" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1812, "hostname": "uk1812.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.229" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1812, "hostname": "uk1812.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.229" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1813, "hostname": "uk1813.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.232" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1813, "hostname": "uk1813.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.232" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1814, "hostname": "uk1814.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.235" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1814, "hostname": "uk1814.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1815, "hostname": "uk1815.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.238" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1815, "hostname": "uk1815.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.238" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1816, "hostname": "uk1816.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.241" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1816, "hostname": "uk1816.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.241" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1821, "hostname": "uk1821.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.244" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1821, "hostname": "uk1821.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.244" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1822, "hostname": "uk1822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.247" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1822, "hostname": "uk1822.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.247" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1823, "hostname": "uk1823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.250" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1823, "hostname": "uk1823.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.250" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1824, "hostname": "uk1824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.253" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1824, "hostname": "uk1824.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.253" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1825, "hostname": "uk1825.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.3" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1825, "hostname": "uk1825.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1826, "hostname": "uk1826.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.6" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1826, "hostname": "uk1826.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.6" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1827, "hostname": "uk1827.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.9" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1827, "hostname": "uk1827.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.9" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1828, "hostname": "uk1828.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.12" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1828, "hostname": "uk1828.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1829, "hostname": "uk1829.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.15" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1829, "hostname": "uk1829.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.15" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1830, "hostname": "uk1830.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.18" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1830, "hostname": "uk1830.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.18" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1835, "hostname": "uk1835.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.59.221.248" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1835, "hostname": "uk1835.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.59.221.248" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1836, "hostname": "uk1836.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.59.221.245" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1836, "hostname": "uk1836.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.59.221.245" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1837, "hostname": "uk1837.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.59.221.242" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1837, "hostname": "uk1837.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.59.221.242" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1838, "hostname": "uk1838.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.21" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1838, "hostname": "uk1838.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.21" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1839, "hostname": "uk1839.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.24" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1839, "hostname": "uk1839.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.24" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1840, "hostname": "uk1840.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.27" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1840, "hostname": "uk1840.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.27" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1841, "hostname": "uk1841.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.30" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1841, "hostname": "uk1841.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.30" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1842, "hostname": "uk1842.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.33" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1842, "hostname": "uk1842.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.33" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1843, "hostname": "uk1843.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.36" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1843, "hostname": "uk1843.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.36" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1844, "hostname": "uk1844.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.39" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1844, "hostname": "uk1844.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.39" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1845, "hostname": "uk1845.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.42" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1845, "hostname": "uk1845.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1846, "hostname": "uk1846.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.45" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1846, "hostname": "uk1846.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.45" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1847, "hostname": "uk1847.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.255.48" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1847, "hostname": "uk1847.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.255.48" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1848, "hostname": "uk1848.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.36.110.181" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1848, "hostname": "uk1848.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.36.110.181" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1849, "hostname": "uk1849.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.36.110.197" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1849, "hostname": "uk1849.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.36.110.197" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1850, "hostname": "uk1850.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.36.110.229" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1850, "hostname": "uk1850.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.36.110.229" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1851, "hostname": "uk1851.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.36.110.245" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1851, "hostname": "uk1851.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.36.110.245" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1866, "hostname": "uk1866.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.57" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1866, "hostname": "uk1866.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.57" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1867, "hostname": "uk1867.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.202.15" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1867, "hostname": "uk1867.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.202.15" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1873, "hostname": "uk1873.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.176.213" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1873, "hostname": "uk1873.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.238.176.213" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1877, "hostname": "uk1877.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.191.212" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1877, "hostname": "uk1877.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.238.191.212" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1878, "hostname": "uk1878.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.253.98.101" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1878, "hostname": "uk1878.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.253.98.101" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1879, "hostname": "uk1879.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.253.98.106" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1879, "hostname": "uk1879.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.253.98.106" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1882, "hostname": "uk1882.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.202.25" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1882, "hostname": "uk1882.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.202.25" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1883, "hostname": "uk1883.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.101" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1883, "hostname": "uk1883.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.101" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1884, "hostname": "uk1884.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.106" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1884, "hostname": "uk1884.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.106" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1885, "hostname": "uk1885.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.111" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1885, "hostname": "uk1885.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.111" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1886, "hostname": "uk1886.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.116" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1886, "hostname": "uk1886.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.116" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1887, "hostname": "uk1887.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.121" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1887, "hostname": "uk1887.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.121" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1889, "hostname": "uk1889.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.177.74.170" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1889, "hostname": "uk1889.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "93.177.74.170" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1890, "hostname": "uk1890.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.177.74.165" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1890, "hostname": "uk1890.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "93.177.74.165" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1891, "hostname": "uk1891.nordvpn.com", "tcp": true, "udp": true, "ips": [ "93.177.74.179" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1891, "hostname": "uk1891.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "93.177.74.179" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1893, "hostname": "uk1893.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.133.67" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1893, "hostname": "uk1893.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.120.133.67" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1894, "hostname": "uk1894.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.133.72" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1894, "hostname": "uk1894.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.120.133.72" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1895, "hostname": "uk1895.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.133.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1895, "hostname": "uk1895.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.120.133.83" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1896, "hostname": "uk1896.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.133.85" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1896, "hostname": "uk1896.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.120.133.85" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1897, "hostname": "uk1897.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.133.90" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1897, "hostname": "uk1897.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.120.133.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1898, "hostname": "uk1898.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.229.73.187" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1898, "hostname": "uk1898.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.229.73.187" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1899, "hostname": "uk1899.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.229.75.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1899, "hostname": "uk1899.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.229.75.83" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1900, "hostname": "uk1900.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.9.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1900, "hostname": "uk1900.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.9.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1901, "hostname": "uk1901.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.109.168.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1901, "hostname": "uk1901.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.109.168.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1902, "hostname": "uk1902.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.109.170.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1902, "hostname": "uk1902.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.109.170.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1903, "hostname": "uk1903.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.99.252.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1903, "hostname": "uk1903.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.99.252.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1904, "hostname": "uk1904.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.132.5.19" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1904, "hostname": "uk1904.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "31.132.5.19" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1905, "hostname": "uk1905.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.132.6.3" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1905, "hostname": "uk1905.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "31.132.6.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1906, "hostname": "uk1906.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.132.7.3" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1906, "hostname": "uk1906.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "31.132.7.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1907, "hostname": "uk1907.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.136.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1907, "hostname": "uk1907.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.136.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1908, "hostname": "uk1908.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.137.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1908, "hostname": "uk1908.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.137.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1909, "hostname": "uk1909.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.138.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1909, "hostname": "uk1909.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.138.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1910, "hostname": "uk1910.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.174.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1910, "hostname": "uk1910.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.174.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1911, "hostname": "uk1911.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.75.120.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1911, "hostname": "uk1911.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.75.120.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1912, "hostname": "uk1912.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.193.51" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1912, "hostname": "uk1912.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.193.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1913, "hostname": "uk1913.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.216.3" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1913, "hostname": "uk1913.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.216.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1914, "hostname": "uk1914.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.229.69.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1914, "hostname": "uk1914.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.229.69.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1915, "hostname": "uk1915.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.132.6.11" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1915, "hostname": "uk1915.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "31.132.6.11" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1916, "hostname": "uk1916.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.223.19" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1916, "hostname": "uk1916.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.223.19" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1917, "hostname": "uk1917.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.99.252.35" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1917, "hostname": "uk1917.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.99.252.35" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1918, "hostname": "uk1918.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.9.58.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1918, "hostname": "uk1918.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.9.58.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1919, "hostname": "uk1919.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.9.59.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1919, "hostname": "uk1919.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.9.59.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1920, "hostname": "uk1920.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.171.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1920, "hostname": "uk1920.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.171.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1921, "hostname": "uk1921.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.74.197.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1921, "hostname": "uk1921.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.74.197.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1924, "hostname": "uk1924.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.37" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1924, "hostname": "uk1924.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.37" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1925, "hostname": "uk1925.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.42" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1925, "hostname": "uk1925.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1926, "hostname": "uk1926.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.52" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1926, "hostname": "uk1926.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.52" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1927, "hostname": "uk1927.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.213" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1927, "hostname": "uk1927.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.213" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1933, "hostname": "uk1933.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.218" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1933, "hostname": "uk1933.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.218" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1934, "hostname": "uk1934.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.202.29" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1934, "hostname": "uk1934.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.202.29" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1935, "hostname": "uk1935.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.197" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1935, "hostname": "uk1935.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.197" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1944, "hostname": "uk1944.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.100.123" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1944, "hostname": "uk1944.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "141.98.100.123" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1945, "hostname": "uk1945.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.100.171" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1945, "hostname": "uk1945.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "141.98.100.171" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1946, "hostname": "uk1946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "141.98.100.179" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1946, "hostname": "uk1946.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "141.98.100.179" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1999, "hostname": "uk1999.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.250" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 1999, "hostname": "uk1999.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.250" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2000, "hostname": "uk2000.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.245" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2000, "hostname": "uk2000.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.245" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2001, "hostname": "uk2001.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.240" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2001, "hostname": "uk2001.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.240" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2002, "hostname": "uk2002.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.235" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2002, "hostname": "uk2002.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2003, "hostname": "uk2003.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.231" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2003, "hostname": "uk2003.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.231" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2004, "hostname": "uk2004.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.225" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2004, "hostname": "uk2004.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.225" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2005, "hostname": "uk2005.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.220" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2005, "hostname": "uk2005.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.220" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2006, "hostname": "uk2006.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.215" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2006, "hostname": "uk2006.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.215" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2007, "hostname": "uk2007.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2007, "hostname": "uk2007.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2008, "hostname": "uk2008.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.206" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2008, "hostname": "uk2008.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.206" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2009, "hostname": "uk2009.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.201" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2009, "hostname": "uk2009.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.201" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2010, "hostname": "uk2010.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.196" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2010, "hostname": "uk2010.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.196" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2011, "hostname": "uk2011.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.186" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2011, "hostname": "uk2011.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.186" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2012, "hostname": "uk2012.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.181" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2012, "hostname": "uk2012.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.181" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2013, "hostname": "uk2013.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.176" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2013, "hostname": "uk2013.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.176" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2014, "hostname": "uk2014.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.171" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2014, "hostname": "uk2014.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.171" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2015, "hostname": "uk2015.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.166" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2015, "hostname": "uk2015.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.166" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2016, "hostname": "uk2016.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.161" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2016, "hostname": "uk2016.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.161" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2017, "hostname": "uk2017.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.156" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2017, "hostname": "uk2017.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.156" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2018, "hostname": "uk2018.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.146" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2018, "hostname": "uk2018.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.146" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2019, "hostname": "uk2019.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.141" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2019, "hostname": "uk2019.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.141" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2020, "hostname": "uk2020.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.136" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2020, "hostname": "uk2020.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.136" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2021, "hostname": "uk2021.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2021, "hostname": "uk2021.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2022, "hostname": "uk2022.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.126" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2022, "hostname": "uk2022.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.126" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2023, "hostname": "uk2023.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.121" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2023, "hostname": "uk2023.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.121" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2024, "hostname": "uk2024.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.111" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2024, "hostname": "uk2024.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.111" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2025, "hostname": "uk2025.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.106" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2025, "hostname": "uk2025.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.106" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2026, "hostname": "uk2026.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.101" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2026, "hostname": "uk2026.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.101" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2027, "hostname": "uk2027.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.96" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2027, "hostname": "uk2027.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.96" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2028, "hostname": "uk2028.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.91" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2028, "hostname": "uk2028.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.91" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2029, "hostname": "uk2029.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.86" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2029, "hostname": "uk2029.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.86" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2030, "hostname": "uk2030.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.81" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2030, "hostname": "uk2030.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.81" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2031, "hostname": "uk2031.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.76" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2031, "hostname": "uk2031.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.76" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2032, "hostname": "uk2032.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.71" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2032, "hostname": "uk2032.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.71" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2033, "hostname": "uk2033.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.66" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2033, "hostname": "uk2033.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.66" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2034, "hostname": "uk2034.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.61" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2034, "hostname": "uk2034.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.61" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2035, "hostname": "uk2035.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.56" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2035, "hostname": "uk2035.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.56" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2036, "hostname": "uk2036.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.144.26" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2036, "hostname": "uk2036.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.144.26" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2037, "hostname": "uk2037.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.144.21" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2037, "hostname": "uk2037.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.144.21" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2038, "hostname": "uk2038.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.144.154" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2038, "hostname": "uk2038.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.144.154" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2039, "hostname": "uk2039.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.144.149" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2039, "hostname": "uk2039.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.144.149" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2040, "hostname": "uk2040.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.207.58" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2040, "hostname": "uk2040.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.16.207.58" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2041, "hostname": "uk2041.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.207.53" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2041, "hostname": "uk2041.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.16.207.53" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2042, "hostname": "uk2042.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.207.48" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2042, "hostname": "uk2042.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.16.207.48" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2043, "hostname": "uk2043.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.51" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2043, "hostname": "uk2043.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2044, "hostname": "uk2044.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.140.215.186" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2044, "hostname": "uk2044.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.140.215.186" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2045, "hostname": "uk2045.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.140.215.176" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2045, "hostname": "uk2045.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.140.215.176" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2046, "hostname": "uk2046.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.140.215.171" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2046, "hostname": "uk2046.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.140.215.171" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2047, "hostname": "uk2047.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.140.215.167" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2047, "hostname": "uk2047.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.140.215.167" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2048, "hostname": "uk2048.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.160.202" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2048, "hostname": "uk2048.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.160.202" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2049, "hostname": "uk2049.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.160.197" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2049, "hostname": "uk2049.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.160.197" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2050, "hostname": "uk2050.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.161.218" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2050, "hostname": "uk2050.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.161.218" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2051, "hostname": "uk2051.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.161.213" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2051, "hostname": "uk2051.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.161.213" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2052, "hostname": "uk2052.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.207.39" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2052, "hostname": "uk2052.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.16.207.39" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2053, "hostname": "uk2053.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.202" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2053, "hostname": "uk2053.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.202" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2054, "hostname": "uk2054.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.36.110.101" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2054, "hostname": "uk2054.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.36.110.101" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2065, "hostname": "uk2065.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.202.20" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2065, "hostname": "uk2065.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.202.20" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2066, "hostname": "uk2066.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.36.110.213" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2066, "hostname": "uk2066.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.36.110.213" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2067, "hostname": "uk2067.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.200.117" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2067, "hostname": "uk2067.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.200.117" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2069, "hostname": "uk2069.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.191" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2069, "hostname": "uk2069.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.191" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2070, "hostname": "uk2070.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.151" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2070, "hostname": "uk2070.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.151" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2071, "hostname": "uk2071.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.116" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2071, "hostname": "uk2071.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.116" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2072, "hostname": "uk2072.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.16.207.43" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2072, "hostname": "uk2072.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.16.207.43" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2073, "hostname": "uk2073.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.183.46" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2073, "hostname": "uk2073.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.206.183.46" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2074, "hostname": "uk2074.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.140.215.181" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2074, "hostname": "uk2074.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.140.215.181" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2075, "hostname": "uk2075.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.3" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2075, "hostname": "uk2075.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2076, "hostname": "uk2076.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.6" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2076, "hostname": "uk2076.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.6" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2077, "hostname": "uk2077.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.9" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2077, "hostname": "uk2077.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.9" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2078, "hostname": "uk2078.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.12" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2078, "hostname": "uk2078.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2079, "hostname": "uk2079.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.15" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2079, "hostname": "uk2079.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.15" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2080, "hostname": "uk2080.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.18" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2080, "hostname": "uk2080.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.18" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2081, "hostname": "uk2081.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.21" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2081, "hostname": "uk2081.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.21" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2082, "hostname": "uk2082.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.24" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2082, "hostname": "uk2082.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.24" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2083, "hostname": "uk2083.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.27" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2083, "hostname": "uk2083.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.27" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2084, "hostname": "uk2084.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.30" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2084, "hostname": "uk2084.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.30" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2085, "hostname": "uk2085.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.33" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2085, "hostname": "uk2085.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.33" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2086, "hostname": "uk2086.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.36" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2086, "hostname": "uk2086.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.36" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2087, "hostname": "uk2087.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.39" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2087, "hostname": "uk2087.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.39" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2088, "hostname": "uk2088.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.42" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2088, "hostname": "uk2088.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2089, "hostname": "uk2089.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.45" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2089, "hostname": "uk2089.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.45" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2090, "hostname": "uk2090.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.48" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2090, "hostname": "uk2090.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.48" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2091, "hostname": "uk2091.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.51" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2091, "hostname": "uk2091.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2092, "hostname": "uk2092.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.54" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2092, "hostname": "uk2092.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.54" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2093, "hostname": "uk2093.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.57" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2093, "hostname": "uk2093.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.57" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2094, "hostname": "uk2094.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.60" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2094, "hostname": "uk2094.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.60" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2095, "hostname": "uk2095.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.63" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2095, "hostname": "uk2095.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.63" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2096, "hostname": "uk2096.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.66" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2096, "hostname": "uk2096.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.66" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2097, "hostname": "uk2097.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.69" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2097, "hostname": "uk2097.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.69" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2098, "hostname": "uk2098.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.72" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2098, "hostname": "uk2098.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.72" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2102, "hostname": "uk2102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.110" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2102, "hostname": "uk2102.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.110" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2103, "hostname": "uk2103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.106" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2103, "hostname": "uk2103.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.106" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2104, "hostname": "uk2104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.102" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2104, "hostname": "uk2104.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.102" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2105, "hostname": "uk2105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.98" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2105, "hostname": "uk2105.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.98" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2106, "hostname": "uk2106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.94" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2106, "hostname": "uk2106.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.94" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2107, "hostname": "uk2107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.90" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2107, "hostname": "uk2107.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2108, "hostname": "uk2108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.86" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2108, "hostname": "uk2108.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.86" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2109, "hostname": "uk2109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.82" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2109, "hostname": "uk2109.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.82" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2110, "hostname": "uk2110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.34.98.78" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2110, "hostname": "uk2110.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.34.98.78" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2111, "hostname": "uk2111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.104" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2111, "hostname": "uk2111.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.104" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2112, "hostname": "uk2112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.107" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2112, "hostname": "uk2112.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.107" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2113, "hostname": "uk2113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.110" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2113, "hostname": "uk2113.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.110" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2114, "hostname": "uk2114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.113" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2114, "hostname": "uk2114.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.113" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2115, "hostname": "uk2115.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.116" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2115, "hostname": "uk2115.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.116" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2116, "hostname": "uk2116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.119" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2116, "hostname": "uk2116.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.119" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2117, "hostname": "uk2117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.122" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2117, "hostname": "uk2117.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.122" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2118, "hostname": "uk2118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.125" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2118, "hostname": "uk2118.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.125" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2119, "hostname": "uk2119.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.128" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2119, "hostname": "uk2119.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.128" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2120, "hostname": "uk2120.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2120, "hostname": "uk2120.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2121, "hostname": "uk2121.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.134" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2121, "hostname": "uk2121.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.134" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2122, "hostname": "uk2122.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.137" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2122, "hostname": "uk2122.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.137" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2123, "hostname": "uk2123.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.140" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2123, "hostname": "uk2123.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.140" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2124, "hostname": "uk2124.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.143" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2124, "hostname": "uk2124.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.143" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2142, "hostname": "uk2142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.148" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2142, "hostname": "uk2142.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.148" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2143, "hostname": "uk2143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.151" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2143, "hostname": "uk2143.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.151" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2144, "hostname": "uk2144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.154" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2144, "hostname": "uk2144.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.154" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2145, "hostname": "uk2145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.157" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2145, "hostname": "uk2145.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.157" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2146, "hostname": "uk2146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.160" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2146, "hostname": "uk2146.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.160" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2147, "hostname": "uk2147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.163" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2147, "hostname": "uk2147.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.163" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2148, "hostname": "uk2148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.166" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2148, "hostname": "uk2148.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.166" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2149, "hostname": "uk2149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.169" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2149, "hostname": "uk2149.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.169" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2150, "hostname": "uk2150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.161.91" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2150, "hostname": "uk2150.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.161.91" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2151, "hostname": "uk2151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.161.87" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2151, "hostname": "uk2151.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.161.87" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2152, "hostname": "uk2152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.161.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2152, "hostname": "uk2152.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.161.83" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2153, "hostname": "uk2153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.161.75" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2153, "hostname": "uk2153.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.161.75" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2154, "hostname": "uk2154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.161.79" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2154, "hostname": "uk2154.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.161.79" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2160, "hostname": "uk2160.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.172" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2160, "hostname": "uk2160.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.172" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2161, "hostname": "uk2161.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.175" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2161, "hostname": "uk2161.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.175" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2162, "hostname": "uk2162.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.178" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2162, "hostname": "uk2162.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.178" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2163, "hostname": "uk2163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.181" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2163, "hostname": "uk2163.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.181" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2164, "hostname": "uk2164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.184" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2164, "hostname": "uk2164.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.184" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2165, "hostname": "uk2165.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.187" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2165, "hostname": "uk2165.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.187" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2166, "hostname": "uk2166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.190" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2166, "hostname": "uk2166.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.190" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2167, "hostname": "uk2167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.193" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2167, "hostname": "uk2167.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.193" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2168, "hostname": "uk2168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.233.196" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2168, "hostname": "uk2168.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.233.196" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2169, "hostname": "uk2169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "81.92.203.47" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2169, "hostname": "uk2169.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "81.92.203.47" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2183, "hostname": "uk2183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.177.37" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2183, "hostname": "uk2183.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.243.177.37" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2184, "hostname": "uk2184.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.177.53" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2184, "hostname": "uk2184.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.243.177.53" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2185, "hostname": "uk2185.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.243.177.117" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2185, "hostname": "uk2185.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.243.177.117" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2186, "hostname": "uk2186.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.238.150.149" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2186, "hostname": "uk2186.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.238.150.149" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2193, "hostname": "uk2193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.162" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2193, "hostname": "uk2193.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2194, "hostname": "uk2194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.164" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2194, "hostname": "uk2194.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.164" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2195, "hostname": "uk2195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.166" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2195, "hostname": "uk2195.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.166" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2197, "hostname": "uk2197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.170" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2197, "hostname": "uk2197.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.170" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2198, "hostname": "uk2198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.172" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2198, "hostname": "uk2198.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.172" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2199, "hostname": "uk2199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.174" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2199, "hostname": "uk2199.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.174" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2200, "hostname": "uk2200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.176" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2200, "hostname": "uk2200.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.176" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2201, "hostname": "uk2201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.178" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2201, "hostname": "uk2201.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.178" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2202, "hostname": "uk2202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.180" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2202, "hostname": "uk2202.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.180" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2203, "hostname": "uk2203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.182" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2203, "hostname": "uk2203.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.182" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2204, "hostname": "uk2204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.3.184" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2204, "hostname": "uk2204.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.3.184" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2205, "hostname": "uk2205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.98" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2205, "hostname": "uk2205.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.98" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2206, "hostname": "uk2206.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.100" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2206, "hostname": "uk2206.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.100" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2207, "hostname": "uk2207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.102" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2207, "hostname": "uk2207.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.102" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2208, "hostname": "uk2208.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.104" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2208, "hostname": "uk2208.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.104" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2209, "hostname": "uk2209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.106" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2209, "hostname": "uk2209.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.106" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2210, "hostname": "uk2210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.108" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2210, "hostname": "uk2210.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.108" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2211, "hostname": "uk2211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.110" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2211, "hostname": "uk2211.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.110" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2212, "hostname": "uk2212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.112" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2212, "hostname": "uk2212.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.112" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2213, "hostname": "uk2213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.114" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2213, "hostname": "uk2213.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.114" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2214, "hostname": "uk2214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.116" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2214, "hostname": "uk2214.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.116" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2216, "hostname": "uk2216.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.120" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2216, "hostname": "uk2216.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.120" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2218, "hostname": "uk2218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.251" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2218, "hostname": "uk2218.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.251" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2219, "hostname": "uk2219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.247" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2219, "hostname": "uk2219.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.247" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2220, "hostname": "uk2220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2220, "hostname": "uk2220.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2221, "hostname": "uk2221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.239" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2221, "hostname": "uk2221.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.239" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2222, "hostname": "uk2222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.235" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2222, "hostname": "uk2222.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2223, "hostname": "uk2223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.231" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2223, "hostname": "uk2223.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.231" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2224, "hostname": "uk2224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2224, "hostname": "uk2224.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2225, "hostname": "uk2225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.223" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2225, "hostname": "uk2225.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.223" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2226, "hostname": "uk2226.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.219" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2226, "hostname": "uk2226.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.219" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2227, "hostname": "uk2227.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.215" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2227, "hostname": "uk2227.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.215" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2228, "hostname": "uk2228.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2228, "hostname": "uk2228.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2229, "hostname": "uk2229.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.207" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2229, "hostname": "uk2229.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.207" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2230, "hostname": "uk2230.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.203" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2230, "hostname": "uk2230.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.203" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2231, "hostname": "uk2231.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.199" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2231, "hostname": "uk2231.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.199" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2232, "hostname": "uk2232.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2232, "hostname": "uk2232.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2233, "hostname": "uk2233.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.191" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2233, "hostname": "uk2233.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.191" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2234, "hostname": "uk2234.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.187" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2234, "hostname": "uk2234.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.187" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2235, "hostname": "uk2235.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.183" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2235, "hostname": "uk2235.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.183" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2236, "hostname": "uk2236.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.179" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2236, "hostname": "uk2236.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.179" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2237, "hostname": "uk2237.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.175" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2237, "hostname": "uk2237.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.175" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2238, "hostname": "uk2238.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.171" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2238, "hostname": "uk2238.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.171" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2239, "hostname": "uk2239.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.167" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2239, "hostname": "uk2239.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.167" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2240, "hostname": "uk2240.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.163" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2240, "hostname": "uk2240.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.163" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2241, "hostname": "uk2241.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.239.162.160" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2241, "hostname": "uk2241.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.239.162.160" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2242, "hostname": "uk2242.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.231" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2242, "hostname": "uk2242.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.231" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2243, "hostname": "uk2243.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.251" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2243, "hostname": "uk2243.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.251" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2244, "hostname": "uk2244.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.247" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2244, "hostname": "uk2244.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.247" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2245, "hostname": "uk2245.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2245, "hostname": "uk2245.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2246, "hostname": "uk2246.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.239" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2246, "hostname": "uk2246.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.239" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2247, "hostname": "uk2247.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.235" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2247, "hostname": "uk2247.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2248, "hostname": "uk2248.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.222" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2248, "hostname": "uk2248.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.222" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2249, "hostname": "uk2249.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.214" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2249, "hostname": "uk2249.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.214" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2250, "hostname": "uk2250.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.218" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2250, "hostname": "uk2250.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.218" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2251, "hostname": "uk2251.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.226" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2251, "hostname": "uk2251.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.226" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2252, "hostname": "uk2252.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.210" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2252, "hostname": "uk2252.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.210" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2253, "hostname": "uk2253.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.206" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2253, "hostname": "uk2253.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.206" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2254, "hostname": "uk2254.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.202" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2254, "hostname": "uk2254.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.202" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2255, "hostname": "uk2255.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.198" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2255, "hostname": "uk2255.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.198" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2256, "hostname": "uk2256.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.194" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2256, "hostname": "uk2256.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.194" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2257, "hostname": "uk2257.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.190" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2257, "hostname": "uk2257.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.190" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2258, "hostname": "uk2258.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.186" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2258, "hostname": "uk2258.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.186" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2259, "hostname": "uk2259.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.182" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2259, "hostname": "uk2259.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.182" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2260, "hostname": "uk2260.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.178" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2260, "hostname": "uk2260.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.178" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2261, "hostname": "uk2261.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.174" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2261, "hostname": "uk2261.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.174" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2262, "hostname": "uk2262.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.170" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2262, "hostname": "uk2262.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.170" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2263, "hostname": "uk2263.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.166" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2263, "hostname": "uk2263.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.166" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2264, "hostname": "uk2264.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.162" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2264, "hostname": "uk2264.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2265, "hostname": "uk2265.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.158" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2265, "hostname": "uk2265.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.158" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2266, "hostname": "uk2266.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.154" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2266, "hostname": "uk2266.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.154" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2267, "hostname": "uk2267.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.146.92.150" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2267, "hostname": "uk2267.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "217.146.92.150" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2268, "hostname": "uk2268.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.226.142.3" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2268, "hostname": "uk2268.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.226.142.3" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2269, "hostname": "uk2269.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.251" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2269, "hostname": "uk2269.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.251" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2270, "hostname": "uk2270.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.247" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2270, "hostname": "uk2270.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.247" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2271, "hostname": "uk2271.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2271, "hostname": "uk2271.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2272, "hostname": "uk2272.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.239" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2272, "hostname": "uk2272.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.239" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2273, "hostname": "uk2273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.235" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2273, "hostname": "uk2273.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2274, "hostname": "uk2274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.231" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2274, "hostname": "uk2274.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.231" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2275, "hostname": "uk2275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2275, "hostname": "uk2275.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2276, "hostname": "uk2276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.223" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2276, "hostname": "uk2276.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.223" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2277, "hostname": "uk2277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.219" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2277, "hostname": "uk2277.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.219" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2278, "hostname": "uk2278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.215" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2278, "hostname": "uk2278.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.215" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2279, "hostname": "uk2279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2279, "hostname": "uk2279.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2280, "hostname": "uk2280.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.207" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2280, "hostname": "uk2280.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.207" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers" ], "number": 2281, "hostname": "uk2281.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.203" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers" ], "number": 2281, "hostname": "uk2281.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.203" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2282, "hostname": "uk2282.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.199" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2282, "hostname": "uk2282.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.199" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2283, "hostname": "uk2283.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2283, "hostname": "uk2283.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2284, "hostname": "uk2284.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.191" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2284, "hostname": "uk2284.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.191" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2285, "hostname": "uk2285.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.187" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2285, "hostname": "uk2285.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.187" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2286, "hostname": "uk2286.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.183" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2286, "hostname": "uk2286.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.183" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2287, "hostname": "uk2287.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.30.179" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2287, "hostname": "uk2287.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.30.179" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2288, "hostname": "uk2288.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.247" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2288, "hostname": "uk2288.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.247" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2289, "hostname": "uk2289.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2289, "hostname": "uk2289.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2290, "hostname": "uk2290.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.239" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2290, "hostname": "uk2290.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.239" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2291, "hostname": "uk2291.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.235" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2291, "hostname": "uk2291.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2292, "hostname": "uk2292.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.231" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2292, "hostname": "uk2292.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.231" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2293, "hostname": "uk2293.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2293, "hostname": "uk2293.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2294, "hostname": "uk2294.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.223" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2294, "hostname": "uk2294.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.223" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2295, "hostname": "uk2295.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.219" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2295, "hostname": "uk2295.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.219" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2296, "hostname": "uk2296.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2296, "hostname": "uk2296.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2297, "hostname": "uk2297.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.215" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2297, "hostname": "uk2297.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.215" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2298, "hostname": "uk2298.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2298, "hostname": "uk2298.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2299, "hostname": "uk2299.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.207" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2299, "hostname": "uk2299.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.207" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2300, "hostname": "uk2300.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.203" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2300, "hostname": "uk2300.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.203" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2301, "hostname": "uk2301.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.199" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2301, "hostname": "uk2301.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.199" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2302, "hostname": "uk2302.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.191" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2302, "hostname": "uk2302.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.191" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2303, "hostname": "uk2303.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.159" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2303, "hostname": "uk2303.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.159" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2304, "hostname": "uk2304.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.155" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2304, "hostname": "uk2304.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.155" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2305, "hostname": "uk2305.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.151" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2305, "hostname": "uk2305.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.151" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2306, "hostname": "uk2306.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.146" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2306, "hostname": "uk2306.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.146" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2307, "hostname": "uk2307.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.138" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2307, "hostname": "uk2307.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.138" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2328, "hostname": "uk2328.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.89" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2328, "hostname": "uk2328.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.89" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2329, "hostname": "uk2329.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.81" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2329, "hostname": "uk2329.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.81" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2330, "hostname": "uk2330.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.85" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2330, "hostname": "uk2330.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.85" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2331, "hostname": "uk2331.nordvpn.com", "tcp": true, "udp": true, "ips": [ "109.70.150.77" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2331, "hostname": "uk2331.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "109.70.150.77" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2332, "hostname": "uk2332.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.59.221.251" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2332, "hostname": "uk2332.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.59.221.251" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2333, "hostname": "uk2333.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.162" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2333, "hostname": "uk2333.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.63.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2334, "hostname": "uk2334.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2334, "hostname": "uk2334.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2335, "hostname": "uk2335.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.13" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2335, "hostname": "uk2335.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.13" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2336, "hostname": "uk2336.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.24" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2336, "hostname": "uk2336.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.24" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2337, "hostname": "uk2337.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.35" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2337, "hostname": "uk2337.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.35" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2338, "hostname": "uk2338.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.46" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2338, "hostname": "uk2338.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.46" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2339, "hostname": "uk2339.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.57" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2339, "hostname": "uk2339.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.57" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2340, "hostname": "uk2340.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.68" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2340, "hostname": "uk2340.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.68" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2341, "hostname": "uk2341.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.79" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2341, "hostname": "uk2341.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.79" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2342, "hostname": "uk2342.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.90" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2342, "hostname": "uk2342.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2343, "hostname": "uk2343.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.101" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2343, "hostname": "uk2343.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.101" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2344, "hostname": "uk2344.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.112" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2344, "hostname": "uk2344.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.112" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2345, "hostname": "uk2345.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.123" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2345, "hostname": "uk2345.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.123" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2346, "hostname": "uk2346.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.134" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2346, "hostname": "uk2346.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.134" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2347, "hostname": "uk2347.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.145" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2347, "hostname": "uk2347.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.145" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2348, "hostname": "uk2348.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.155" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2348, "hostname": "uk2348.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.155" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2349, "hostname": "uk2349.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.165" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2349, "hostname": "uk2349.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.165" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2350, "hostname": "uk2350.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.175" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2350, "hostname": "uk2350.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.175" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2351, "hostname": "uk2351.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.185" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2351, "hostname": "uk2351.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.185" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2352, "hostname": "uk2352.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2352, "hostname": "uk2352.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2353, "hostname": "uk2353.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.205" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2353, "hostname": "uk2353.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.205" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2354, "hostname": "uk2354.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.215" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2354, "hostname": "uk2354.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.215" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2355, "hostname": "uk2355.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.225" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2355, "hostname": "uk2355.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.225" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2356, "hostname": "uk2356.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.235" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2356, "hostname": "uk2356.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.235" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2357, "hostname": "uk2357.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.35.232.245" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2357, "hostname": "uk2357.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "194.35.232.245" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2359, "hostname": "uk2359.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.171.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2359, "hostname": "uk2359.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.171.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2360, "hostname": "uk2360.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.51" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2360, "hostname": "uk2360.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2361, "hostname": "uk2361.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.159.9.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2361, "hostname": "uk2361.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "178.159.9.83" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2363, "hostname": "uk2363.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.9.58.51" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2363, "hostname": "uk2363.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.9.58.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2364, "hostname": "uk2364.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.138.115" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2364, "hostname": "uk2364.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.138.115" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2365, "hostname": "uk2365.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.143.115" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2365, "hostname": "uk2365.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.143.115" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2367, "hostname": "uk2367.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.101.171.163" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2367, "hostname": "uk2367.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "5.101.171.163" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2368, "hostname": "uk2368.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.185.115" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2368, "hostname": "uk2368.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.185.115" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2369, "hostname": "uk2369.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.195.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2369, "hostname": "uk2369.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.195.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2370, "hostname": "uk2370.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.195.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2370, "hostname": "uk2370.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.195.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2371, "hostname": "uk2371.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.192.99" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2371, "hostname": "uk2371.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.192.99" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2372, "hostname": "uk2372.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.187.179" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2372, "hostname": "uk2372.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.187.179" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2373, "hostname": "uk2373.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.222.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2373, "hostname": "uk2373.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.222.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2374, "hostname": "uk2374.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.185.163" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2374, "hostname": "uk2374.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.185.163" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2375, "hostname": "uk2375.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.185.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2375, "hostname": "uk2375.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.185.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2376, "hostname": "uk2376.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.194.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2376, "hostname": "uk2376.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.194.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2377, "hostname": "uk2377.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.222.35" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2377, "hostname": "uk2377.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.222.35" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2378, "hostname": "uk2378.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.245.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2378, "hostname": "uk2378.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.245.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2379, "hostname": "uk2379.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.229.73.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2379, "hostname": "uk2379.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.229.73.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2380, "hostname": "uk2380.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.229.76.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2380, "hostname": "uk2380.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.229.76.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2381, "hostname": "uk2381.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.35.25.231" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2381, "hostname": "uk2381.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "89.35.25.231" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2382, "hostname": "uk2382.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.216" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2382, "hostname": "uk2382.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.63.216" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2383, "hostname": "uk2383.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.228" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2383, "hostname": "uk2383.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.63.228" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2513, "hostname": "uk2513.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.161.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2513, "hostname": "uk2513.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.161.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2514, "hostname": "uk2514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.163.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2514, "hostname": "uk2514.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.163.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2515, "hostname": "uk2515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.164.67" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2515, "hostname": "uk2515.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.164.67" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2516, "hostname": "uk2516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.165.243" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2516, "hostname": "uk2516.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.165.243" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2517, "hostname": "uk2517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.165.115" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2517, "hostname": "uk2517.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.165.115" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2518, "hostname": "uk2518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.169.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2518, "hostname": "uk2518.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.169.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2519, "hostname": "uk2519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.170.35" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2519, "hostname": "uk2519.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.170.35" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2520, "hostname": "uk2520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.172.67" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2520, "hostname": "uk2520.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.172.67" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2521, "hostname": "uk2521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.175.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2521, "hostname": "uk2521.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.175.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2522, "hostname": "uk2522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.175.99" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2522, "hostname": "uk2522.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.175.99" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2523, "hostname": "uk2523.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.194.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2523, "hostname": "uk2523.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.194.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2524, "hostname": "uk2524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.194.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2524, "hostname": "uk2524.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.194.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2525, "hostname": "uk2525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.200.195" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2525, "hostname": "uk2525.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.200.195" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2526, "hostname": "uk2526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.200.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2526, "hostname": "uk2526.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.200.83" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2527, "hostname": "uk2527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.209.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2527, "hostname": "uk2527.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.209.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2528, "hostname": "uk2528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.75.121.99" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2528, "hostname": "uk2528.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.75.121.99" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2529, "hostname": "uk2529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.46.222.67" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2529, "hostname": "uk2529.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "94.46.222.67" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2531, "hostname": "uk2531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.17.27.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2531, "hostname": "uk2531.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.17.27.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2532, "hostname": "uk2532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.9.56.115" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2532, "hostname": "uk2532.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.9.56.115" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2533, "hostname": "uk2533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.9.56.131" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2533, "hostname": "uk2533.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "37.9.56.131" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2535, "hostname": "uk2535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.209.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2535, "hostname": "uk2535.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.209.83" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2536, "hostname": "uk2536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.209.99" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2536, "hostname": "uk2536.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.209.99" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2537, "hostname": "uk2537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.75.121.147" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2537, "hostname": "uk2537.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.75.121.147" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2538, "hostname": "uk2538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.157.221.51" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2538, "hostname": "uk2538.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.157.221.51" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2540, "hostname": "uk2540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "78.110.166.162" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2540, "hostname": "uk2540.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "78.110.166.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2541, "hostname": "uk2541.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.7" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2541, "hostname": "uk2541.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.7" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2542, "hostname": "uk2542.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.20" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2542, "hostname": "uk2542.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.20" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2543, "hostname": "uk2543.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.33" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2543, "hostname": "uk2543.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.33" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2544, "hostname": "uk2544.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.46" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2544, "hostname": "uk2544.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.46" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2545, "hostname": "uk2545.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.59" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2545, "hostname": "uk2545.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.59" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2546, "hostname": "uk2546.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.72" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2546, "hostname": "uk2546.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.72" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2547, "hostname": "uk2547.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.85" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2547, "hostname": "uk2547.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.85" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2548, "hostname": "uk2548.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.98" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2548, "hostname": "uk2548.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.98" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2549, "hostname": "uk2549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.169.235.111" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2549, "hostname": "uk2549.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "185.169.235.111" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2551, "hostname": "uk2551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "77.74.192.227" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2551, "hostname": "uk2551.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "77.74.192.227" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2552, "hostname": "uk2552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.230" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2552, "hostname": "uk2552.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.63.230" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2553, "hostname": "uk2553.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.232" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2553, "hostname": "uk2553.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.63.232" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2554, "hostname": "uk2554.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.234" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2554, "hostname": "uk2554.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.63.234" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2555, "hostname": "uk2555.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.63.236" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2555, "hostname": "uk2555.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "138.199.63.236" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2556, "hostname": "uk2556.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.140.213.47" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "categories": [ "Standard VPN servers", "P2P" ], "number": 2556, "hostname": "uk2556.nordvpn.com", "wgpubkey": "K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE=", "ips": [ "195.140.213.47" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1689, "hostname": "uk1689.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1689, "hostname": "uk1689.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1690, "hostname": "uk1690.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.4" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1690, "hostname": "uk1690.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.4" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1691, "hostname": "uk1691.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.6" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1691, "hostname": "uk1691.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.6" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1692, "hostname": "uk1692.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.8" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1692, "hostname": "uk1692.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.8" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1693, "hostname": "uk1693.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.10" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1693, "hostname": "uk1693.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.10" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1694, "hostname": "uk1694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.12" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1694, "hostname": "uk1694.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1695, "hostname": "uk1695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.14" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1695, "hostname": "uk1695.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.14" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1696, "hostname": "uk1696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.16" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1696, "hostname": "uk1696.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.16" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1697, "hostname": "uk1697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.18" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1697, "hostname": "uk1697.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.18" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1698, "hostname": "uk1698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.20" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1698, "hostname": "uk1698.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.20" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1699, "hostname": "uk1699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.22" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1699, "hostname": "uk1699.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.22" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1700, "hostname": "uk1700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.24" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1700, "hostname": "uk1700.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.24" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1701, "hostname": "uk1701.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.26" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1701, "hostname": "uk1701.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.26" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1702, "hostname": "uk1702.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.28" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1702, "hostname": "uk1702.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.28" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1703, "hostname": "uk1703.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.30" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1703, "hostname": "uk1703.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.30" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1704, "hostname": "uk1704.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.32" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1704, "hostname": "uk1704.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.32" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1705, "hostname": "uk1705.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.34" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1705, "hostname": "uk1705.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.34" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1706, "hostname": "uk1706.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.36" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1706, "hostname": "uk1706.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.36" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1707, "hostname": "uk1707.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.38" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1707, "hostname": "uk1707.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.38" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1716, "hostname": "uk1716.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.40" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 1716, "hostname": "uk1716.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.40" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2384, "hostname": "uk2384.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2384, "hostname": "uk2384.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2385, "hostname": "uk2385.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.12" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2385, "hostname": "uk2385.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.12" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2386, "hostname": "uk2386.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.22" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2386, "hostname": "uk2386.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.22" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2387, "hostname": "uk2387.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.32" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2387, "hostname": "uk2387.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.32" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2388, "hostname": "uk2388.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.42" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2388, "hostname": "uk2388.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.42" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2389, "hostname": "uk2389.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.52" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2389, "hostname": "uk2389.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.52" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2390, "hostname": "uk2390.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.62" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2390, "hostname": "uk2390.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.62" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2391, "hostname": "uk2391.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.72" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2391, "hostname": "uk2391.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.72" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2392, "hostname": "uk2392.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.82" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2392, "hostname": "uk2392.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.82" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2393, "hostname": "uk2393.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.92" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2393, "hostname": "uk2393.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.92" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2394, "hostname": "uk2394.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.102" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2394, "hostname": "uk2394.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.102" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2395, "hostname": "uk2395.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.112" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2395, "hostname": "uk2395.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.112" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2396, "hostname": "uk2396.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.122" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2396, "hostname": "uk2396.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.122" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2397, "hostname": "uk2397.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.132" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2397, "hostname": "uk2397.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2398, "hostname": "uk2398.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.142" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2398, "hostname": "uk2398.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.142" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2399, "hostname": "uk2399.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.152" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2399, "hostname": "uk2399.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.152" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2400, "hostname": "uk2400.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.162" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2400, "hostname": "uk2400.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.162" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2401, "hostname": "uk2401.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.172" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2401, "hostname": "uk2401.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.172" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2402, "hostname": "uk2402.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.182" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2402, "hostname": "uk2402.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.182" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2403, "hostname": "uk2403.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.192" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2403, "hostname": "uk2403.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.192" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2404, "hostname": "uk2404.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.202" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2404, "hostname": "uk2404.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.202" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2405, "hostname": "uk2405.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.212" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2405, "hostname": "uk2405.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.212" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2406, "hostname": "uk2406.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.222" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2406, "hostname": "uk2406.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.222" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2407, "hostname": "uk2407.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.233" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2407, "hostname": "uk2407.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.233" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2408, "hostname": "uk2408.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.214.45.244" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2408, "hostname": "uk2408.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.214.45.244" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2409, "hostname": "uk2409.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2409, "hostname": "uk2409.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2410, "hostname": "uk2410.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.13" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2410, "hostname": "uk2410.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.13" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2411, "hostname": "uk2411.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.24" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2411, "hostname": "uk2411.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.24" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2412, "hostname": "uk2412.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.35" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2412, "hostname": "uk2412.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.35" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2413, "hostname": "uk2413.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.46" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2413, "hostname": "uk2413.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.46" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2414, "hostname": "uk2414.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.57" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2414, "hostname": "uk2414.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.57" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2415, "hostname": "uk2415.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.68" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2415, "hostname": "uk2415.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.68" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2416, "hostname": "uk2416.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.79" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2416, "hostname": "uk2416.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.79" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2417, "hostname": "uk2417.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.90" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2417, "hostname": "uk2417.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.90" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2418, "hostname": "uk2418.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.101" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2418, "hostname": "uk2418.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.101" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2419, "hostname": "uk2419.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.112" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2419, "hostname": "uk2419.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.112" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2420, "hostname": "uk2420.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.123" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2420, "hostname": "uk2420.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.123" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2421, "hostname": "uk2421.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.134" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2421, "hostname": "uk2421.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.134" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2422, "hostname": "uk2422.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.145" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2422, "hostname": "uk2422.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.145" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2423, "hostname": "uk2423.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.156" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2423, "hostname": "uk2423.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.156" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2424, "hostname": "uk2424.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.167" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2424, "hostname": "uk2424.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.167" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2425, "hostname": "uk2425.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.178" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2425, "hostname": "uk2425.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.178" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2426, "hostname": "uk2426.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.189" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2426, "hostname": "uk2426.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.189" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2427, "hostname": "uk2427.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.200" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2427, "hostname": "uk2427.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.200" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2428, "hostname": "uk2428.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.211" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2428, "hostname": "uk2428.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.211" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2429, "hostname": "uk2429.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.222" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2429, "hostname": "uk2429.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.222" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2430, "hostname": "uk2430.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.233" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2430, "hostname": "uk2430.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.233" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2431, "hostname": "uk2431.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.219.20.244" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2431, "hostname": "uk2431.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "103.219.20.244" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2507, "hostname": "uk2507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.130" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2507, "hostname": "uk2507.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.130" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2508, "hostname": "uk2508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.132" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2508, "hostname": "uk2508.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.132" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2509, "hostname": "uk2509.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.134" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2509, "hostname": "uk2509.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.134" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2510, "hostname": "uk2510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.136" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2510, "hostname": "uk2510.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.136" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2511, "hostname": "uk2511.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.138" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2511, "hostname": "uk2511.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.138" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2512, "hostname": "uk2512.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.207.140" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "categories": [ "Standard VPN servers", "P2P" ], "number": 2512, "hostname": "uk2512.nordvpn.com", "wgpubkey": "iX4TVS9HY+WrlTvSKaUqWmoxG6s6cwnmcEtblHf46BU=", "ips": [ "152.89.207.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "Europe", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10562, "hostname": "us10562.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "Europe", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10563, "hostname": "us10563.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5109, "hostname": "us5109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.0.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5109, "hostname": "us5109.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.93.0.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5110, "hostname": "us5110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.0.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5110, "hostname": "us5110.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.93.0.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5111, "hostname": "us5111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.0.103" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5111, "hostname": "us5111.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.93.0.103" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5112, "hostname": "us5112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5112, "hostname": "us5112.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5113, "hostname": "us5113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 5113, "hostname": "us5113.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6694, "hostname": "us6694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6694, "hostname": "us6694.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6695, "hostname": "us6695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.96" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6695, "hostname": "us6695.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.96" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6696, "hostname": "us6696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6696, "hostname": "us6696.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6697, "hostname": "us6697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.86" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6697, "hostname": "us6697.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6698, "hostname": "us6698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.81" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6698, "hostname": "us6698.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.81" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6699, "hostname": "us6699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "P2P", "Standard VPN servers" ], "number": 6699, "hostname": "us6699.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8028, "hostname": "us8028.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8028, "hostname": "us8028.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8029, "hostname": "us8029.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8029, "hostname": "us8029.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8030, "hostname": "us8030.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.9" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8030, "hostname": "us8030.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.9" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8031, "hostname": "us8031.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8031, "hostname": "us8031.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8032, "hostname": "us8032.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.15" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8032, "hostname": "us8032.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.15" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8033, "hostname": "us8033.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8033, "hostname": "us8033.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8034, "hostname": "us8034.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.21" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8034, "hostname": "us8034.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8035, "hostname": "us8035.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.24" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8035, "hostname": "us8035.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.24" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8036, "hostname": "us8036.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8036, "hostname": "us8036.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8037, "hostname": "us8037.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.30" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8037, "hostname": "us8037.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8038, "hostname": "us8038.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.33" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8038, "hostname": "us8038.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.33" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8039, "hostname": "us8039.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8039, "hostname": "us8039.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8040, "hostname": "us8040.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.39" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8040, "hostname": "us8040.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.39" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8041, "hostname": "us8041.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8041, "hostname": "us8041.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8042, "hostname": "us8042.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.45" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8042, "hostname": "us8042.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.45" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8043, "hostname": "us8043.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.48" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8043, "hostname": "us8043.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.48" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8044, "hostname": "us8044.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8044, "hostname": "us8044.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8045, "hostname": "us8045.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8045, "hostname": "us8045.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8046, "hostname": "us8046.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.57" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8046, "hostname": "us8046.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.57" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8047, "hostname": "us8047.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.60" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8047, "hostname": "us8047.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.60" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8048, "hostname": "us8048.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.63" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8048, "hostname": "us8048.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.63" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8049, "hostname": "us8049.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8049, "hostname": "us8049.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8050, "hostname": "us8050.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.69" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8050, "hostname": "us8050.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.69" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8051, "hostname": "us8051.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.72" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8051, "hostname": "us8051.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8052, "hostname": "us8052.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8052, "hostname": "us8052.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8053, "hostname": "us8053.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.78" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8053, "hostname": "us8053.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.78" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8054, "hostname": "us8054.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.81" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8054, "hostname": "us8054.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.81" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8055, "hostname": "us8055.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8055, "hostname": "us8055.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8056, "hostname": "us8056.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.87" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8056, "hostname": "us8056.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.87" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8057, "hostname": "us8057.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.90" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8057, "hostname": "us8057.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8192, "hostname": "us8192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.0.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8192, "hostname": "us8192.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.93.0.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8193, "hostname": "us8193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.0.119" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8193, "hostname": "us8193.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.93.0.119" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8194, "hostname": "us8194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.93.0.113" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8194, "hostname": "us8194.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.93.0.113" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8195, "hostname": "us8195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.93" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8195, "hostname": "us8195.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.93" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8196, "hostname": "us8196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.96" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8196, "hostname": "us8196.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.96" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8197, "hostname": "us8197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8197, "hostname": "us8197.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8198, "hostname": "us8198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8198, "hostname": "us8198.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8199, "hostname": "us8199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.105" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8199, "hostname": "us8199.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8200, "hostname": "us8200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8200, "hostname": "us8200.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8201, "hostname": "us8201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.111" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8201, "hostname": "us8201.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.111" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8202, "hostname": "us8202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8202, "hostname": "us8202.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8203, "hostname": "us8203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.117" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8203, "hostname": "us8203.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8204, "hostname": "us8204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8204, "hostname": "us8204.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8205, "hostname": "us8205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8205, "hostname": "us8205.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8206, "hostname": "us8206.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8206, "hostname": "us8206.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8207, "hostname": "us8207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8207, "hostname": "us8207.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8208, "hostname": "us8208.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8208, "hostname": "us8208.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8209, "hostname": "us8209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.135" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8209, "hostname": "us8209.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8210, "hostname": "us8210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8210, "hostname": "us8210.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8211, "hostname": "us8211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.141" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8211, "hostname": "us8211.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8212, "hostname": "us8212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8212, "hostname": "us8212.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8213, "hostname": "us8213.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8213, "hostname": "us8213.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8214, "hostname": "us8214.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8214, "hostname": "us8214.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8215, "hostname": "us8215.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.153" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8215, "hostname": "us8215.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.153" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8216, "hostname": "us8216.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8216, "hostname": "us8216.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8217, "hostname": "us8217.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.159" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8217, "hostname": "us8217.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.159" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8218, "hostname": "us8218.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8218, "hostname": "us8218.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8219, "hostname": "us8219.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.165" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8219, "hostname": "us8219.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.165" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8220, "hostname": "us8220.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.168" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8220, "hostname": "us8220.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.168" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8221, "hostname": "us8221.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8221, "hostname": "us8221.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8222, "hostname": "us8222.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.174" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8222, "hostname": "us8222.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.174" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8223, "hostname": "us8223.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.177" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8223, "hostname": "us8223.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.177" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8224, "hostname": "us8224.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8224, "hostname": "us8224.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8225, "hostname": "us8225.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.183" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8225, "hostname": "us8225.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.183" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8226, "hostname": "us8226.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.17.186" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 8226, "hostname": "us8226.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.17.186" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9365, "hostname": "us9365.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.98.63" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9365, "hostname": "us9365.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "194.233.98.63" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9366, "hostname": "us9366.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.98.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9366, "hostname": "us9366.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "194.233.98.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9367, "hostname": "us9367.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.98.105" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9367, "hostname": "us9367.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "194.233.98.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9368, "hostname": "us9368.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.98.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9368, "hostname": "us9368.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "194.233.98.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9369, "hostname": "us9369.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.233.98.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9369, "hostname": "us9369.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "194.233.98.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9565, "hostname": "us9565.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9565, "hostname": "us9565.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9566, "hostname": "us9566.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9566, "hostname": "us9566.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9567, "hostname": "us9567.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9567, "hostname": "us9567.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9568, "hostname": "us9568.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9568, "hostname": "us9568.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9569, "hostname": "us9569.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9569, "hostname": "us9569.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9570, "hostname": "us9570.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9570, "hostname": "us9570.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9571, "hostname": "us9571.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9571, "hostname": "us9571.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9572, "hostname": "us9572.nordvpn.com", "tcp": true, "udp": true, "ips": [ "92.119.19.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9572, "hostname": "us9572.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "92.119.19.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9845, "hostname": "us9845.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9845, "hostname": "us9845.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9846, "hostname": "us9846.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9846, "hostname": "us9846.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9847, "hostname": "us9847.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.133" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9847, "hostname": "us9847.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9848, "hostname": "us9848.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.135" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9848, "hostname": "us9848.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9849, "hostname": "us9849.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.137" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9849, "hostname": "us9849.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9850, "hostname": "us9850.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9850, "hostname": "us9850.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9851, "hostname": "us9851.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.141" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9851, "hostname": "us9851.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9852, "hostname": "us9852.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.143" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9852, "hostname": "us9852.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.143" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9853, "hostname": "us9853.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.145" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9853, "hostname": "us9853.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9854, "hostname": "us9854.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9854, "hostname": "us9854.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9855, "hostname": "us9855.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.149" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9855, "hostname": "us9855.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.149" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9856, "hostname": "us9856.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.151" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9856, "hostname": "us9856.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.151" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9857, "hostname": "us9857.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.153" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9857, "hostname": "us9857.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.153" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9858, "hostname": "us9858.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9858, "hostname": "us9858.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9859, "hostname": "us9859.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.47.157" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 9859, "hostname": "us9859.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "156.146.47.157" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10014, "hostname": "us10014.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.215.181.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10014, "hostname": "us10014.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.215.181.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10015, "hostname": "us10015.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.215.181.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10015, "hostname": "us10015.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.215.181.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10016, "hostname": "us10016.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.215.181.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10016, "hostname": "us10016.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.215.181.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10017, "hostname": "us10017.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.215.181.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10017, "hostname": "us10017.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.215.181.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10018, "hostname": "us10018.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.215.181.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10018, "hostname": "us10018.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.215.181.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10019, "hostname": "us10019.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.215.181.77" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10019, "hostname": "us10019.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "185.215.181.77" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10409, "hostname": "us10409.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.171.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10409, "hostname": "us10409.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "89.187.171.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10506, "hostname": "us10506.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.5.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10506, "hostname": "us10506.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "155.133.5.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10507, "hostname": "us10507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.5.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10507, "hostname": "us10507.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "155.133.5.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10508, "hostname": "us10508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.5.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10508, "hostname": "us10508.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "155.133.5.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10509, "hostname": "us10509.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.5.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10509, "hostname": "us10509.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "155.133.5.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10510, "hostname": "us10510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "155.133.5.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "categories": [ "Standard VPN servers", "P2P" ], "number": 10510, "hostname": "us10510.nordvpn.com", "wgpubkey": "Ew0CPosTB0dTZRKx9XyAblENRsyey7gPhNmp64sceVo=", "ips": [ "155.133.5.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2920, "hostname": "us2920.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.246.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2921, "hostname": "us2921.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.246.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2924, "hostname": "us2924.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.247.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2925, "hostname": "us2925.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.247.188" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2929, "hostname": "us2929.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.59.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2930, "hostname": "us2930.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.147.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2939, "hostname": "us2939.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.237.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2940, "hostname": "us2940.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.237.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2949, "hostname": "us2949.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.32.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 2950, "hostname": "us2950.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.32.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4959, "hostname": "us4959.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.246.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4960, "hostname": "us4960.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.246.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4965, "hostname": "us4965.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.146.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4966, "hostname": "us4966.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.146.172" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4971, "hostname": "us4971.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.146.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4972, "hostname": "us4972.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.146.188" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4973, "hostname": "us4973.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4974, "hostname": "us4974.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.188" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4977, "hostname": "us4977.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.230.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4978, "hostname": "us4978.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.230.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4979, "hostname": "us4979.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.59.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4984, "hostname": "us4984.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.146.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4985, "hostname": "us4985.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.146.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4992, "hostname": "us4992.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.246.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4993, "hostname": "us4993.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.246.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4994, "hostname": "us4994.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.245.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 4995, "hostname": "us4995.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.245.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6255, "hostname": "us6255.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.42.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6255, "hostname": "us6255.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "64.44.42.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6257, "hostname": "us6257.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.230.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6257, "hostname": "us6257.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "172.93.230.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6262, "hostname": "us6262.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.40.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6262, "hostname": "us6262.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.40.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6263, "hostname": "us6263.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.40.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6263, "hostname": "us6263.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.40.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6264, "hostname": "us6264.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.105.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6264, "hostname": "us6264.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.105.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6265, "hostname": "us6265.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.40.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6265, "hostname": "us6265.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.40.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6266, "hostname": "us6266.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.105.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6266, "hostname": "us6266.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.105.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6267, "hostname": "us6267.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.105.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6267, "hostname": "us6267.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.105.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6268, "hostname": "us6268.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.105.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6268, "hostname": "us6268.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.105.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6269, "hostname": "us6269.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.104.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6269, "hostname": "us6269.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.104.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6270, "hostname": "us6270.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.105.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6270, "hostname": "us6270.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.105.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6271, "hostname": "us6271.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.105.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6271, "hostname": "us6271.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.105.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6272, "hostname": "us6272.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.105.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6272, "hostname": "us6272.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.105.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6273, "hostname": "us6273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.104.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6273, "hostname": "us6273.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.104.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6274, "hostname": "us6274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.104.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6274, "hostname": "us6274.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.104.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6275, "hostname": "us6275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.104.227" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6275, "hostname": "us6275.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.104.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6276, "hostname": "us6276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.104.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6276, "hostname": "us6276.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.104.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6277, "hostname": "us6277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.175.104.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6277, "hostname": "us6277.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.175.104.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6278, "hostname": "us6278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6278, "hostname": "us6278.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6279, "hostname": "us6279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6279, "hostname": "us6279.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6280, "hostname": "us6280.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6280, "hostname": "us6280.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6281, "hostname": "us6281.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6281, "hostname": "us6281.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6282, "hostname": "us6282.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6282, "hostname": "us6282.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6283, "hostname": "us6283.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6283, "hostname": "us6283.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6284, "hostname": "us6284.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6284, "hostname": "us6284.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6285, "hostname": "us6285.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6285, "hostname": "us6285.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6286, "hostname": "us6286.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6286, "hostname": "us6286.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6288, "hostname": "us6288.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.73.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6288, "hostname": "us6288.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.73.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6289, "hostname": "us6289.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.73.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6289, "hostname": "us6289.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.73.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6290, "hostname": "us6290.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.174.17.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6290, "hostname": "us6290.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.174.17.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6291, "hostname": "us6291.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6291, "hostname": "us6291.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6292, "hostname": "us6292.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6292, "hostname": "us6292.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6293, "hostname": "us6293.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.227" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6293, "hostname": "us6293.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6294, "hostname": "us6294.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6294, "hostname": "us6294.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6295, "hostname": "us6295.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6295, "hostname": "us6295.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6296, "hostname": "us6296.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.73.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6296, "hostname": "us6296.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.73.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6298, "hostname": "us6298.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6298, "hostname": "us6298.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6299, "hostname": "us6299.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.59.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6299, "hostname": "us6299.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.59.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6300, "hostname": "us6300.nordvpn.com", "tcp": true, "udp": true, "ips": [ "107.173.69.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 6300, "hostname": "us6300.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "107.173.69.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9012, "hostname": "us9012.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9012, "hostname": "us9012.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9013, "hostname": "us9013.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9013, "hostname": "us9013.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9014, "hostname": "us9014.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9014, "hostname": "us9014.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9015, "hostname": "us9015.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9015, "hostname": "us9015.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9016, "hostname": "us9016.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9016, "hostname": "us9016.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9017, "hostname": "us9017.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9017, "hostname": "us9017.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9018, "hostname": "us9018.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9018, "hostname": "us9018.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9019, "hostname": "us9019.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9019, "hostname": "us9019.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9020, "hostname": "us9020.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9020, "hostname": "us9020.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9021, "hostname": "us9021.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9021, "hostname": "us9021.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9022, "hostname": "us9022.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9022, "hostname": "us9022.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9023, "hostname": "us9023.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9023, "hostname": "us9023.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9024, "hostname": "us9024.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9024, "hostname": "us9024.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9025, "hostname": "us9025.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9025, "hostname": "us9025.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9026, "hostname": "us9026.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9026, "hostname": "us9026.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9027, "hostname": "us9027.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9027, "hostname": "us9027.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9028, "hostname": "us9028.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9028, "hostname": "us9028.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9029, "hostname": "us9029.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9029, "hostname": "us9029.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9030, "hostname": "us9030.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9030, "hostname": "us9030.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9031, "hostname": "us9031.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9031, "hostname": "us9031.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9032, "hostname": "us9032.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9032, "hostname": "us9032.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9033, "hostname": "us9033.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9033, "hostname": "us9033.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9034, "hostname": "us9034.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9034, "hostname": "us9034.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9035, "hostname": "us9035.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9035, "hostname": "us9035.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9036, "hostname": "us9036.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9036, "hostname": "us9036.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9037, "hostname": "us9037.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9037, "hostname": "us9037.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9038, "hostname": "us9038.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9038, "hostname": "us9038.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9039, "hostname": "us9039.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9039, "hostname": "us9039.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9040, "hostname": "us9040.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9040, "hostname": "us9040.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9041, "hostname": "us9041.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9041, "hostname": "us9041.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9042, "hostname": "us9042.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9042, "hostname": "us9042.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9043, "hostname": "us9043.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.14.195.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Standard VPN servers", "P2P" ], "number": 9043, "hostname": "us9043.nordvpn.com", "wgpubkey": "dzMgdcXyF4Q95ayR8TEBYAL5Op+RuFEB/WGq2usxkFA=", "ips": [ "45.14.195.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10106, "hostname": "us10106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.32.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10107, "hostname": "us10107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.251.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10108, "hostname": "us10108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.153.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10109, "hostname": "us10109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.251.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10159, "hostname": "us10159.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.32.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10160, "hostname": "us10160.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.251.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10161, "hostname": "us10161.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.147.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10162, "hostname": "us10162.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.251.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10163, "hostname": "us10163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.32.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "categories": [ "Dedicated IP" ], "number": 10164, "hostname": "us10164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "96.9.251.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8474, "hostname": "us8474.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8474, "hostname": "us8474.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8475, "hostname": "us8475.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8475, "hostname": "us8475.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8476, "hostname": "us8476.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8476, "hostname": "us8476.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8477, "hostname": "us8477.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8477, "hostname": "us8477.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8478, "hostname": "us8478.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8478, "hostname": "us8478.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8479, "hostname": "us8479.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8479, "hostname": "us8479.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8480, "hostname": "us8480.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8480, "hostname": "us8480.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8481, "hostname": "us8481.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8481, "hostname": "us8481.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8482, "hostname": "us8482.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8482, "hostname": "us8482.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8483, "hostname": "us8483.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8483, "hostname": "us8483.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8484, "hostname": "us8484.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8484, "hostname": "us8484.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8485, "hostname": "us8485.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8485, "hostname": "us8485.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8486, "hostname": "us8486.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8486, "hostname": "us8486.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8487, "hostname": "us8487.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8487, "hostname": "us8487.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8488, "hostname": "us8488.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8488, "hostname": "us8488.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8489, "hostname": "us8489.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8489, "hostname": "us8489.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8490, "hostname": "us8490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8490, "hostname": "us8490.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8491, "hostname": "us8491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8491, "hostname": "us8491.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8492, "hostname": "us8492.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8492, "hostname": "us8492.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8493, "hostname": "us8493.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8493, "hostname": "us8493.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8494, "hostname": "us8494.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8494, "hostname": "us8494.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8495, "hostname": "us8495.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8495, "hostname": "us8495.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8496, "hostname": "us8496.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8496, "hostname": "us8496.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8497, "hostname": "us8497.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.117.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 8497, "hostname": "us8497.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "192.145.117.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10021, "hostname": "us10021.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10021, "hostname": "us10021.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10022, "hostname": "us10022.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10022, "hostname": "us10022.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10023, "hostname": "us10023.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10023, "hostname": "us10023.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10024, "hostname": "us10024.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10024, "hostname": "us10024.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10025, "hostname": "us10025.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10025, "hostname": "us10025.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10026, "hostname": "us10026.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10026, "hostname": "us10026.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10027, "hostname": "us10027.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10027, "hostname": "us10027.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10028, "hostname": "us10028.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10028, "hostname": "us10028.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10029, "hostname": "us10029.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10029, "hostname": "us10029.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10030, "hostname": "us10030.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10030, "hostname": "us10030.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10502, "hostname": "us10502.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10502, "hostname": "us10502.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10503, "hostname": "us10503.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10503, "hostname": "us10503.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10504, "hostname": "us10504.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10504, "hostname": "us10504.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10505, "hostname": "us10505.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.182.32.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "categories": [ "Standard VPN servers", "P2P" ], "number": 10505, "hostname": "us10505.nordvpn.com", "wgpubkey": "xZSvRIZAae4khlgXjkeLVVtXTj2N1V2sORI/T4nKkDU=", "ips": [ "5.182.32.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6301, "hostname": "us6301.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6301, "hostname": "us6301.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6302, "hostname": "us6302.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6302, "hostname": "us6302.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6303, "hostname": "us6303.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6303, "hostname": "us6303.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6304, "hostname": "us6304.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6304, "hostname": "us6304.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6305, "hostname": "us6305.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6305, "hostname": "us6305.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6306, "hostname": "us6306.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.227" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6306, "hostname": "us6306.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6307, "hostname": "us6307.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6307, "hostname": "us6307.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6308, "hostname": "us6308.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6308, "hostname": "us6308.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6309, "hostname": "us6309.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6309, "hostname": "us6309.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6310, "hostname": "us6310.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6310, "hostname": "us6310.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6311, "hostname": "us6311.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6311, "hostname": "us6311.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6312, "hostname": "us6312.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6312, "hostname": "us6312.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6313, "hostname": "us6313.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6313, "hostname": "us6313.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6314, "hostname": "us6314.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6314, "hostname": "us6314.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6315, "hostname": "us6315.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6315, "hostname": "us6315.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6316, "hostname": "us6316.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6316, "hostname": "us6316.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6317, "hostname": "us6317.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6317, "hostname": "us6317.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6318, "hostname": "us6318.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6318, "hostname": "us6318.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6319, "hostname": "us6319.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6319, "hostname": "us6319.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6320, "hostname": "us6320.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6320, "hostname": "us6320.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6321, "hostname": "us6321.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6321, "hostname": "us6321.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6322, "hostname": "us6322.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6322, "hostname": "us6322.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6323, "hostname": "us6323.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6323, "hostname": "us6323.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6324, "hostname": "us6324.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6324, "hostname": "us6324.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6533, "hostname": "us6533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6533, "hostname": "us6533.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6534, "hostname": "us6534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6534, "hostname": "us6534.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6535, "hostname": "us6535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6535, "hostname": "us6535.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6536, "hostname": "us6536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6536, "hostname": "us6536.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6537, "hostname": "us6537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6537, "hostname": "us6537.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6538, "hostname": "us6538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6538, "hostname": "us6538.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6539, "hostname": "us6539.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6539, "hostname": "us6539.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6540, "hostname": "us6540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "172.93.177.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6540, "hostname": "us6540.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "172.93.177.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6572, "hostname": "us6572.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.182" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6572, "hostname": "us6572.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.182" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6573, "hostname": "us6573.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.177" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6573, "hostname": "us6573.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.177" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6574, "hostname": "us6574.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.172" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6574, "hostname": "us6574.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.172" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6575, "hostname": "us6575.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.167" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6575, "hostname": "us6575.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.167" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6576, "hostname": "us6576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6576, "hostname": "us6576.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6709, "hostname": "us6709.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.151" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6709, "hostname": "us6709.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.151" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6710, "hostname": "us6710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6710, "hostname": "us6710.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6721, "hostname": "us6721.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6721, "hostname": "us6721.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6722, "hostname": "us6722.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6722, "hostname": "us6722.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6723, "hostname": "us6723.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6723, "hostname": "us6723.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6860, "hostname": "us6860.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6860, "hostname": "us6860.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6861, "hostname": "us6861.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6861, "hostname": "us6861.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6862, "hostname": "us6862.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6862, "hostname": "us6862.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6863, "hostname": "us6863.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6863, "hostname": "us6863.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6864, "hostname": "us6864.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6864, "hostname": "us6864.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6865, "hostname": "us6865.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6865, "hostname": "us6865.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6866, "hostname": "us6866.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6866, "hostname": "us6866.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6867, "hostname": "us6867.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.140.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6867, "hostname": "us6867.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "64.44.140.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6880, "hostname": "us6880.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.81" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6880, "hostname": "us6880.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.81" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6881, "hostname": "us6881.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.86" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6881, "hostname": "us6881.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6882, "hostname": "us6882.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6882, "hostname": "us6882.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6883, "hostname": "us6883.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.96" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "P2P", "Standard VPN servers" ], "number": 6883, "hostname": "us6883.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.96" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6945, "hostname": "us6945.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 6945, "hostname": "us6945.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8382, "hostname": "us8382.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.182.121" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8382, "hostname": "us8382.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.182.121" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8383, "hostname": "us8383.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.186" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8383, "hostname": "us8383.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.186" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8384, "hostname": "us8384.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.226" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8384, "hostname": "us8384.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8385, "hostname": "us8385.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.135" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8385, "hostname": "us8385.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8386, "hostname": "us8386.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.183.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8386, "hostname": "us8386.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "89.187.183.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8387, "hostname": "us8387.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.229" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8387, "hostname": "us8387.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.229" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8388, "hostname": "us8388.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.232" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8388, "hostname": "us8388.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.232" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8389, "hostname": "us8389.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8389, "hostname": "us8389.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8390, "hostname": "us8390.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.238" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8390, "hostname": "us8390.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.238" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8391, "hostname": "us8391.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.241" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8391, "hostname": "us8391.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8780, "hostname": "us8780.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.65" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8780, "hostname": "us8780.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.65" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8781, "hostname": "us8781.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8781, "hostname": "us8781.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8782, "hostname": "us8782.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.249" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8782, "hostname": "us8782.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.249" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8783, "hostname": "us8783.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.70" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8783, "hostname": "us8783.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.70" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8784, "hostname": "us8784.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8784, "hostname": "us8784.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8785, "hostname": "us8785.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.73" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8785, "hostname": "us8785.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.73" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8792, "hostname": "us8792.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.42.226" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8792, "hostname": "us8792.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "138.199.42.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8793, "hostname": "us8793.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.42.231" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8793, "hostname": "us8793.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "138.199.42.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8794, "hostname": "us8794.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.42.236" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8794, "hostname": "us8794.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "138.199.42.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8795, "hostname": "us8795.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.42.241" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8795, "hostname": "us8795.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "138.199.42.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8796, "hostname": "us8796.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.42.246" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8796, "hostname": "us8796.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "138.199.42.246" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8797, "hostname": "us8797.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.42.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8797, "hostname": "us8797.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "138.199.42.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8798, "hostname": "us8798.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.61.80" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 8798, "hostname": "us8798.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "143.244.61.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9295, "hostname": "us9295.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9295, "hostname": "us9295.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9296, "hostname": "us9296.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9296, "hostname": "us9296.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9297, "hostname": "us9297.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9297, "hostname": "us9297.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9298, "hostname": "us9298.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9298, "hostname": "us9298.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9299, "hostname": "us9299.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9299, "hostname": "us9299.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9300, "hostname": "us9300.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9300, "hostname": "us9300.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9301, "hostname": "us9301.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9301, "hostname": "us9301.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9302, "hostname": "us9302.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9302, "hostname": "us9302.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9303, "hostname": "us9303.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9303, "hostname": "us9303.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9304, "hostname": "us9304.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9304, "hostname": "us9304.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9305, "hostname": "us9305.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9305, "hostname": "us9305.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9306, "hostname": "us9306.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9306, "hostname": "us9306.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9307, "hostname": "us9307.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9307, "hostname": "us9307.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9308, "hostname": "us9308.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9308, "hostname": "us9308.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9309, "hostname": "us9309.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9309, "hostname": "us9309.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9310, "hostname": "us9310.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9310, "hostname": "us9310.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9311, "hostname": "us9311.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9311, "hostname": "us9311.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9312, "hostname": "us9312.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9312, "hostname": "us9312.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9313, "hostname": "us9313.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9313, "hostname": "us9313.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9314, "hostname": "us9314.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9314, "hostname": "us9314.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9315, "hostname": "us9315.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9315, "hostname": "us9315.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9316, "hostname": "us9316.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9316, "hostname": "us9316.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9317, "hostname": "us9317.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9317, "hostname": "us9317.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9318, "hostname": "us9318.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9318, "hostname": "us9318.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9319, "hostname": "us9319.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9319, "hostname": "us9319.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9320, "hostname": "us9320.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9320, "hostname": "us9320.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9321, "hostname": "us9321.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9321, "hostname": "us9321.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9322, "hostname": "us9322.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9322, "hostname": "us9322.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9323, "hostname": "us9323.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9323, "hostname": "us9323.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9324, "hostname": "us9324.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9324, "hostname": "us9324.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9325, "hostname": "us9325.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9325, "hostname": "us9325.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9326, "hostname": "us9326.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.219.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9326, "hostname": "us9326.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "185.203.219.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9718, "hostname": "us9718.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9718, "hostname": "us9718.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9719, "hostname": "us9719.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9719, "hostname": "us9719.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9720, "hostname": "us9720.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9720, "hostname": "us9720.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9721, "hostname": "us9721.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9721, "hostname": "us9721.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9722, "hostname": "us9722.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9722, "hostname": "us9722.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9723, "hostname": "us9723.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9723, "hostname": "us9723.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9724, "hostname": "us9724.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9724, "hostname": "us9724.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9725, "hostname": "us9725.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9725, "hostname": "us9725.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9726, "hostname": "us9726.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9726, "hostname": "us9726.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9727, "hostname": "us9727.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9727, "hostname": "us9727.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9728, "hostname": "us9728.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9728, "hostname": "us9728.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9729, "hostname": "us9729.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9729, "hostname": "us9729.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9730, "hostname": "us9730.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9730, "hostname": "us9730.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9731, "hostname": "us9731.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9731, "hostname": "us9731.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9732, "hostname": "us9732.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9732, "hostname": "us9732.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9733, "hostname": "us9733.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.172.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9733, "hostname": "us9733.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.172.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9734, "hostname": "us9734.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9734, "hostname": "us9734.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9735, "hostname": "us9735.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9735, "hostname": "us9735.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9736, "hostname": "us9736.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9736, "hostname": "us9736.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9737, "hostname": "us9737.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9737, "hostname": "us9737.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9833, "hostname": "us9833.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9833, "hostname": "us9833.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9834, "hostname": "us9834.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9834, "hostname": "us9834.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9835, "hostname": "us9835.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9835, "hostname": "us9835.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9836, "hostname": "us9836.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9836, "hostname": "us9836.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9837, "hostname": "us9837.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9837, "hostname": "us9837.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9838, "hostname": "us9838.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9838, "hostname": "us9838.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9839, "hostname": "us9839.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9839, "hostname": "us9839.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9840, "hostname": "us9840.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9840, "hostname": "us9840.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9841, "hostname": "us9841.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9841, "hostname": "us9841.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9842, "hostname": "us9842.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9842, "hostname": "us9842.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9843, "hostname": "us9843.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9843, "hostname": "us9843.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9844, "hostname": "us9844.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.195.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9844, "hostname": "us9844.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "181.215.195.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9885, "hostname": "us9885.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9885, "hostname": "us9885.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9886, "hostname": "us9886.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9886, "hostname": "us9886.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9887, "hostname": "us9887.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9887, "hostname": "us9887.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9888, "hostname": "us9888.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9888, "hostname": "us9888.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9889, "hostname": "us9889.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9889, "hostname": "us9889.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9890, "hostname": "us9890.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9890, "hostname": "us9890.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9891, "hostname": "us9891.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9891, "hostname": "us9891.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9892, "hostname": "us9892.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9892, "hostname": "us9892.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9893, "hostname": "us9893.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9893, "hostname": "us9893.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9894, "hostname": "us9894.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9894, "hostname": "us9894.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9895, "hostname": "us9895.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9895, "hostname": "us9895.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9896, "hostname": "us9896.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9896, "hostname": "us9896.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9897, "hostname": "us9897.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.166" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Standard VPN servers", "P2P" ], "number": 9897, "hostname": "us9897.nordvpn.com", "wgpubkey": "VHEKsP+aWtvlhaR1AN8mo1TNOSNJ8knV3kS1vQjN8Rk=", "ips": [ "169.150.232.166" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10291, "hostname": "us10291.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.95" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10292, "hostname": "us10292.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.97" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10293, "hostname": "us10293.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10294, "hostname": "us10294.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10303, "hostname": "us10303.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10304, "hostname": "us10304.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10305, "hostname": "us10305.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10306, "hostname": "us10306.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10367, "hostname": "us10367.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10368, "hostname": "us10368.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10375, "hostname": "us10375.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10376, "hostname": "us10376.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10377, "hostname": "us10377.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10378, "hostname": "us10378.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.233" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10403, "hostname": "us10403.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10404, "hostname": "us10404.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.238" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10460, "hostname": "us10460.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.246" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10461, "hostname": "us10461.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.248" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10464, "hostname": "us10464.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10465, "hostname": "us10465.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10488, "hostname": "us10488.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10489, "hostname": "us10489.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10496, "hostname": "us10496.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10497, "hostname": "us10497.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.73" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10515, "hostname": "us10515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10516, "hostname": "us10516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.149" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10522, "hostname": "us10522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10524, "hostname": "us10524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.165" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10525, "hostname": "us10525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.168" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10526, "hostname": "us10526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10527, "hostname": "us10527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.240.228" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10574, "hostname": "us10574.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10575, "hostname": "us10575.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.173" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10576, "hostname": "us10576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.176" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "categories": [ "Dedicated IP" ], "number": 10577, "hostname": "us10577.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.232.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 2943, "hostname": "us2943.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.97" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 2944, "hostname": "us2944.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4953, "hostname": "us4953.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4954, "hostname": "us4954.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4961, "hostname": "us4961.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.57" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4962, "hostname": "us4962.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4967, "hostname": "us4967.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4968, "hostname": "us4968.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.55" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4980, "hostname": "us4980.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.57" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4981, "hostname": "us4981.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4986, "hostname": "us4986.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4987, "hostname": "us4987.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4996, "hostname": "us4996.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4997, "hostname": "us4997.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4998, "hostname": "us4998.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.49" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 4999, "hostname": "us4999.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5055, "hostname": "us5055.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5055, "hostname": "us5055.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5482, "hostname": "us5482.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5482, "hostname": "us5482.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "212.102.40.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5483, "hostname": "us5483.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.45" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5483, "hostname": "us5483.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "212.102.40.45" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5484, "hostname": "us5484.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.40" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5484, "hostname": "us5484.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "212.102.40.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5485, "hostname": "us5485.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.40.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 5485, "hostname": "us5485.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "212.102.40.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6587, "hostname": "us6587.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6587, "hostname": "us6587.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6588, "hostname": "us6588.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6588, "hostname": "us6588.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6589, "hostname": "us6589.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6589, "hostname": "us6589.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6590, "hostname": "us6590.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6590, "hostname": "us6590.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6591, "hostname": "us6591.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6591, "hostname": "us6591.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6592, "hostname": "us6592.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.22" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6592, "hostname": "us6592.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6593, "hostname": "us6593.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 6593, "hostname": "us6593.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "P2P", "Standard VPN servers" ], "number": 6724, "hostname": "us6724.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "P2P", "Standard VPN servers" ], "number": 6724, "hostname": "us6724.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "P2P", "Standard VPN servers" ], "number": 6725, "hostname": "us6725.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.175.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "P2P", "Standard VPN servers" ], "number": 6725, "hostname": "us6725.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "89.187.175.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8095, "hostname": "us8095.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8095, "hostname": "us8095.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8096, "hostname": "us8096.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8096, "hostname": "us8096.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8097, "hostname": "us8097.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8097, "hostname": "us8097.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8098, "hostname": "us8098.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8098, "hostname": "us8098.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8099, "hostname": "us8099.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8099, "hostname": "us8099.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8100, "hostname": "us8100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8100, "hostname": "us8100.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8101, "hostname": "us8101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8101, "hostname": "us8101.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8102, "hostname": "us8102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8102, "hostname": "us8102.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8103, "hostname": "us8103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8103, "hostname": "us8103.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8104, "hostname": "us8104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8104, "hostname": "us8104.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8105, "hostname": "us8105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8105, "hostname": "us8105.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8106, "hostname": "us8106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8106, "hostname": "us8106.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8107, "hostname": "us8107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8107, "hostname": "us8107.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8108, "hostname": "us8108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8108, "hostname": "us8108.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8109, "hostname": "us8109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8109, "hostname": "us8109.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8110, "hostname": "us8110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8110, "hostname": "us8110.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8111, "hostname": "us8111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8111, "hostname": "us8111.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8112, "hostname": "us8112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8112, "hostname": "us8112.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8113, "hostname": "us8113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8113, "hostname": "us8113.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8114, "hostname": "us8114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8114, "hostname": "us8114.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8115, "hostname": "us8115.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8115, "hostname": "us8115.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8116, "hostname": "us8116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8116, "hostname": "us8116.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8117, "hostname": "us8117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8117, "hostname": "us8117.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8118, "hostname": "us8118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8118, "hostname": "us8118.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8119, "hostname": "us8119.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8119, "hostname": "us8119.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8120, "hostname": "us8120.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8120, "hostname": "us8120.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8121, "hostname": "us8121.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8121, "hostname": "us8121.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8122, "hostname": "us8122.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8122, "hostname": "us8122.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8123, "hostname": "us8123.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.227" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8123, "hostname": "us8123.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8124, "hostname": "us8124.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8124, "hostname": "us8124.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8125, "hostname": "us8125.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8125, "hostname": "us8125.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8126, "hostname": "us8126.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.247.70.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8126, "hostname": "us8126.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.247.70.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8127, "hostname": "us8127.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8127, "hostname": "us8127.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8128, "hostname": "us8128.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8128, "hostname": "us8128.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8129, "hostname": "us8129.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8129, "hostname": "us8129.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8130, "hostname": "us8130.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8130, "hostname": "us8130.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8131, "hostname": "us8131.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8131, "hostname": "us8131.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8132, "hostname": "us8132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8132, "hostname": "us8132.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8133, "hostname": "us8133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8133, "hostname": "us8133.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8134, "hostname": "us8134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.110.112.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8134, "hostname": "us8134.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "194.110.112.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9143, "hostname": "us9143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9143, "hostname": "us9143.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9144, "hostname": "us9144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9144, "hostname": "us9144.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9145, "hostname": "us9145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9145, "hostname": "us9145.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9146, "hostname": "us9146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9146, "hostname": "us9146.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9147, "hostname": "us9147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9147, "hostname": "us9147.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9148, "hostname": "us9148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9148, "hostname": "us9148.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9149, "hostname": "us9149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9149, "hostname": "us9149.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9150, "hostname": "us9150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9150, "hostname": "us9150.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9151, "hostname": "us9151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9151, "hostname": "us9151.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9152, "hostname": "us9152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9152, "hostname": "us9152.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9153, "hostname": "us9153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.45" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9153, "hostname": "us9153.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.45" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9154, "hostname": "us9154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9154, "hostname": "us9154.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9155, "hostname": "us9155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9155, "hostname": "us9155.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9156, "hostname": "us9156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9156, "hostname": "us9156.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9157, "hostname": "us9157.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.73" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9157, "hostname": "us9157.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.73" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9158, "hostname": "us9158.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.80" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9158, "hostname": "us9158.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9159, "hostname": "us9159.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.87" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9159, "hostname": "us9159.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.87" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9160, "hostname": "us9160.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.94" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9160, "hostname": "us9160.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.94" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9161, "hostname": "us9161.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9161, "hostname": "us9161.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9162, "hostname": "us9162.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9162, "hostname": "us9162.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9163, "hostname": "us9163.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9163, "hostname": "us9163.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9164, "hostname": "us9164.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9164, "hostname": "us9164.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9165, "hostname": "us9165.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9165, "hostname": "us9165.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9166, "hostname": "us9166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9166, "hostname": "us9166.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9167, "hostname": "us9167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.143" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9167, "hostname": "us9167.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.143" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9168, "hostname": "us9168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9168, "hostname": "us9168.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9169, "hostname": "us9169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.157" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9169, "hostname": "us9169.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.157" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9170, "hostname": "us9170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9170, "hostname": "us9170.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9171, "hostname": "us9171.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9171, "hostname": "us9171.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9172, "hostname": "us9172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.178" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9172, "hostname": "us9172.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9173, "hostname": "us9173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.185" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9173, "hostname": "us9173.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.185" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9174, "hostname": "us9174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.192" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9174, "hostname": "us9174.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.192" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9175, "hostname": "us9175.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.199" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9175, "hostname": "us9175.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9176, "hostname": "us9176.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.206" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9176, "hostname": "us9176.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.206" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9177, "hostname": "us9177.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.213" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9177, "hostname": "us9177.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.213" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9178, "hostname": "us9178.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.220" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9178, "hostname": "us9178.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.220" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9179, "hostname": "us9179.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.227" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9179, "hostname": "us9179.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9180, "hostname": "us9180.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.234" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9180, "hostname": "us9180.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.234" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9181, "hostname": "us9181.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.241" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9181, "hostname": "us9181.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9182, "hostname": "us9182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.190.248" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9182, "hostname": "us9182.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.190.248" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9621, "hostname": "us9621.nordvpn.com", "tcp": true, "udp": true, "ips": [ "145.14.135.79" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9621, "hostname": "us9621.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "145.14.135.79" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9622, "hostname": "us9622.nordvpn.com", "tcp": true, "udp": true, "ips": [ "145.14.135.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9622, "hostname": "us9622.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "145.14.135.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9623, "hostname": "us9623.nordvpn.com", "tcp": true, "udp": true, "ips": [ "145.14.135.53" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9623, "hostname": "us9623.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "145.14.135.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9624, "hostname": "us9624.nordvpn.com", "tcp": true, "udp": true, "ips": [ "145.14.135.40" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9624, "hostname": "us9624.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "145.14.135.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9625, "hostname": "us9625.nordvpn.com", "tcp": true, "udp": true, "ips": [ "145.14.135.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9625, "hostname": "us9625.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "145.14.135.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9626, "hostname": "us9626.nordvpn.com", "tcp": true, "udp": true, "ips": [ "145.14.135.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9626, "hostname": "us9626.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "145.14.135.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9698, "hostname": "us9698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9698, "hostname": "us9698.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9699, "hostname": "us9699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9699, "hostname": "us9699.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9700, "hostname": "us9700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9700, "hostname": "us9700.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9701, "hostname": "us9701.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9701, "hostname": "us9701.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9702, "hostname": "us9702.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9702, "hostname": "us9702.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9703, "hostname": "us9703.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9703, "hostname": "us9703.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9704, "hostname": "us9704.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9704, "hostname": "us9704.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9705, "hostname": "us9705.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9705, "hostname": "us9705.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9706, "hostname": "us9706.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9706, "hostname": "us9706.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9707, "hostname": "us9707.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9707, "hostname": "us9707.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9708, "hostname": "us9708.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9708, "hostname": "us9708.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9709, "hostname": "us9709.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9709, "hostname": "us9709.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9710, "hostname": "us9710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9710, "hostname": "us9710.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9711, "hostname": "us9711.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9711, "hostname": "us9711.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9712, "hostname": "us9712.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9712, "hostname": "us9712.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9714, "hostname": "us9714.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9714, "hostname": "us9714.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9715, "hostname": "us9715.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9715, "hostname": "us9715.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9716, "hostname": "us9716.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9716, "hostname": "us9716.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9717, "hostname": "us9717.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9717, "hostname": "us9717.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9770, "hostname": "us9770.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9770, "hostname": "us9770.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9771, "hostname": "us9771.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9771, "hostname": "us9771.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9772, "hostname": "us9772.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9772, "hostname": "us9772.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9773, "hostname": "us9773.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9773, "hostname": "us9773.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9774, "hostname": "us9774.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9774, "hostname": "us9774.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9775, "hostname": "us9775.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9775, "hostname": "us9775.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9776, "hostname": "us9776.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9776, "hostname": "us9776.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9777, "hostname": "us9777.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9777, "hostname": "us9777.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9778, "hostname": "us9778.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9778, "hostname": "us9778.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9779, "hostname": "us9779.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9779, "hostname": "us9779.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9780, "hostname": "us9780.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9780, "hostname": "us9780.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9781, "hostname": "us9781.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.226.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9781, "hostname": "us9781.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.226.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9898, "hostname": "us9898.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9898, "hostname": "us9898.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9899, "hostname": "us9899.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9899, "hostname": "us9899.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9900, "hostname": "us9900.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9900, "hostname": "us9900.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9901, "hostname": "us9901.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9901, "hostname": "us9901.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9902, "hostname": "us9902.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.10" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9902, "hostname": "us9902.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9903, "hostname": "us9903.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9903, "hostname": "us9903.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9904, "hostname": "us9904.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9904, "hostname": "us9904.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9905, "hostname": "us9905.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.16" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9905, "hostname": "us9905.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9906, "hostname": "us9906.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9906, "hostname": "us9906.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9907, "hostname": "us9907.nordvpn.com", "tcp": true, "udp": true, "ips": [ "2.56.191.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9907, "hostname": "us9907.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "2.56.191.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10052, "hostname": "us10052.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.196.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10052, "hostname": "us10052.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "181.214.196.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10053, "hostname": "us10053.nordvpn.com", "tcp": true, "udp": true, "ips": [ "145.14.135.1" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10053, "hostname": "us10053.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "145.14.135.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10110, "hostname": "us10110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10111, "hostname": "us10111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.228" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10112, "hostname": "us10112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10113, "hostname": "us10113.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.233" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10116, "hostname": "us10116.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10116, "hostname": "us10116.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10117, "hostname": "us10117.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.103" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10117, "hostname": "us10117.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.103" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10118, "hostname": "us10118.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.105" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10118, "hostname": "us10118.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10119, "hostname": "us10119.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10119, "hostname": "us10119.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10120, "hostname": "us10120.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.109" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10120, "hostname": "us10120.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.109" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10121, "hostname": "us10121.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.111" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10121, "hostname": "us10121.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.111" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10122, "hostname": "us10122.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.113" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10122, "hostname": "us10122.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.113" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10123, "hostname": "us10123.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10123, "hostname": "us10123.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10124, "hostname": "us10124.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.117" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10124, "hostname": "us10124.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10125, "hostname": "us10125.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.119" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10125, "hostname": "us10125.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.119" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10126, "hostname": "us10126.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.121" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10126, "hostname": "us10126.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.121" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10127, "hostname": "us10127.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10127, "hostname": "us10127.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10128, "hostname": "us10128.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.125" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10128, "hostname": "us10128.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.125" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10129, "hostname": "us10129.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.127" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10129, "hostname": "us10129.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.127" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10130, "hostname": "us10130.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10130, "hostname": "us10130.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10131, "hostname": "us10131.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10131, "hostname": "us10131.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10132, "hostname": "us10132.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.133" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10132, "hostname": "us10132.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10133, "hostname": "us10133.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.135" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10133, "hostname": "us10133.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10134, "hostname": "us10134.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.137" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10134, "hostname": "us10134.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10135, "hostname": "us10135.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10135, "hostname": "us10135.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10136, "hostname": "us10136.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.141" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10136, "hostname": "us10136.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10137, "hostname": "us10137.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.143" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10137, "hostname": "us10137.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.143" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10138, "hostname": "us10138.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.145" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10138, "hostname": "us10138.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10139, "hostname": "us10139.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10139, "hostname": "us10139.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10140, "hostname": "us10140.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.149" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10140, "hostname": "us10140.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.149" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10141, "hostname": "us10141.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.151" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10141, "hostname": "us10141.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.151" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10142, "hostname": "us10142.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.153" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10142, "hostname": "us10142.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.153" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10143, "hostname": "us10143.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10143, "hostname": "us10143.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10144, "hostname": "us10144.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.157" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10144, "hostname": "us10144.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.157" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10145, "hostname": "us10145.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.159" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10145, "hostname": "us10145.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.159" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10146, "hostname": "us10146.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.161" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10146, "hostname": "us10146.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.161" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10147, "hostname": "us10147.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10147, "hostname": "us10147.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10148, "hostname": "us10148.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.165" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10148, "hostname": "us10148.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.165" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10149, "hostname": "us10149.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.167" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10149, "hostname": "us10149.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.167" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10150, "hostname": "us10150.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.169" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10150, "hostname": "us10150.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.169" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10151, "hostname": "us10151.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10151, "hostname": "us10151.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10152, "hostname": "us10152.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.255.130.173" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10152, "hostname": "us10152.nordvpn.com", "wgpubkey": "8pRFH/FfMBs3eBJCM2ABFoOs/13n78LYQvoovZVLdgI=", "ips": [ "185.255.130.173" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10167, "hostname": "us10167.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10168, "hostname": "us10168.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.238" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10173, "hostname": "us10173.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10174, "hostname": "us10174.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10175, "hostname": "us10175.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10176, "hostname": "us10176.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.200.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10179, "hostname": "us10179.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.9" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10180, "hostname": "us10180.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10254, "hostname": "us10254.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10255, "hostname": "us10255.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10256, "hostname": "us10256.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10257, "hostname": "us10257.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10269, "hostname": "us10269.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10270, "hostname": "us10270.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10275, "hostname": "us10275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10276, "hostname": "us10276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.153" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10277, "hostname": "us10277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10278, "hostname": "us10278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10349, "hostname": "us10349.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10350, "hostname": "us10350.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.254.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10452, "hostname": "us10452.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10453, "hostname": "us10453.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.25" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10454, "hostname": "us10454.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10455, "hostname": "us10455.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10462, "hostname": "us10462.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10463, "hostname": "us10463.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10480, "hostname": "us10480.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.39" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10481, "hostname": "us10481.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.41" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10482, "hostname": "us10482.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10483, "hostname": "us10483.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10538, "hostname": "us10538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10539, "hostname": "us10539.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.228" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10540, "hostname": "us10540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10541, "hostname": "us10541.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.233" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10542, "hostname": "us10542.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10543, "hostname": "us10543.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.238" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10572, "hostname": "us10572.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.242" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10573, "hostname": "us10573.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.100.244" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10578, "hostname": "us10578.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "categories": [ "Dedicated IP" ], "number": 10579, "hostname": "us10579.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.50.223.73" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5066, "hostname": "us5066.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5066, "hostname": "us5066.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5067, "hostname": "us5067.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5067, "hostname": "us5067.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5068, "hostname": "us5068.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5068, "hostname": "us5068.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5069, "hostname": "us5069.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5069, "hostname": "us5069.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5070, "hostname": "us5070.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.22" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5070, "hostname": "us5070.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5071, "hostname": "us5071.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5071, "hostname": "us5071.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5072, "hostname": "us5072.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5072, "hostname": "us5072.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5073, "hostname": "us5073.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5073, "hostname": "us5073.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5074, "hostname": "us5074.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5074, "hostname": "us5074.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5075, "hostname": "us5075.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5075, "hostname": "us5075.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5076, "hostname": "us5076.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5076, "hostname": "us5076.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5077, "hostname": "us5077.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.57" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5077, "hostname": "us5077.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.57" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5078, "hostname": "us5078.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5078, "hostname": "us5078.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5079, "hostname": "us5079.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5079, "hostname": "us5079.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5080, "hostname": "us5080.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.72" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5080, "hostname": "us5080.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5081, "hostname": "us5081.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.77" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5081, "hostname": "us5081.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.77" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5082, "hostname": "us5082.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5082, "hostname": "us5082.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5083, "hostname": "us5083.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.87" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5083, "hostname": "us5083.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.87" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5084, "hostname": "us5084.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.92" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5084, "hostname": "us5084.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5085, "hostname": "us5085.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.97" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 5085, "hostname": "us5085.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.97" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6657, "hostname": "us6657.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6657, "hostname": "us6657.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6658, "hostname": "us6658.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6658, "hostname": "us6658.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6659, "hostname": "us6659.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6659, "hostname": "us6659.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6660, "hostname": "us6660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6660, "hostname": "us6660.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6661, "hostname": "us6661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6661, "hostname": "us6661.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6662, "hostname": "us6662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6662, "hostname": "us6662.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6663, "hostname": "us6663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6663, "hostname": "us6663.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6664, "hostname": "us6664.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 6664, "hostname": "us6664.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6741, "hostname": "us6741.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6741, "hostname": "us6741.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6742, "hostname": "us6742.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6742, "hostname": "us6742.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6743, "hostname": "us6743.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6743, "hostname": "us6743.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6744, "hostname": "us6744.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6744, "hostname": "us6744.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6745, "hostname": "us6745.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6745, "hostname": "us6745.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6746, "hostname": "us6746.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6746, "hostname": "us6746.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6747, "hostname": "us6747.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6747, "hostname": "us6747.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6748, "hostname": "us6748.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6748, "hostname": "us6748.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6749, "hostname": "us6749.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6749, "hostname": "us6749.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6750, "hostname": "us6750.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6750, "hostname": "us6750.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6901, "hostname": "us6901.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6901, "hostname": "us6901.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6902, "hostname": "us6902.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6902, "hostname": "us6902.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6903, "hostname": "us6903.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6903, "hostname": "us6903.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6904, "hostname": "us6904.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "P2P", "Standard VPN servers" ], "number": 6904, "hostname": "us6904.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8227, "hostname": "us8227.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8227, "hostname": "us8227.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8228, "hostname": "us8228.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.105" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8228, "hostname": "us8228.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8229, "hostname": "us8229.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8229, "hostname": "us8229.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8230, "hostname": "us8230.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8230, "hostname": "us8230.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8231, "hostname": "us8231.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8231, "hostname": "us8231.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8232, "hostname": "us8232.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8232, "hostname": "us8232.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8233, "hostname": "us8233.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8233, "hostname": "us8233.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8234, "hostname": "us8234.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.111" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8234, "hostname": "us8234.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.111" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8235, "hostname": "us8235.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8235, "hostname": "us8235.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8236, "hostname": "us8236.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.45.117" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8236, "hostname": "us8236.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.45.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8282, "hostname": "us8282.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.58" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8282, "hostname": "us8282.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8283, "hostname": "us8283.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.56" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8283, "hostname": "us8283.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8284, "hostname": "us8284.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8284, "hostname": "us8284.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8285, "hostname": "us8285.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8285, "hostname": "us8285.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8286, "hostname": "us8286.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8286, "hostname": "us8286.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8287, "hostname": "us8287.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.137" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8287, "hostname": "us8287.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8288, "hostname": "us8288.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.135" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8288, "hostname": "us8288.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8289, "hostname": "us8289.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.133" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8289, "hostname": "us8289.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8290, "hostname": "us8290.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8290, "hostname": "us8290.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8291, "hostname": "us8291.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.44.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 8291, "hostname": "us8291.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "212.102.44.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9183, "hostname": "us9183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9183, "hostname": "us9183.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9184, "hostname": "us9184.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9184, "hostname": "us9184.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9185, "hostname": "us9185.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9185, "hostname": "us9185.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9186, "hostname": "us9186.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9186, "hostname": "us9186.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9187, "hostname": "us9187.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9187, "hostname": "us9187.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9188, "hostname": "us9188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9188, "hostname": "us9188.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9189, "hostname": "us9189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9189, "hostname": "us9189.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9190, "hostname": "us9190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9190, "hostname": "us9190.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9191, "hostname": "us9191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9191, "hostname": "us9191.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9192, "hostname": "us9192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9192, "hostname": "us9192.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9193, "hostname": "us9193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9193, "hostname": "us9193.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9194, "hostname": "us9194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9194, "hostname": "us9194.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9195, "hostname": "us9195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9195, "hostname": "us9195.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9196, "hostname": "us9196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9196, "hostname": "us9196.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9197, "hostname": "us9197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9197, "hostname": "us9197.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9198, "hostname": "us9198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9198, "hostname": "us9198.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9199, "hostname": "us9199.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9199, "hostname": "us9199.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9200, "hostname": "us9200.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9200, "hostname": "us9200.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9201, "hostname": "us9201.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9201, "hostname": "us9201.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9202, "hostname": "us9202.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9202, "hostname": "us9202.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9203, "hostname": "us9203.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9203, "hostname": "us9203.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9204, "hostname": "us9204.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9204, "hostname": "us9204.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9205, "hostname": "us9205.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9205, "hostname": "us9205.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9206, "hostname": "us9206.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9206, "hostname": "us9206.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9207, "hostname": "us9207.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9207, "hostname": "us9207.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9208, "hostname": "us9208.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9208, "hostname": "us9208.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9209, "hostname": "us9209.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9209, "hostname": "us9209.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9210, "hostname": "us9210.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9210, "hostname": "us9210.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9211, "hostname": "us9211.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9211, "hostname": "us9211.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9212, "hostname": "us9212.nordvpn.com", "tcp": true, "udp": true, "ips": [ "83.136.182.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9212, "hostname": "us9212.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "83.136.182.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9443, "hostname": "us9443.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9443, "hostname": "us9443.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9444, "hostname": "us9444.nordvpn.com", "tcp": true, "udp": true, "ips": [ "64.44.80.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "categories": [ "Standard VPN servers", "P2P" ], "number": 9444, "hostname": "us9444.nordvpn.com", "wgpubkey": "mohrVW5iptcR0gt3Y/R8dcgmonn9ZAlsVwvxf60OdCM=", "ips": [ "64.44.80.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9573, "hostname": "us9573.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9573, "hostname": "us9573.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9574, "hostname": "us9574.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9574, "hostname": "us9574.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9575, "hostname": "us9575.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9575, "hostname": "us9575.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9576, "hostname": "us9576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9576, "hostname": "us9576.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9577, "hostname": "us9577.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9577, "hostname": "us9577.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9578, "hostname": "us9578.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9578, "hostname": "us9578.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9579, "hostname": "us9579.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9579, "hostname": "us9579.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9580, "hostname": "us9580.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9580, "hostname": "us9580.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9581, "hostname": "us9581.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9581, "hostname": "us9581.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9582, "hostname": "us9582.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9582, "hostname": "us9582.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9583, "hostname": "us9583.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9583, "hostname": "us9583.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9584, "hostname": "us9584.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9584, "hostname": "us9584.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9585, "hostname": "us9585.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9585, "hostname": "us9585.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9586, "hostname": "us9586.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9586, "hostname": "us9586.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9588, "hostname": "us9588.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9588, "hostname": "us9588.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9814, "hostname": "us9814.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9814, "hostname": "us9814.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9815, "hostname": "us9815.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9815, "hostname": "us9815.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9816, "hostname": "us9816.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9816, "hostname": "us9816.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9817, "hostname": "us9817.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.45" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9817, "hostname": "us9817.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.45" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9818, "hostname": "us9818.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.58" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9818, "hostname": "us9818.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9819, "hostname": "us9819.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9819, "hostname": "us9819.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9820, "hostname": "us9820.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.229.59.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 9820, "hostname": "us9820.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "185.229.59.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10002, "hostname": "us10002.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.77" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10002, "hostname": "us10002.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.77" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10003, "hostname": "us10003.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10003, "hostname": "us10003.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10004, "hostname": "us10004.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.105" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10004, "hostname": "us10004.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10005, "hostname": "us10005.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.119" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10005, "hostname": "us10005.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.119" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10006, "hostname": "us10006.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.133" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10006, "hostname": "us10006.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10007, "hostname": "us10007.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10007, "hostname": "us10007.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10008, "hostname": "us10008.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.161" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10008, "hostname": "us10008.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.161" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10009, "hostname": "us10009.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.175" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10009, "hostname": "us10009.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.175" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10010, "hostname": "us10010.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.189" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10010, "hostname": "us10010.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.189" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10011, "hostname": "us10011.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.214" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10011, "hostname": "us10011.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.214" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10012, "hostname": "us10012.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.228" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10012, "hostname": "us10012.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.228" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10013, "hostname": "us10013.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.156.136.242" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10013, "hostname": "us10013.nordvpn.com", "wgpubkey": "3+GtC5RoZ6musIqN7WyU6i1A2n3pQwgKOoSOMNZuEwU=", "ips": [ "194.156.136.242" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 2945, "hostname": "us2945.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.185.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 2946, "hostname": "us2946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.185.97" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4950, "hostname": "us4950.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.121" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4951, "hostname": "us4951.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4957, "hostname": "us4957.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.45.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4958, "hostname": "us4958.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.45.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4963, "hostname": "us4963.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.9.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4964, "hostname": "us4964.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.9.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4969, "hostname": "us4969.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.9.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4970, "hostname": "us4970.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.9.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4975, "hostname": "us4975.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.49.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4976, "hostname": "us4976.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.49.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4982, "hostname": "us4982.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.49.151" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4983, "hostname": "us4983.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.49.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4988, "hostname": "us4988.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4989, "hostname": "us4989.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4990, "hostname": "us4990.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.49.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 4991, "hostname": "us4991.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.161" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5063, "hostname": "us5063.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5063, "hostname": "us5063.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5064, "hostname": "us5064.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.104.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5064, "hostname": "us5064.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "195.206.104.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5349, "hostname": "us5349.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5349, "hostname": "us5349.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5350, "hostname": "us5350.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5350, "hostname": "us5350.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5359, "hostname": "us5359.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.149" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5359, "hostname": "us5359.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.149" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5360, "hostname": "us5360.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5360, "hostname": "us5360.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5381, "hostname": "us5381.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.207.175.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5381, "hostname": "us5381.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.207.175.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5386, "hostname": "us5386.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5386, "hostname": "us5386.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5387, "hostname": "us5387.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5387, "hostname": "us5387.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5490, "hostname": "us5490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.48" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5490, "hostname": "us5490.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.48" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5491, "hostname": "us5491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5491, "hostname": "us5491.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5492, "hostname": "us5492.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5492, "hostname": "us5492.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5594, "hostname": "us5594.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5594, "hostname": "us5594.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5597, "hostname": "us5597.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.28" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5597, "hostname": "us5597.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.28" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5725, "hostname": "us5725.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5725, "hostname": "us5725.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5726, "hostname": "us5726.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.200.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5726, "hostname": "us5726.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.236.200.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5727, "hostname": "us5727.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.200.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5727, "hostname": "us5727.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.236.200.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5728, "hostname": "us5728.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.200.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5728, "hostname": "us5728.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.236.200.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5729, "hostname": "us5729.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.200.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5729, "hostname": "us5729.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.236.200.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 5781, "hostname": "us5781.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.45.199" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 5781, "hostname": "us5781.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.45.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 5782, "hostname": "us5782.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.45.202" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 5782, "hostname": "us5782.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.45.202" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5848, "hostname": "us5848.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5848, "hostname": "us5848.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5849, "hostname": "us5849.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5849, "hostname": "us5849.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5850, "hostname": "us5850.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5850, "hostname": "us5850.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5851, "hostname": "us5851.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5851, "hostname": "us5851.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5852, "hostname": "us5852.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5852, "hostname": "us5852.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5853, "hostname": "us5853.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5853, "hostname": "us5853.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5854, "hostname": "us5854.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5854, "hostname": "us5854.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5855, "hostname": "us5855.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5855, "hostname": "us5855.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5856, "hostname": "us5856.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.166" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5856, "hostname": "us5856.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.166" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5857, "hostname": "us5857.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.168" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5857, "hostname": "us5857.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.168" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5858, "hostname": "us5858.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.170" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5858, "hostname": "us5858.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.170" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5859, "hostname": "us5859.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.172" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5859, "hostname": "us5859.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.172" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5860, "hostname": "us5860.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.174" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5860, "hostname": "us5860.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.174" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5861, "hostname": "us5861.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.176" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5861, "hostname": "us5861.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.176" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5862, "hostname": "us5862.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.178" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5862, "hostname": "us5862.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5863, "hostname": "us5863.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5863, "hostname": "us5863.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5864, "hostname": "us5864.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.182" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5864, "hostname": "us5864.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.182" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5865, "hostname": "us5865.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.184" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5865, "hostname": "us5865.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.184" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5866, "hostname": "us5866.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.186" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5866, "hostname": "us5866.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.186" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5867, "hostname": "us5867.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.188" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5867, "hostname": "us5867.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.188" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5922, "hostname": "us5922.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.33" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5922, "hostname": "us5922.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.33" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5925, "hostname": "us5925.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.200.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5925, "hostname": "us5925.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.236.200.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5926, "hostname": "us5926.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.200.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5926, "hostname": "us5926.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.236.200.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5927, "hostname": "us5927.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.236.200.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5927, "hostname": "us5927.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.236.200.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5993, "hostname": "us5993.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5993, "hostname": "us5993.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5994, "hostname": "us5994.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.87.63" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5994, "hostname": "us5994.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.245.87.63" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5995, "hostname": "us5995.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.216.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5995, "hostname": "us5995.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "139.28.216.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5996, "hostname": "us5996.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.216.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5996, "hostname": "us5996.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "139.28.216.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5997, "hostname": "us5997.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.216.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5997, "hostname": "us5997.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "139.28.216.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5998, "hostname": "us5998.nordvpn.com", "tcp": true, "udp": true, "ips": [ "139.28.216.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5998, "hostname": "us5998.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "139.28.216.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5999, "hostname": "us5999.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.132.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 5999, "hostname": "us5999.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "37.120.132.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6000, "hostname": "us6000.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6000, "hostname": "us6000.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6001, "hostname": "us6001.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6001, "hostname": "us6001.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6002, "hostname": "us6002.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6002, "hostname": "us6002.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6003, "hostname": "us6003.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6003, "hostname": "us6003.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6004, "hostname": "us6004.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6004, "hostname": "us6004.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6458, "hostname": "us6458.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.96" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6458, "hostname": "us6458.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.96" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6459, "hostname": "us6459.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6459, "hostname": "us6459.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6460, "hostname": "us6460.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.86" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6460, "hostname": "us6460.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6461, "hostname": "us6461.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.81" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6461, "hostname": "us6461.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.81" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6462, "hostname": "us6462.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6462, "hostname": "us6462.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6665, "hostname": "us6665.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6665, "hostname": "us6665.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6668, "hostname": "us6668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6668, "hostname": "us6668.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6670, "hostname": "us6670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.131" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6670, "hostname": "us6670.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6671, "hostname": "us6671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.141" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6671, "hostname": "us6671.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6672, "hostname": "us6672.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 6672, "hostname": "us6672.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 6751, "hostname": "us6751.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.111" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 6751, "hostname": "us6751.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.111" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 6752, "hostname": "us6752.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 6752, "hostname": "us6752.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 6757, "hostname": "us6757.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.83.89.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "P2P", "Standard VPN servers" ], "number": 6757, "hostname": "us6757.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "45.83.89.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8502, "hostname": "us8502.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8502, "hostname": "us8502.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8506, "hostname": "us8506.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.199" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8506, "hostname": "us8506.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8507, "hostname": "us8507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.201" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8507, "hostname": "us8507.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.201" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8508, "hostname": "us8508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8508, "hostname": "us8508.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8557, "hostname": "us8557.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.245" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8557, "hostname": "us8557.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.245" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8558, "hostname": "us8558.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.247" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8558, "hostname": "us8558.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.247" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8559, "hostname": "us8559.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.249" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8559, "hostname": "us8559.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.249" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8561, "hostname": "us8561.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.204.253" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8561, "hostname": "us8561.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "152.89.204.253" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8562, "hostname": "us8562.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8562, "hostname": "us8562.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8563, "hostname": "us8563.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8563, "hostname": "us8563.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8564, "hostname": "us8564.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8564, "hostname": "us8564.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8565, "hostname": "us8565.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8565, "hostname": "us8565.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8566, "hostname": "us8566.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.10" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8566, "hostname": "us8566.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8567, "hostname": "us8567.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8567, "hostname": "us8567.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8568, "hostname": "us8568.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8568, "hostname": "us8568.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8569, "hostname": "us8569.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.16" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8569, "hostname": "us8569.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8570, "hostname": "us8570.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8570, "hostname": "us8570.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8571, "hostname": "us8571.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8571, "hostname": "us8571.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8572, "hostname": "us8572.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.22" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8572, "hostname": "us8572.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8573, "hostname": "us8573.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.24" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8573, "hostname": "us8573.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.24" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8574, "hostname": "us8574.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8574, "hostname": "us8574.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8575, "hostname": "us8575.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.28" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8575, "hostname": "us8575.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.28" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8576, "hostname": "us8576.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.30" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8576, "hostname": "us8576.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8577, "hostname": "us8577.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8577, "hostname": "us8577.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8578, "hostname": "us8578.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8578, "hostname": "us8578.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8579, "hostname": "us8579.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8579, "hostname": "us8579.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8580, "hostname": "us8580.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8580, "hostname": "us8580.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8581, "hostname": "us8581.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.40" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8581, "hostname": "us8581.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8582, "hostname": "us8582.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8582, "hostname": "us8582.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8583, "hostname": "us8583.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8583, "hostname": "us8583.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8584, "hostname": "us8584.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8584, "hostname": "us8584.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8585, "hostname": "us8585.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.48" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8585, "hostname": "us8585.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.48" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8586, "hostname": "us8586.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8586, "hostname": "us8586.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8587, "hostname": "us8587.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8587, "hostname": "us8587.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8588, "hostname": "us8588.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8588, "hostname": "us8588.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8589, "hostname": "us8589.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.56" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8589, "hostname": "us8589.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8590, "hostname": "us8590.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.58" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8590, "hostname": "us8590.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8591, "hostname": "us8591.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.60" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8591, "hostname": "us8591.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.60" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8592, "hostname": "us8592.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.220.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8592, "hostname": "us8592.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "91.196.220.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8697, "hostname": "us8697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.104.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 8697, "hostname": "us8697.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "195.206.104.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9273, "hostname": "us9273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.74.186" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9273, "hostname": "us9273.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.216.74.186" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9274, "hostname": "us9274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.74.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9274, "hostname": "us9274.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.216.74.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9275, "hostname": "us9275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.74.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9275, "hostname": "us9275.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.216.74.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9276, "hostname": "us9276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.74.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9276, "hostname": "us9276.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.216.74.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9277, "hostname": "us9277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.74.168" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9277, "hostname": "us9277.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.216.74.168" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9278, "hostname": "us9278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.74.176" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9278, "hostname": "us9278.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.216.74.176" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9279, "hostname": "us9279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.74.184" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9279, "hostname": "us9279.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.216.74.184" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9280, "hostname": "us9280.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.9.143" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9280, "hostname": "us9280.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "138.199.9.143" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9281, "hostname": "us9281.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9281, "hostname": "us9281.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9282, "hostname": "us9282.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.44.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9282, "hostname": "us9282.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "84.17.44.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9283, "hostname": "us9283.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.9.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9283, "hostname": "us9283.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "138.199.9.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9284, "hostname": "us9284.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.9.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9284, "hostname": "us9284.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "138.199.9.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9402, "hostname": "us9402.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9402, "hostname": "us9402.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9403, "hostname": "us9403.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9403, "hostname": "us9403.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9404, "hostname": "us9404.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9404, "hostname": "us9404.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9405, "hostname": "us9405.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9405, "hostname": "us9405.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9406, "hostname": "us9406.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9406, "hostname": "us9406.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9407, "hostname": "us9407.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9407, "hostname": "us9407.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9408, "hostname": "us9408.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9408, "hostname": "us9408.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9409, "hostname": "us9409.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9409, "hostname": "us9409.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9410, "hostname": "us9410.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9410, "hostname": "us9410.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9411, "hostname": "us9411.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9411, "hostname": "us9411.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9412, "hostname": "us9412.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9412, "hostname": "us9412.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9413, "hostname": "us9413.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9413, "hostname": "us9413.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9414, "hostname": "us9414.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9414, "hostname": "us9414.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9415, "hostname": "us9415.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9415, "hostname": "us9415.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9416, "hostname": "us9416.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9416, "hostname": "us9416.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9417, "hostname": "us9417.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9417, "hostname": "us9417.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9418, "hostname": "us9418.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9418, "hostname": "us9418.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9419, "hostname": "us9419.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9419, "hostname": "us9419.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9420, "hostname": "us9420.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9420, "hostname": "us9420.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9421, "hostname": "us9421.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9421, "hostname": "us9421.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9422, "hostname": "us9422.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9422, "hostname": "us9422.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9423, "hostname": "us9423.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9423, "hostname": "us9423.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9424, "hostname": "us9424.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9424, "hostname": "us9424.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9425, "hostname": "us9425.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9425, "hostname": "us9425.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9426, "hostname": "us9426.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9426, "hostname": "us9426.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9427, "hostname": "us9427.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9427, "hostname": "us9427.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9428, "hostname": "us9428.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9428, "hostname": "us9428.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9429, "hostname": "us9429.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9429, "hostname": "us9429.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9430, "hostname": "us9430.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9430, "hostname": "us9430.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9431, "hostname": "us9431.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9431, "hostname": "us9431.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9432, "hostname": "us9432.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.221.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9432, "hostname": "us9432.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.202.221.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9590, "hostname": "us9590.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.104.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9590, "hostname": "us9590.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "195.206.104.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9591, "hostname": "us9591.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.104.187", "2a0d:5600:8:26a::3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9591, "hostname": "us9591.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "195.206.104.187", "2a0d:5600:8:26a::3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9592, "hostname": "us9592.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.230.126.155", "2a0d:5600:8:27a::3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9592, "hostname": "us9592.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "185.230.126.155", "2a0d:5600:8:27a::3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9593, "hostname": "us9593.nordvpn.com", "tcp": true, "udp": true, "ips": [ "195.206.104.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9593, "hostname": "us9593.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "195.206.104.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9594, "hostname": "us9594.nordvpn.com", "tcp": true, "udp": true, "ips": [ "146.70.100.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9594, "hostname": "us9594.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "146.70.100.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9750, "hostname": "us9750.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9750, "hostname": "us9750.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9751, "hostname": "us9751.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9751, "hostname": "us9751.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9752, "hostname": "us9752.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9752, "hostname": "us9752.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9753, "hostname": "us9753.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9753, "hostname": "us9753.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9754, "hostname": "us9754.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9754, "hostname": "us9754.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9755, "hostname": "us9755.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9755, "hostname": "us9755.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9756, "hostname": "us9756.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9756, "hostname": "us9756.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9757, "hostname": "us9757.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9757, "hostname": "us9757.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9758, "hostname": "us9758.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9758, "hostname": "us9758.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9759, "hostname": "us9759.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9759, "hostname": "us9759.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9760, "hostname": "us9760.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9760, "hostname": "us9760.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9761, "hostname": "us9761.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.178" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9761, "hostname": "us9761.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9762, "hostname": "us9762.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9762, "hostname": "us9762.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9763, "hostname": "us9763.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9763, "hostname": "us9763.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9764, "hostname": "us9764.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9764, "hostname": "us9764.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9765, "hostname": "us9765.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.70.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9765, "hostname": "us9765.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.214.70.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9766, "hostname": "us9766.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9766, "hostname": "us9766.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9767, "hostname": "us9767.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9767, "hostname": "us9767.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9768, "hostname": "us9768.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9768, "hostname": "us9768.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9769, "hostname": "us9769.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9769, "hostname": "us9769.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9821, "hostname": "us9821.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9821, "hostname": "us9821.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9822, "hostname": "us9822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9822, "hostname": "us9822.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9823, "hostname": "us9823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9823, "hostname": "us9823.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9824, "hostname": "us9824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9824, "hostname": "us9824.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9825, "hostname": "us9825.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9825, "hostname": "us9825.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9826, "hostname": "us9826.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9826, "hostname": "us9826.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9827, "hostname": "us9827.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9827, "hostname": "us9827.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9828, "hostname": "us9828.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.178" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9828, "hostname": "us9828.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9829, "hostname": "us9829.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9829, "hostname": "us9829.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9830, "hostname": "us9830.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9830, "hostname": "us9830.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9831, "hostname": "us9831.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9831, "hostname": "us9831.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9832, "hostname": "us9832.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.215.169.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Standard VPN servers", "P2P" ], "number": 9832, "hostname": "us9832.nordvpn.com", "wgpubkey": "V1WC7wt34kcSDyqPuUhN56NJ0v+GlqY9TwZR5WlzzB4=", "ips": [ "181.215.169.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10100, "hostname": "us10100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.166" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10101, "hostname": "us10101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.168" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10102, "hostname": "us10102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10103, "hostname": "us10103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.173" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10104, "hostname": "us10104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.176" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10105, "hostname": "us10105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10114, "hostname": "us10114.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10115, "hostname": "us10115.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10153, "hostname": "us10153.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.39" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10154, "hostname": "us10154.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.41" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10155, "hostname": "us10155.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.181" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10156, "hostname": "us10156.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.183" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10169, "hostname": "us10169.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10170, "hostname": "us10170.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10171, "hostname": "us10171.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.49" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10172, "hostname": "us10172.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.34.247.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10177, "hostname": "us10177.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10178, "hostname": "us10178.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10193, "hostname": "us10193.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10194, "hostname": "us10194.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10252, "hostname": "us10252.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10253, "hostname": "us10253.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10260, "hostname": "us10260.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10261, "hostname": "us10261.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.143" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10262, "hostname": "us10262.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10263, "hostname": "us10263.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10271, "hostname": "us10271.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.243.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10272, "hostname": "us10272.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.243.78" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10279, "hostname": "us10279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.243.81" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10280, "hostname": "us10280.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.243.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10347, "hostname": "us10347.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.243.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10348, "hostname": "us10348.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.243.88" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10405, "hostname": "us10405.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.31.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10406, "hostname": "us10406.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.31.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10456, "hostname": "us10456.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.31.177" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10457, "hostname": "us10457.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.31.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10458, "hostname": "us10458.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.53.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10459, "hostname": "us10459.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.53.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10466, "hostname": "us10466.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.31.182" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10467, "hostname": "us10467.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.31.184" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10476, "hostname": "us10476.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.53.151" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10477, "hostname": "us10477.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.53.153" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10478, "hostname": "us10478.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10479, "hostname": "us10479.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10500, "hostname": "us10500.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10501, "hostname": "us10501.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10513, "hostname": "us10513.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10514, "hostname": "us10514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10528, "hostname": "us10528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10529, "hostname": "us10529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10530, "hostname": "us10530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10531, "hostname": "us10531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10556, "hostname": "us10556.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10557, "hostname": "us10557.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10568, "hostname": "us10568.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10570, "hostname": "us10570.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.183" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10582, "hostname": "us10582.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10583, "hostname": "us10583.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.30.228" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10584, "hostname": "us10584.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.185" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "categories": [ "Dedicated IP" ], "number": 10585, "hostname": "us10585.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.203.186" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Double VPN" ], "number": 75, "hostname": "ca-us75.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.207" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Double VPN" ], "number": 75, "hostname": "ca-us75.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "37.19.212.207" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Double VPN" ], "number": 76, "hostname": "ca-us76.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.208" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Double VPN" ], "number": 76, "hostname": "ca-us76.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "37.19.212.208" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8392, "hostname": "us8392.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8392, "hostname": "us8392.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8393, "hostname": "us8393.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8393, "hostname": "us8393.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8394, "hostname": "us8394.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8394, "hostname": "us8394.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8395, "hostname": "us8395.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8395, "hostname": "us8395.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8396, "hostname": "us8396.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8396, "hostname": "us8396.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8397, "hostname": "us8397.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8397, "hostname": "us8397.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8398, "hostname": "us8398.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8398, "hostname": "us8398.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8399, "hostname": "us8399.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8399, "hostname": "us8399.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8400, "hostname": "us8400.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8400, "hostname": "us8400.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8401, "hostname": "us8401.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8401, "hostname": "us8401.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8402, "hostname": "us8402.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8402, "hostname": "us8402.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8403, "hostname": "us8403.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8403, "hostname": "us8403.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8404, "hostname": "us8404.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8404, "hostname": "us8404.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8405, "hostname": "us8405.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8405, "hostname": "us8405.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8406, "hostname": "us8406.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8406, "hostname": "us8406.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8407, "hostname": "us8407.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8407, "hostname": "us8407.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8408, "hostname": "us8408.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8408, "hostname": "us8408.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8409, "hostname": "us8409.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8409, "hostname": "us8409.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8410, "hostname": "us8410.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8410, "hostname": "us8410.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8411, "hostname": "us8411.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8411, "hostname": "us8411.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8412, "hostname": "us8412.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8412, "hostname": "us8412.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8413, "hostname": "us8413.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8413, "hostname": "us8413.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8414, "hostname": "us8414.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8414, "hostname": "us8414.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8415, "hostname": "us8415.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8415, "hostname": "us8415.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8416, "hostname": "us8416.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8416, "hostname": "us8416.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8417, "hostname": "us8417.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8417, "hostname": "us8417.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8418, "hostname": "us8418.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8418, "hostname": "us8418.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8419, "hostname": "us8419.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8419, "hostname": "us8419.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8420, "hostname": "us8420.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8420, "hostname": "us8420.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8421, "hostname": "us8421.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8421, "hostname": "us8421.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8422, "hostname": "us8422.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8422, "hostname": "us8422.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8423, "hostname": "us8423.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.116.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 8423, "hostname": "us8423.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "192.145.116.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9509, "hostname": "us9509.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9509, "hostname": "us9509.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9510, "hostname": "us9510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.10" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9510, "hostname": "us9510.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9511, "hostname": "us9511.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9511, "hostname": "us9511.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9512, "hostname": "us9512.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9512, "hostname": "us9512.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9513, "hostname": "us9513.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9513, "hostname": "us9513.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9514, "hostname": "us9514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9514, "hostname": "us9514.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9515, "hostname": "us9515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9515, "hostname": "us9515.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9516, "hostname": "us9516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.58" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9516, "hostname": "us9516.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9517, "hostname": "us9517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9517, "hostname": "us9517.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9518, "hostname": "us9518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.74" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9518, "hostname": "us9518.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.74" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9519, "hostname": "us9519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9519, "hostname": "us9519.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9520, "hostname": "us9520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.90" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9520, "hostname": "us9520.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9521, "hostname": "us9521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9521, "hostname": "us9521.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9522, "hostname": "us9522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9522, "hostname": "us9522.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9523, "hostname": "us9523.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9523, "hostname": "us9523.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9524, "hostname": "us9524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9524, "hostname": "us9524.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9525, "hostname": "us9525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9525, "hostname": "us9525.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9526, "hostname": "us9526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9526, "hostname": "us9526.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9527, "hostname": "us9527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9527, "hostname": "us9527.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9528, "hostname": "us9528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9528, "hostname": "us9528.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9529, "hostname": "us9529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9529, "hostname": "us9529.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9530, "hostname": "us9530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.170" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9530, "hostname": "us9530.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.170" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9531, "hostname": "us9531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.178" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9531, "hostname": "us9531.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9532, "hostname": "us9532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.186" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9532, "hostname": "us9532.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.186" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9533, "hostname": "us9533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9533, "hostname": "us9533.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9534, "hostname": "us9534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.202" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9534, "hostname": "us9534.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.202" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9535, "hostname": "us9535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9535, "hostname": "us9535.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9536, "hostname": "us9536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.218" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9536, "hostname": "us9536.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.218" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9537, "hostname": "us9537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.226" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9537, "hostname": "us9537.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9538, "hostname": "us9538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.233" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9538, "hostname": "us9538.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.233" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9539, "hostname": "us9539.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9539, "hostname": "us9539.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9540, "hostname": "us9540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.114.38.247" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9540, "hostname": "us9540.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "217.114.38.247" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9921, "hostname": "us9921.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9921, "hostname": "us9921.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9922, "hostname": "us9922.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9922, "hostname": "us9922.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9923, "hostname": "us9923.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9923, "hostname": "us9923.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9924, "hostname": "us9924.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9924, "hostname": "us9924.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9925, "hostname": "us9925.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9925, "hostname": "us9925.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9926, "hostname": "us9926.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9926, "hostname": "us9926.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9927, "hostname": "us9927.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9927, "hostname": "us9927.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9928, "hostname": "us9928.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9928, "hostname": "us9928.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9929, "hostname": "us9929.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9929, "hostname": "us9929.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9930, "hostname": "us9930.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9930, "hostname": "us9930.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9931, "hostname": "us9931.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9931, "hostname": "us9931.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9932, "hostname": "us9932.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9932, "hostname": "us9932.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9933, "hostname": "us9933.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.144.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9933, "hostname": "us9933.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.144.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9934, "hostname": "us9934.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9934, "hostname": "us9934.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9935, "hostname": "us9935.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.15" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9935, "hostname": "us9935.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.15" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9936, "hostname": "us9936.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.28" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9936, "hostname": "us9936.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.28" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9937, "hostname": "us9937.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.41" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9937, "hostname": "us9937.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.41" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9938, "hostname": "us9938.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9938, "hostname": "us9938.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9939, "hostname": "us9939.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9939, "hostname": "us9939.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9940, "hostname": "us9940.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.79" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9940, "hostname": "us9940.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.79" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9941, "hostname": "us9941.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9941, "hostname": "us9941.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9942, "hostname": "us9942.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.103" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9942, "hostname": "us9942.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.103" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9943, "hostname": "us9943.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.85.145.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 9943, "hostname": "us9943.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "45.85.145.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10031, "hostname": "us10031.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.22.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10031, "hostname": "us10031.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "154.47.22.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10032, "hostname": "us10032.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.1" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10032, "hostname": "us10032.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "P2P", "Standard VPN servers" ], "number": 10034, "hostname": "us10034.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.5" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "P2P", "Standard VPN servers" ], "number": 10034, "hostname": "us10034.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10035, "hostname": "us10035.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10035, "hostname": "us10035.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10036, "hostname": "us10036.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.9" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10036, "hostname": "us10036.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.9" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10037, "hostname": "us10037.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10037, "hostname": "us10037.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10038, "hostname": "us10038.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10038, "hostname": "us10038.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10039, "hostname": "us10039.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.15" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10039, "hostname": "us10039.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.15" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10040, "hostname": "us10040.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10040, "hostname": "us10040.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10041, "hostname": "us10041.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10041, "hostname": "us10041.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10042, "hostname": "us10042.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.21" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10042, "hostname": "us10042.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10043, "hostname": "us10043.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10043, "hostname": "us10043.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10044, "hostname": "us10044.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.25" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10044, "hostname": "us10044.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.25" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10045, "hostname": "us10045.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10045, "hostname": "us10045.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10046, "hostname": "us10046.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.29" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10046, "hostname": "us10046.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.29" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10047, "hostname": "us10047.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.31" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10047, "hostname": "us10047.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.31" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10048, "hostname": "us10048.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.33" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10048, "hostname": "us10048.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.33" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10049, "hostname": "us10049.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10049, "hostname": "us10049.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10050, "hostname": "us10050.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.196.69.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10050, "hostname": "us10050.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "91.196.69.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10268, "hostname": "us10268.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.22.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Manassas", "categories": [ "Standard VPN servers", "P2P" ], "number": 10268, "hostname": "us10268.nordvpn.com", "wgpubkey": "vR4DQPU577hI6PbjxmUkhlAEXIGISzmlvr9yqQs5uGc=", "ips": [ "154.47.22.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5351, "hostname": "us5351.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5351, "hostname": "us5351.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5500, "hostname": "us5500.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.157.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5500, "hostname": "us5500.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.157.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5501, "hostname": "us5501.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.157.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5501, "hostname": "us5501.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.157.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5502, "hostname": "us5502.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.157.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5502, "hostname": "us5502.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.157.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5605, "hostname": "us5605.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.157.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5605, "hostname": "us5605.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.157.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5606, "hostname": "us5606.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.157.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5606, "hostname": "us5606.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.157.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5741, "hostname": "us5741.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5741, "hostname": "us5741.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5742, "hostname": "us5742.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5742, "hostname": "us5742.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5743, "hostname": "us5743.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5743, "hostname": "us5743.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5744, "hostname": "us5744.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5744, "hostname": "us5744.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5745, "hostname": "us5745.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5745, "hostname": "us5745.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5746, "hostname": "us5746.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5746, "hostname": "us5746.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5747, "hostname": "us5747.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5747, "hostname": "us5747.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5748, "hostname": "us5748.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5748, "hostname": "us5748.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5935, "hostname": "us5935.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.157.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5935, "hostname": "us5935.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.157.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5936, "hostname": "us5936.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.157.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5936, "hostname": "us5936.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.157.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5937, "hostname": "us5937.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5937, "hostname": "us5937.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5938, "hostname": "us5938.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5938, "hostname": "us5938.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5939, "hostname": "us5939.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.49" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5939, "hostname": "us5939.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.49" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5940, "hostname": "us5940.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5940, "hostname": "us5940.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5941, "hostname": "us5941.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.40" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5941, "hostname": "us5941.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5942, "hostname": "us5942.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 5942, "hostname": "us5942.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6126, "hostname": "us6126.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.245.86.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6126, "hostname": "us6126.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.245.86.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6245, "hostname": "us6245.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.200" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6245, "hostname": "us6245.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "156.146.43.200" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6246, "hostname": "us6246.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.197" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6246, "hostname": "us6246.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "156.146.43.197" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6247, "hostname": "us6247.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6247, "hostname": "us6247.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "156.146.43.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6248, "hostname": "us6248.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.206" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6248, "hostname": "us6248.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "156.146.43.206" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6474, "hostname": "us6474.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.87.214.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6474, "hostname": "us6474.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "45.87.214.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6607, "hostname": "us6607.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6607, "hostname": "us6607.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6608, "hostname": "us6608.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6608, "hostname": "us6608.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6609, "hostname": "us6609.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6609, "hostname": "us6609.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6610, "hostname": "us6610.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6610, "hostname": "us6610.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6611, "hostname": "us6611.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6611, "hostname": "us6611.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6612, "hostname": "us6612.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 6612, "hostname": "us6612.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6758, "hostname": "us6758.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6758, "hostname": "us6758.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6760, "hostname": "us6760.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6760, "hostname": "us6760.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6761, "hostname": "us6761.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6761, "hostname": "us6761.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6762, "hostname": "us6762.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6762, "hostname": "us6762.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6763, "hostname": "us6763.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6763, "hostname": "us6763.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6765, "hostname": "us6765.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6765, "hostname": "us6765.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6766, "hostname": "us6766.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.215.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "P2P", "Standard VPN servers" ], "number": 6766, "hostname": "us6766.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "37.120.215.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8083, "hostname": "us8083.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.27.12.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8083, "hostname": "us8083.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "193.27.12.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8786, "hostname": "us8786.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.50.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8786, "hostname": "us8786.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "138.199.50.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8787, "hostname": "us8787.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.50.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8787, "hostname": "us8787.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "138.199.50.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8788, "hostname": "us8788.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.50.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8788, "hostname": "us8788.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "138.199.50.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8789, "hostname": "us8789.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.50.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8789, "hostname": "us8789.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "138.199.50.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8790, "hostname": "us8790.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.50.22" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 8790, "hostname": "us8790.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "138.199.50.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9094, "hostname": "us9094.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.1" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9094, "hostname": "us9094.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9095, "hostname": "us9095.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9095, "hostname": "us9095.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9096, "hostname": "us9096.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.5" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9096, "hostname": "us9096.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9097, "hostname": "us9097.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9097, "hostname": "us9097.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9098, "hostname": "us9098.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.9" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9098, "hostname": "us9098.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.9" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9099, "hostname": "us9099.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9099, "hostname": "us9099.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9100, "hostname": "us9100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9100, "hostname": "us9100.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9101, "hostname": "us9101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.15" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9101, "hostname": "us9101.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.15" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9102, "hostname": "us9102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9102, "hostname": "us9102.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9103, "hostname": "us9103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9103, "hostname": "us9103.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9104, "hostname": "us9104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.21" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9104, "hostname": "us9104.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9105, "hostname": "us9105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9105, "hostname": "us9105.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9106, "hostname": "us9106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.25" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9106, "hostname": "us9106.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.25" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9107, "hostname": "us9107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9107, "hostname": "us9107.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9108, "hostname": "us9108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.29" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9108, "hostname": "us9108.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.29" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9109, "hostname": "us9109.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.31" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9109, "hostname": "us9109.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.31" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9110, "hostname": "us9110.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.33" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9110, "hostname": "us9110.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.33" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9111, "hostname": "us9111.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9111, "hostname": "us9111.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9112, "hostname": "us9112.nordvpn.com", "tcp": true, "udp": true, "ips": [ "94.140.11.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9112, "hostname": "us9112.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "94.140.11.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9370, "hostname": "us9370.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9370, "hostname": "us9370.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9371, "hostname": "us9371.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9371, "hostname": "us9371.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9372, "hostname": "us9372.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9372, "hostname": "us9372.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9373, "hostname": "us9373.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9373, "hostname": "us9373.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9374, "hostname": "us9374.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9374, "hostname": "us9374.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9375, "hostname": "us9375.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9375, "hostname": "us9375.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9376, "hostname": "us9376.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9376, "hostname": "us9376.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9377, "hostname": "us9377.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9377, "hostname": "us9377.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9378, "hostname": "us9378.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9378, "hostname": "us9378.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9379, "hostname": "us9379.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9379, "hostname": "us9379.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9380, "hostname": "us9380.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9380, "hostname": "us9380.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9381, "hostname": "us9381.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9381, "hostname": "us9381.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9382, "hostname": "us9382.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9382, "hostname": "us9382.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9383, "hostname": "us9383.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9383, "hostname": "us9383.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9384, "hostname": "us9384.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9384, "hostname": "us9384.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9385, "hostname": "us9385.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9385, "hostname": "us9385.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9386, "hostname": "us9386.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9386, "hostname": "us9386.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9387, "hostname": "us9387.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9387, "hostname": "us9387.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9388, "hostname": "us9388.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9388, "hostname": "us9388.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9389, "hostname": "us9389.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9389, "hostname": "us9389.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9390, "hostname": "us9390.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9390, "hostname": "us9390.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9391, "hostname": "us9391.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9391, "hostname": "us9391.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9392, "hostname": "us9392.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9392, "hostname": "us9392.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9393, "hostname": "us9393.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9393, "hostname": "us9393.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9394, "hostname": "us9394.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9394, "hostname": "us9394.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9395, "hostname": "us9395.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9395, "hostname": "us9395.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9396, "hostname": "us9396.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9396, "hostname": "us9396.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9397, "hostname": "us9397.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9397, "hostname": "us9397.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9398, "hostname": "us9398.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9398, "hostname": "us9398.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9399, "hostname": "us9399.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9399, "hostname": "us9399.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9400, "hostname": "us9400.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9400, "hostname": "us9400.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9401, "hostname": "us9401.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.203.218.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9401, "hostname": "us9401.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "185.203.218.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9634, "hostname": "us9634.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9634, "hostname": "us9634.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9635, "hostname": "us9635.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9635, "hostname": "us9635.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9636, "hostname": "us9636.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9636, "hostname": "us9636.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9637, "hostname": "us9637.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9637, "hostname": "us9637.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9638, "hostname": "us9638.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9638, "hostname": "us9638.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9639, "hostname": "us9639.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9639, "hostname": "us9639.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9640, "hostname": "us9640.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9640, "hostname": "us9640.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9641, "hostname": "us9641.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9641, "hostname": "us9641.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9642, "hostname": "us9642.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9642, "hostname": "us9642.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9643, "hostname": "us9643.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9643, "hostname": "us9643.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9644, "hostname": "us9644.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9644, "hostname": "us9644.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9645, "hostname": "us9645.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.178" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9645, "hostname": "us9645.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9646, "hostname": "us9646.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9646, "hostname": "us9646.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9647, "hostname": "us9647.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9647, "hostname": "us9647.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9648, "hostname": "us9648.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9648, "hostname": "us9648.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9649, "hostname": "us9649.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.150.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9649, "hostname": "us9649.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.150.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9650, "hostname": "us9650.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9650, "hostname": "us9650.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9651, "hostname": "us9651.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9651, "hostname": "us9651.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9652, "hostname": "us9652.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9652, "hostname": "us9652.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9653, "hostname": "us9653.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9653, "hostname": "us9653.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9654, "hostname": "us9654.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9654, "hostname": "us9654.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9655, "hostname": "us9655.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9655, "hostname": "us9655.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9656, "hostname": "us9656.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9656, "hostname": "us9656.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9657, "hostname": "us9657.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9657, "hostname": "us9657.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9658, "hostname": "us9658.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9658, "hostname": "us9658.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9659, "hostname": "us9659.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9659, "hostname": "us9659.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9660, "hostname": "us9660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9660, "hostname": "us9660.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9661, "hostname": "us9661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.178" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9661, "hostname": "us9661.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.178" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9662, "hostname": "us9662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.194" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9662, "hostname": "us9662.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9663, "hostname": "us9663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9663, "hostname": "us9663.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9664, "hostname": "us9664.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9664, "hostname": "us9664.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9665, "hostname": "us9665.nordvpn.com", "tcp": true, "udp": true, "ips": [ "181.214.151.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Standard VPN servers", "P2P" ], "number": 9665, "hostname": "us9665.nordvpn.com", "wgpubkey": "e8LKAc+f9xEzq9Ar7+MfKRrs+gZ/4yzvpRJLRJ/VJ1w=", "ips": [ "181.214.151.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10295, "hostname": "us10295.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.50.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10296, "hostname": "us10296.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.50.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10297, "hostname": "us10297.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.209" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10298, "hostname": "us10298.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10299, "hostname": "us10299.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.214" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10300, "hostname": "us10300.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.43.216" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10301, "hostname": "us10301.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10302, "hostname": "us10302.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10307, "hostname": "us10307.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.229" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10308, "hostname": "us10308.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10355, "hostname": "us10355.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.239" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10356, "hostname": "us10356.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10379, "hostname": "us10379.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.244" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10380, "hostname": "us10380.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.224.246" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10407, "hostname": "us10407.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10408, "hostname": "us10408.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.196" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10440, "hostname": "us10440.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.209" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10441, "hostname": "us10441.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10442, "hostname": "us10442.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10443, "hostname": "us10443.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.201" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10444, "hostname": "us10444.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.204" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10445, "hostname": "us10445.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.206" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10492, "hostname": "us10492.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.215" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10493, "hostname": "us10493.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.217" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10532, "hostname": "us10532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10534, "hostname": "us10534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10535, "hostname": "us10535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.73" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10550, "hostname": "us10550.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10551, "hostname": "us10551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10580, "hostname": "us10580.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "categories": [ "Dedicated IP" ], "number": 10581, "hostname": "us10581.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.17.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 63, "hostname": "ca-us63.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 63, "hostname": "ca-us63.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 64, "hostname": "ca-us64.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 64, "hostname": "ca-us64.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 65, "hostname": "ca-us65.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 65, "hostname": "ca-us65.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 66, "hostname": "ca-us66.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 66, "hostname": "ca-us66.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 67, "hostname": "ca-us67.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 67, "hostname": "ca-us67.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 68, "hostname": "ca-us68.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 68, "hostname": "ca-us68.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 69, "hostname": "ca-us69.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 69, "hostname": "ca-us69.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 70, "hostname": "ca-us70.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 70, "hostname": "ca-us70.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 71, "hostname": "ca-us71.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.22" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 71, "hostname": "ca-us71.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 72, "hostname": "ca-us72.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 72, "hostname": "ca-us72.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 73, "hostname": "ca-us73.nordvpn.com", "tcp": true, "udp": true, "ips": [ "169.150.204.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 73, "hostname": "ca-us73.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "169.150.204.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 74, "hostname": "ca-us74.nordvpn.com", "tcp": true, "udp": true, "ips": [ "178.249.214.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 74, "hostname": "ca-us74.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "178.249.214.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 89, "hostname": "ca-us89.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.214" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 89, "hostname": "ca-us89.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.212.214" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 90, "hostname": "ca-us90.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 90, "hostname": "ca-us90.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.212.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 91, "hostname": "ca-us91.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.215" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 91, "hostname": "ca-us91.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.212.215" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 92, "hostname": "ca-us92.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.212.224" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Double VPN" ], "number": 92, "hostname": "ca-us92.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.212.224" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 4735, "hostname": "us4735.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 4735, "hostname": "us4735.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5057, "hostname": "us5057.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5057, "hostname": "us5057.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5058, "hostname": "us5058.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5058, "hostname": "us5058.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5059, "hostname": "us5059.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.139" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5059, "hostname": "us5059.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5060, "hostname": "us5060.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5060, "hostname": "us5060.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5099, "hostname": "us5099.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.227" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5099, "hostname": "us5099.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5100, "hostname": "us5100.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.230" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5100, "hostname": "us5100.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.230" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5101, "hostname": "us5101.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.233" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5101, "hostname": "us5101.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.233" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5102, "hostname": "us5102.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.236" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5102, "hostname": "us5102.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5103, "hostname": "us5103.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.239" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5103, "hostname": "us5103.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.239" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5104, "hostname": "us5104.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.242" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5104, "hostname": "us5104.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.242" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5105, "hostname": "us5105.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.245" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5105, "hostname": "us5105.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.245" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5106, "hostname": "us5106.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.248" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5106, "hostname": "us5106.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.248" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5107, "hostname": "us5107.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5107, "hostname": "us5107.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5108, "hostname": "us5108.nordvpn.com", "tcp": true, "udp": true, "ips": [ "86.107.55.253" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5108, "hostname": "us5108.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "86.107.55.253" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5339, "hostname": "us5339.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.33.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5339, "hostname": "us5339.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "212.102.33.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5340, "hostname": "us5340.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.33.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5340, "hostname": "us5340.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "212.102.33.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5341, "hostname": "us5341.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.33.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5341, "hostname": "us5341.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "212.102.33.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5508, "hostname": "us5508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5508, "hostname": "us5508.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5509, "hostname": "us5509.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5509, "hostname": "us5509.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5510, "hostname": "us5510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5510, "hostname": "us5510.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5529, "hostname": "us5529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.103.48.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5529, "hostname": "us5529.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "212.103.48.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5530, "hostname": "us5530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.103.48.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5530, "hostname": "us5530.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "212.103.48.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5561, "hostname": "us5561.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.33.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5561, "hostname": "us5561.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "212.102.33.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5610, "hostname": "us5610.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5610, "hostname": "us5610.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5611, "hostname": "us5611.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5611, "hostname": "us5611.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5612, "hostname": "us5612.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.36.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5612, "hostname": "us5612.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "156.146.36.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5613, "hostname": "us5613.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.33.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5613, "hostname": "us5613.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "212.102.33.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5614, "hostname": "us5614.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.36.39" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5614, "hostname": "us5614.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "156.146.36.39" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5615, "hostname": "us5615.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.36.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5615, "hostname": "us5615.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "156.146.36.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5818, "hostname": "us5818.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5818, "hostname": "us5818.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5819, "hostname": "us5819.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5819, "hostname": "us5819.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5820, "hostname": "us5820.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5820, "hostname": "us5820.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5821, "hostname": "us5821.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5821, "hostname": "us5821.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5822, "hostname": "us5822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.40" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5822, "hostname": "us5822.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5823, "hostname": "us5823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5823, "hostname": "us5823.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5824, "hostname": "us5824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5824, "hostname": "us5824.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5825, "hostname": "us5825.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5825, "hostname": "us5825.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5826, "hostname": "us5826.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.48" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5826, "hostname": "us5826.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.48" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5827, "hostname": "us5827.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5827, "hostname": "us5827.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5828, "hostname": "us5828.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5828, "hostname": "us5828.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5829, "hostname": "us5829.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5829, "hostname": "us5829.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5830, "hostname": "us5830.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.56" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5830, "hostname": "us5830.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5831, "hostname": "us5831.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.58" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5831, "hostname": "us5831.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5832, "hostname": "us5832.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.60" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5832, "hostname": "us5832.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.60" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5833, "hostname": "us5833.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5833, "hostname": "us5833.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5834, "hostname": "us5834.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.64" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5834, "hostname": "us5834.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.64" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5835, "hostname": "us5835.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5835, "hostname": "us5835.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5836, "hostname": "us5836.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5836, "hostname": "us5836.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5837, "hostname": "us5837.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.70" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5837, "hostname": "us5837.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.70" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5838, "hostname": "us5838.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.72" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5838, "hostname": "us5838.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5839, "hostname": "us5839.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.74" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5839, "hostname": "us5839.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.74" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5840, "hostname": "us5840.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5840, "hostname": "us5840.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5841, "hostname": "us5841.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.78" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5841, "hostname": "us5841.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.78" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5842, "hostname": "us5842.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.80" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5842, "hostname": "us5842.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5843, "hostname": "us5843.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5843, "hostname": "us5843.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5844, "hostname": "us5844.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5844, "hostname": "us5844.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5845, "hostname": "us5845.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.86" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5845, "hostname": "us5845.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5846, "hostname": "us5846.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.88" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5846, "hostname": "us5846.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.88" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5847, "hostname": "us5847.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.90" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5847, "hostname": "us5847.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5946, "hostname": "us5946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5946, "hostname": "us5946.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.244.215.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5947, "hostname": "us5947.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5947, "hostname": "us5947.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.244.215.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5953, "hostname": "us5953.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.137.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5953, "hostname": "us5953.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "91.132.137.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5955, "hostname": "us5955.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.137.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5955, "hostname": "us5955.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "91.132.137.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5956, "hostname": "us5956.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.137.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 5956, "hostname": "us5956.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "91.132.137.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6045, "hostname": "us6045.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6045, "hostname": "us6045.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "176.113.72.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6046, "hostname": "us6046.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.206.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6046, "hostname": "us6046.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.206.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6047, "hostname": "us6047.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.206.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6047, "hostname": "us6047.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.206.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6352, "hostname": "us6352.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.137.115" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6352, "hostname": "us6352.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "91.132.137.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6480, "hostname": "us6480.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6480, "hostname": "us6480.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6482, "hostname": "us6482.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6482, "hostname": "us6482.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6483, "hostname": "us6483.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6483, "hostname": "us6483.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6484, "hostname": "us6484.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6484, "hostname": "us6484.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6485, "hostname": "us6485.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6485, "hostname": "us6485.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6486, "hostname": "us6486.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6486, "hostname": "us6486.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6487, "hostname": "us6487.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6487, "hostname": "us6487.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6488, "hostname": "us6488.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6488, "hostname": "us6488.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6489, "hostname": "us6489.nordvpn.com", "tcp": true, "udp": true, "ips": [ "5.181.234.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6489, "hostname": "us6489.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "5.181.234.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6490, "hostname": "us6490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.178.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6490, "hostname": "us6490.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.178.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6491, "hostname": "us6491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.178.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6491, "hostname": "us6491.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.178.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6492, "hostname": "us6492.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.178.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6492, "hostname": "us6492.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.178.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6493, "hostname": "us6493.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.177.231" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6493, "hostname": "us6493.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.177.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6494, "hostname": "us6494.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.177.236" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6494, "hostname": "us6494.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.177.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6495, "hostname": "us6495.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.178.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6495, "hostname": "us6495.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.178.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6496, "hostname": "us6496.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.178.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6496, "hostname": "us6496.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.178.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6497, "hostname": "us6497.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.178.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6497, "hostname": "us6497.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.178.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6613, "hostname": "us6613.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.178.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6613, "hostname": "us6613.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.178.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6614, "hostname": "us6614.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.177.226" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6614, "hostname": "us6614.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "89.187.177.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6620, "hostname": "us6620.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.180.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6620, "hostname": "us6620.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.152.180.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6775, "hostname": "us6775.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.180.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6775, "hostname": "us6775.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.152.180.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6776, "hostname": "us6776.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.180.235" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6776, "hostname": "us6776.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.152.180.235" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6777, "hostname": "us6777.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.180.243" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6777, "hostname": "us6777.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.152.180.243" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6778, "hostname": "us6778.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.152.180.251" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6778, "hostname": "us6778.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.152.180.251" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6779, "hostname": "us6779.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6779, "hostname": "us6779.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6780, "hostname": "us6780.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6780, "hostname": "us6780.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6781, "hostname": "us6781.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6781, "hostname": "us6781.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6782, "hostname": "us6782.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6782, "hostname": "us6782.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6783, "hostname": "us6783.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6783, "hostname": "us6783.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6784, "hostname": "us6784.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6784, "hostname": "us6784.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6821, "hostname": "us6821.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.93" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6821, "hostname": "us6821.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.93" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6822, "hostname": "us6822.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.96" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6822, "hostname": "us6822.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.96" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6823, "hostname": "us6823.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6823, "hostname": "us6823.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6824, "hostname": "us6824.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6824, "hostname": "us6824.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6825, "hostname": "us6825.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.105" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6825, "hostname": "us6825.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6826, "hostname": "us6826.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6826, "hostname": "us6826.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6827, "hostname": "us6827.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.111" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6827, "hostname": "us6827.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.111" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6828, "hostname": "us6828.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6828, "hostname": "us6828.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6829, "hostname": "us6829.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.117" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6829, "hostname": "us6829.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6830, "hostname": "us6830.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6830, "hostname": "us6830.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6911, "hostname": "us6911.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6911, "hostname": "us6911.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6912, "hostname": "us6912.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6912, "hostname": "us6912.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6913, "hostname": "us6913.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6913, "hostname": "us6913.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6914, "hostname": "us6914.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.198.227" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6914, "hostname": "us6914.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.198.227" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6915, "hostname": "us6915.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.35.246" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6915, "hostname": "us6915.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "84.17.35.246" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6916, "hostname": "us6916.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.35.226" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6916, "hostname": "us6916.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "84.17.35.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6917, "hostname": "us6917.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.35.231" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6917, "hostname": "us6917.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "84.17.35.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6918, "hostname": "us6918.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.35.236" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6918, "hostname": "us6918.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "84.17.35.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6919, "hostname": "us6919.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.35.241" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "P2P", "Standard VPN servers" ], "number": 6919, "hostname": "us6919.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "84.17.35.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6944, "hostname": "us6944.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6944, "hostname": "us6944.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6946, "hostname": "us6946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6946, "hostname": "us6946.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6947, "hostname": "us6947.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6947, "hostname": "us6947.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6948, "hostname": "us6948.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6948, "hostname": "us6948.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6949, "hostname": "us6949.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.135" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6949, "hostname": "us6949.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6950, "hostname": "us6950.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6950, "hostname": "us6950.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6951, "hostname": "us6951.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.141" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6951, "hostname": "us6951.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6952, "hostname": "us6952.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6952, "hostname": "us6952.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6953, "hostname": "us6953.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.147" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6953, "hostname": "us6953.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6954, "hostname": "us6954.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 6954, "hostname": "us6954.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8342, "hostname": "us8342.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8342, "hostname": "us8342.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8343, "hostname": "us8343.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.5" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8343, "hostname": "us8343.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8344, "hostname": "us8344.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8344, "hostname": "us8344.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8345, "hostname": "us8345.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8345, "hostname": "us8345.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8346, "hostname": "us8346.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8346, "hostname": "us8346.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8347, "hostname": "us8347.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8347, "hostname": "us8347.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8348, "hostname": "us8348.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8348, "hostname": "us8348.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8349, "hostname": "us8349.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8349, "hostname": "us8349.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8350, "hostname": "us8350.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.29" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8350, "hostname": "us8350.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.29" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8351, "hostname": "us8351.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8351, "hostname": "us8351.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8352, "hostname": "us8352.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8352, "hostname": "us8352.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8353, "hostname": "us8353.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.196.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8353, "hostname": "us8353.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.196.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8355, "hostname": "us8355.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8355, "hostname": "us8355.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8356, "hostname": "us8356.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8356, "hostname": "us8356.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8357, "hostname": "us8357.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.74" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8357, "hostname": "us8357.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.74" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8358, "hostname": "us8358.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.77" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8358, "hostname": "us8358.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.77" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8359, "hostname": "us8359.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.80" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8359, "hostname": "us8359.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8360, "hostname": "us8360.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8360, "hostname": "us8360.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8361, "hostname": "us8361.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.86" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8361, "hostname": "us8361.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8362, "hostname": "us8362.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.89" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8362, "hostname": "us8362.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.89" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8363, "hostname": "us8363.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.92" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8363, "hostname": "us8363.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8364, "hostname": "us8364.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.95" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8364, "hostname": "us8364.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.95" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8365, "hostname": "us8365.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8365, "hostname": "us8365.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8366, "hostname": "us8366.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8366, "hostname": "us8366.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8367, "hostname": "us8367.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8367, "hostname": "us8367.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8368, "hostname": "us8368.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8368, "hostname": "us8368.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8369, "hostname": "us8369.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8369, "hostname": "us8369.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8370, "hostname": "us8370.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.113" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8370, "hostname": "us8370.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.113" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8371, "hostname": "us8371.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8371, "hostname": "us8371.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8372, "hostname": "us8372.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.119" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8372, "hostname": "us8372.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.119" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8373, "hostname": "us8373.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8373, "hostname": "us8373.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8374, "hostname": "us8374.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.53" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8374, "hostname": "us8374.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8375, "hostname": "us8375.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.56" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8375, "hostname": "us8375.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8376, "hostname": "us8376.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8376, "hostname": "us8376.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8377, "hostname": "us8377.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8377, "hostname": "us8377.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8378, "hostname": "us8378.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.65" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8378, "hostname": "us8378.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.65" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8379, "hostname": "us8379.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8379, "hostname": "us8379.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8380, "hostname": "us8380.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8380, "hostname": "us8380.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8381, "hostname": "us8381.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.52.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8381, "hostname": "us8381.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "138.199.52.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8501, "hostname": "us8501.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8501, "hostname": "us8501.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8641, "hostname": "us8641.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8641, "hostname": "us8641.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8642, "hostname": "us8642.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.72" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8642, "hostname": "us8642.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8643, "hostname": "us8643.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8643, "hostname": "us8643.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8644, "hostname": "us8644.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.80" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8644, "hostname": "us8644.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8645, "hostname": "us8645.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8645, "hostname": "us8645.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8646, "hostname": "us8646.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8646, "hostname": "us8646.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8647, "hostname": "us8647.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.39" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8647, "hostname": "us8647.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.39" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8648, "hostname": "us8648.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.199.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8648, "hostname": "us8648.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.199.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8649, "hostname": "us8649.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.218" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8649, "hostname": "us8649.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.218" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8650, "hostname": "us8650.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.220" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8650, "hostname": "us8650.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.220" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8651, "hostname": "us8651.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.222" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8651, "hostname": "us8651.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.222" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8652, "hostname": "us8652.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.224" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8652, "hostname": "us8652.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.224" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8653, "hostname": "us8653.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.226" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8653, "hostname": "us8653.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.226" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8654, "hostname": "us8654.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.228" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8654, "hostname": "us8654.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.228" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8655, "hostname": "us8655.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.230" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8655, "hostname": "us8655.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.230" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8656, "hostname": "us8656.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.232" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8656, "hostname": "us8656.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.232" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8657, "hostname": "us8657.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.234" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8657, "hostname": "us8657.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.234" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8658, "hostname": "us8658.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.236" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8658, "hostname": "us8658.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.236" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8659, "hostname": "us8659.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.238" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8659, "hostname": "us8659.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.238" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8660, "hostname": "us8660.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8660, "hostname": "us8660.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8661, "hostname": "us8661.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.242" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8661, "hostname": "us8661.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.242" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8662, "hostname": "us8662.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.244" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8662, "hostname": "us8662.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.244" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8663, "hostname": "us8663.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.246" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8663, "hostname": "us8663.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.246" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8664, "hostname": "us8664.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.248" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8664, "hostname": "us8664.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.248" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8665, "hostname": "us8665.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.250" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8665, "hostname": "us8665.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.250" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8666, "hostname": "us8666.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.252" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8666, "hostname": "us8666.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.252" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8667, "hostname": "us8667.nordvpn.com", "tcp": true, "udp": true, "ips": [ "62.182.99.254" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8667, "hostname": "us8667.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "62.182.99.254" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8668, "hostname": "us8668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8668, "hostname": "us8668.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8669, "hostname": "us8669.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.5" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8669, "hostname": "us8669.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8670, "hostname": "us8670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8670, "hostname": "us8670.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8671, "hostname": "us8671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.9" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8671, "hostname": "us8671.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.9" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8672, "hostname": "us8672.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8672, "hostname": "us8672.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8673, "hostname": "us8673.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8673, "hostname": "us8673.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8674, "hostname": "us8674.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.15" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8674, "hostname": "us8674.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.15" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8675, "hostname": "us8675.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8675, "hostname": "us8675.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8676, "hostname": "us8676.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8676, "hostname": "us8676.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8677, "hostname": "us8677.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.21" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8677, "hostname": "us8677.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8678, "hostname": "us8678.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8678, "hostname": "us8678.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8679, "hostname": "us8679.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.25" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8679, "hostname": "us8679.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.25" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8680, "hostname": "us8680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.27" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8680, "hostname": "us8680.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8681, "hostname": "us8681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.29" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8681, "hostname": "us8681.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.29" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8682, "hostname": "us8682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.31" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8682, "hostname": "us8682.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.31" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8683, "hostname": "us8683.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.33" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8683, "hostname": "us8683.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.33" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8684, "hostname": "us8684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8684, "hostname": "us8684.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8685, "hostname": "us8685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.37" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8685, "hostname": "us8685.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.37" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8686, "hostname": "us8686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.39" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8686, "hostname": "us8686.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.39" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8687, "hostname": "us8687.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.41" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8687, "hostname": "us8687.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.41" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8688, "hostname": "us8688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.43" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8688, "hostname": "us8688.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.43" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8689, "hostname": "us8689.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.45" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8689, "hostname": "us8689.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.45" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8690, "hostname": "us8690.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8690, "hostname": "us8690.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8691, "hostname": "us8691.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.49" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8691, "hostname": "us8691.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.49" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8692, "hostname": "us8692.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8692, "hostname": "us8692.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8693, "hostname": "us8693.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.53" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8693, "hostname": "us8693.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8694, "hostname": "us8694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.55" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8694, "hostname": "us8694.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.55" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8695, "hostname": "us8695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.57" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8695, "hostname": "us8695.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.57" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8696, "hostname": "us8696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.243.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8696, "hostname": "us8696.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.187.243.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8791, "hostname": "us8791.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.19.196.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 8791, "hostname": "us8791.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.19.196.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9327, "hostname": "us9327.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9327, "hostname": "us9327.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9328, "hostname": "us9328.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9328, "hostname": "us9328.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9329, "hostname": "us9329.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9329, "hostname": "us9329.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9330, "hostname": "us9330.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.91" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9330, "hostname": "us9330.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.91" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9331, "hostname": "us9331.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.179" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9331, "hostname": "us9331.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9332, "hostname": "us9332.nordvpn.com", "tcp": true, "udp": true, "ips": [ "217.138.208.187" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9332, "hostname": "us9332.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "217.138.208.187" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9333, "hostname": "us9333.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9333, "hostname": "us9333.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9334, "hostname": "us9334.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9334, "hostname": "us9334.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9335, "hostname": "us9335.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9335, "hostname": "us9335.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9336, "hostname": "us9336.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9336, "hostname": "us9336.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9337, "hostname": "us9337.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9337, "hostname": "us9337.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9338, "hostname": "us9338.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9338, "hostname": "us9338.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9339, "hostname": "us9339.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9339, "hostname": "us9339.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9340, "hostname": "us9340.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9340, "hostname": "us9340.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9341, "hostname": "us9341.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9341, "hostname": "us9341.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9342, "hostname": "us9342.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9342, "hostname": "us9342.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9343, "hostname": "us9343.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9343, "hostname": "us9343.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9344, "hostname": "us9344.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9344, "hostname": "us9344.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9345, "hostname": "us9345.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9345, "hostname": "us9345.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9346, "hostname": "us9346.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9346, "hostname": "us9346.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9347, "hostname": "us9347.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9347, "hostname": "us9347.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9348, "hostname": "us9348.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9348, "hostname": "us9348.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9349, "hostname": "us9349.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9349, "hostname": "us9349.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9350, "hostname": "us9350.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9350, "hostname": "us9350.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9351, "hostname": "us9351.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9351, "hostname": "us9351.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9352, "hostname": "us9352.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9352, "hostname": "us9352.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9353, "hostname": "us9353.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9353, "hostname": "us9353.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9354, "hostname": "us9354.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9354, "hostname": "us9354.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9355, "hostname": "us9355.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9355, "hostname": "us9355.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9356, "hostname": "us9356.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9356, "hostname": "us9356.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9357, "hostname": "us9357.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9357, "hostname": "us9357.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9358, "hostname": "us9358.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9358, "hostname": "us9358.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9359, "hostname": "us9359.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9359, "hostname": "us9359.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9360, "hostname": "us9360.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9360, "hostname": "us9360.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9361, "hostname": "us9361.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9361, "hostname": "us9361.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9362, "hostname": "us9362.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9362, "hostname": "us9362.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9363, "hostname": "us9363.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9363, "hostname": "us9363.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9364, "hostname": "us9364.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.202.220.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9364, "hostname": "us9364.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.202.220.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9451, "hostname": "us9451.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.211" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9451, "hostname": "us9451.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.244.215.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9452, "hostname": "us9452.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9452, "hostname": "us9452.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.244.215.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9453, "hostname": "us9453.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9453, "hostname": "us9453.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "176.113.72.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9454, "hostname": "us9454.nordvpn.com", "tcp": true, "udp": true, "ips": [ "176.113.72.75" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9454, "hostname": "us9454.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "176.113.72.75" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9455, "hostname": "us9455.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.13.189.123" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9455, "hostname": "us9455.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "31.13.189.123" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9456, "hostname": "us9456.nordvpn.com", "tcp": true, "udp": true, "ips": [ "37.120.138.171" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9456, "hostname": "us9456.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "37.120.138.171" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9457, "hostname": "us9457.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.163" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9457, "hostname": "us9457.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.244.215.163" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9458, "hostname": "us9458.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.137.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9458, "hostname": "us9458.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "91.132.137.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9463, "hostname": "us9463.nordvpn.com", "tcp": true, "udp": true, "ips": [ "91.132.137.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9463, "hostname": "us9463.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "91.132.137.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9782, "hostname": "us9782.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9782, "hostname": "us9782.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9783, "hostname": "us9783.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9783, "hostname": "us9783.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9784, "hostname": "us9784.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9784, "hostname": "us9784.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9785, "hostname": "us9785.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9785, "hostname": "us9785.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9786, "hostname": "us9786.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9786, "hostname": "us9786.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9787, "hostname": "us9787.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9787, "hostname": "us9787.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9788, "hostname": "us9788.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9788, "hostname": "us9788.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9789, "hostname": "us9789.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9789, "hostname": "us9789.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9790, "hostname": "us9790.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9790, "hostname": "us9790.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9791, "hostname": "us9791.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9791, "hostname": "us9791.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9792, "hostname": "us9792.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9792, "hostname": "us9792.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9793, "hostname": "us9793.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9793, "hostname": "us9793.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9794, "hostname": "us9794.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9794, "hostname": "us9794.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9795, "hostname": "us9795.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9795, "hostname": "us9795.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9796, "hostname": "us9796.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9796, "hostname": "us9796.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9797, "hostname": "us9797.nordvpn.com", "tcp": true, "udp": true, "ips": [ "191.101.160.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9797, "hostname": "us9797.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "191.101.160.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9798, "hostname": "us9798.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9798, "hostname": "us9798.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9799, "hostname": "us9799.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9799, "hostname": "us9799.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9800, "hostname": "us9800.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9800, "hostname": "us9800.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9801, "hostname": "us9801.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9801, "hostname": "us9801.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9802, "hostname": "us9802.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9802, "hostname": "us9802.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9803, "hostname": "us9803.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9803, "hostname": "us9803.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9804, "hostname": "us9804.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9804, "hostname": "us9804.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9805, "hostname": "us9805.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9805, "hostname": "us9805.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9806, "hostname": "us9806.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9806, "hostname": "us9806.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9807, "hostname": "us9807.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9807, "hostname": "us9807.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9808, "hostname": "us9808.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9808, "hostname": "us9808.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9809, "hostname": "us9809.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.180" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9809, "hostname": "us9809.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.180" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9810, "hostname": "us9810.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.195" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9810, "hostname": "us9810.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.195" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9811, "hostname": "us9811.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.210" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9811, "hostname": "us9811.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9812, "hostname": "us9812.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.225" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9812, "hostname": "us9812.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.225" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9813, "hostname": "us9813.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.16.157.240" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9813, "hostname": "us9813.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "154.16.157.240" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9873, "hostname": "us9873.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.1" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9873, "hostname": "us9873.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9874, "hostname": "us9874.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9874, "hostname": "us9874.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9875, "hostname": "us9875.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9875, "hostname": "us9875.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9876, "hostname": "us9876.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9876, "hostname": "us9876.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9877, "hostname": "us9877.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.45" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9877, "hostname": "us9877.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.45" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9878, "hostname": "us9878.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.56" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9878, "hostname": "us9878.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9879, "hostname": "us9879.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.67" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9879, "hostname": "us9879.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9880, "hostname": "us9880.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.78" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9880, "hostname": "us9880.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.78" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9881, "hostname": "us9881.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.89" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9881, "hostname": "us9881.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.89" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9882, "hostname": "us9882.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9882, "hostname": "us9882.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9883, "hostname": "us9883.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.111" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9883, "hostname": "us9883.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.111" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9884, "hostname": "us9884.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.140.184.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9884, "hostname": "us9884.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "45.140.184.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9912, "hostname": "us9912.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9912, "hostname": "us9912.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9913, "hostname": "us9913.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9913, "hostname": "us9913.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9914, "hostname": "us9914.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.24" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9914, "hostname": "us9914.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.24" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9915, "hostname": "us9915.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9915, "hostname": "us9915.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9916, "hostname": "us9916.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9916, "hostname": "us9916.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9917, "hostname": "us9917.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.57" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9917, "hostname": "us9917.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.57" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9918, "hostname": "us9918.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9918, "hostname": "us9918.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9919, "hostname": "us9919.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.79" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9919, "hostname": "us9919.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.79" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9920, "hostname": "us9920.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.216.201.90" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 9920, "hostname": "us9920.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.216.201.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10157, "hostname": "us10157.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.36.49" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10158, "hostname": "us10158.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.36.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10165, "hostname": "us10165.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.36.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10166, "hostname": "us10166.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.36.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10181, "hostname": "us10181.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10182, "hostname": "us10182.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.131" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10183, "hostname": "us10183.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10184, "hostname": "us10184.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.143" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10185, "hostname": "us10185.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10186, "hostname": "us10186.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10187, "hostname": "us10187.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10188, "hostname": "us10188.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10189, "hostname": "us10189.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.194" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10190, "hostname": "us10190.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.196" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10191, "hostname": "us10191.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10192, "hostname": "us10192.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.201" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10195, "hostname": "us10195.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.151" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10196, "hostname": "us10196.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.153" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10197, "hostname": "us10197.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.204" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10198, "hostname": "us10198.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.206" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10258, "hostname": "us10258.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.215" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10259, "hostname": "us10259.nordvpn.com", "tcp": true, "udp": true, "ips": [ "154.47.26.217" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10264, "hostname": "us10264.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10265, "hostname": "us10265.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10266, "hostname": "us10266.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.103" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10267, "hostname": "us10267.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10273, "hostname": "us10273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10274, "hostname": "us10274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10281, "hostname": "us10281.nordvpn.com", "tcp": true, "udp": true, "ips": [ "89.187.177.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10282, "hostname": "us10282.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10283, "hostname": "us10283.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10284, "hostname": "us10284.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10285, "hostname": "us10285.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10286, "hostname": "us10286.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10313, "hostname": "us10313.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10314, "hostname": "us10314.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10315, "hostname": "us10315.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.77" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10316, "hostname": "us10316.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.79" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10351, "hostname": "us10351.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.37.204" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10352, "hostname": "us10352.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.37.206" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10353, "hostname": "us10353.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.37.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10354, "hostname": "us10354.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.37.201" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10357, "hostname": "us10357.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.184.228.141" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10357, "hostname": "us10357.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.184.228.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10358, "hostname": "us10358.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.184.228.161" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10358, "hostname": "us10358.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.184.228.161" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10359, "hostname": "us10359.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.184.228.181" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10359, "hostname": "us10359.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.184.228.181" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10360, "hostname": "us10360.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.184.228.201" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10360, "hostname": "us10360.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.184.228.201" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10361, "hostname": "us10361.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.184.228.221" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10361, "hostname": "us10361.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.184.228.221" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10362, "hostname": "us10362.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.184.228.241" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10362, "hostname": "us10362.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.184.228.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10363, "hostname": "us10363.nordvpn.com", "tcp": true, "udp": true, "ips": [ "66.111.61.193" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10363, "hostname": "us10363.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "66.111.61.193" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10364, "hostname": "us10364.nordvpn.com", "tcp": true, "udp": true, "ips": [ "66.111.61.213" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10364, "hostname": "us10364.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "66.111.61.213" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10365, "hostname": "us10365.nordvpn.com", "tcp": true, "udp": true, "ips": [ "66.111.61.233" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10365, "hostname": "us10365.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "66.111.61.233" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10366, "hostname": "us10366.nordvpn.com", "tcp": true, "udp": true, "ips": [ "66.111.61.161" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10366, "hostname": "us10366.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "66.111.61.161" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10381, "hostname": "us10381.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.88" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10382, "hostname": "us10382.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10383, "hostname": "us10383.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10383, "hostname": "us10383.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10384, "hostname": "us10384.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10384, "hostname": "us10384.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10385, "hostname": "us10385.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10385, "hostname": "us10385.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10386, "hostname": "us10386.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.5" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10386, "hostname": "us10386.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10387, "hostname": "us10387.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10387, "hostname": "us10387.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10388, "hostname": "us10388.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10388, "hostname": "us10388.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10389, "hostname": "us10389.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10389, "hostname": "us10389.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10390, "hostname": "us10390.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.9" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10390, "hostname": "us10390.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.9" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10391, "hostname": "us10391.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.10" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10391, "hostname": "us10391.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10392, "hostname": "us10392.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10392, "hostname": "us10392.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10393, "hostname": "us10393.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10393, "hostname": "us10393.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10394, "hostname": "us10394.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10394, "hostname": "us10394.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10395, "hostname": "us10395.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10395, "hostname": "us10395.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10396, "hostname": "us10396.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.15" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10396, "hostname": "us10396.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.15" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10397, "hostname": "us10397.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.16" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10397, "hostname": "us10397.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10398, "hostname": "us10398.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10398, "hostname": "us10398.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10399, "hostname": "us10399.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10399, "hostname": "us10399.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10400, "hostname": "us10400.nordvpn.com", "tcp": true, "udp": true, "ips": [ "152.89.206.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10400, "hostname": "us10400.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "152.89.206.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10401, "hostname": "us10401.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.205" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10402, "hostname": "us10402.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.207" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10410, "hostname": "us10410.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.21.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10411, "hostname": "us10411.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.88.21.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10412, "hostname": "us10412.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10412, "hostname": "us10412.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.244.215.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10413, "hostname": "us10413.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.244.215.203" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Standard VPN servers", "P2P" ], "number": 10413, "hostname": "us10413.nordvpn.com", "wgpubkey": "0/x2PdBGfcIGr0ayFPFFjxcEEyhrlBRjR4kMcfwXJTU=", "ips": [ "185.244.215.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10448, "hostname": "us10448.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10449, "hostname": "us10449.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.212" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10450, "hostname": "us10450.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10451, "hostname": "us10451.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.252.73" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10468, "hostname": "us10468.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10469, "hostname": "us10469.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10470, "hostname": "us10470.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10471, "hostname": "us10471.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10472, "hostname": "us10472.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.215" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10473, "hostname": "us10473.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.10.217" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10474, "hostname": "us10474.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10475, "hostname": "us10475.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10490, "hostname": "us10490.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.35.232" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10491, "hostname": "us10491.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.35.242" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10494, "hostname": "us10494.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10495, "hostname": "us10495.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10511, "hostname": "us10511.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10512, "hostname": "us10512.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.102.249.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10536, "hostname": "us10536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.47.228" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10537, "hostname": "us10537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "143.244.47.230" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10552, "hostname": "us10552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10553, "hostname": "us10553.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10554, "hostname": "us10554.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.167" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10555, "hostname": "us10555.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.169" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10558, "hostname": "us10558.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10559, "hostname": "us10559.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10560, "hostname": "us10560.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10561, "hostname": "us10561.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10564, "hostname": "us10564.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10565, "hostname": "us10565.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10566, "hostname": "us10566.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "categories": [ "Dedicated IP" ], "number": 10567, "hostname": "us10567.nordvpn.com", "tcp": true, "udp": true, "ips": [ "138.199.11.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8698, "hostname": "us8698.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8698, "hostname": "us8698.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8699, "hostname": "us8699.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8699, "hostname": "us8699.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8700, "hostname": "us8700.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8700, "hostname": "us8700.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8701, "hostname": "us8701.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8701, "hostname": "us8701.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8702, "hostname": "us8702.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8702, "hostname": "us8702.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8703, "hostname": "us8703.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8703, "hostname": "us8703.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8704, "hostname": "us8704.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8704, "hostname": "us8704.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8705, "hostname": "us8705.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8705, "hostname": "us8705.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8706, "hostname": "us8706.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8706, "hostname": "us8706.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8707, "hostname": "us8707.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8707, "hostname": "us8707.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8708, "hostname": "us8708.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8708, "hostname": "us8708.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8709, "hostname": "us8709.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8709, "hostname": "us8709.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8710, "hostname": "us8710.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8710, "hostname": "us8710.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8711, "hostname": "us8711.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8711, "hostname": "us8711.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8712, "hostname": "us8712.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8712, "hostname": "us8712.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8713, "hostname": "us8713.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8713, "hostname": "us8713.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8714, "hostname": "us8714.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8714, "hostname": "us8714.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8715, "hostname": "us8715.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8715, "hostname": "us8715.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8716, "hostname": "us8716.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8716, "hostname": "us8716.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8717, "hostname": "us8717.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8717, "hostname": "us8717.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8718, "hostname": "us8718.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8718, "hostname": "us8718.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8719, "hostname": "us8719.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 8719, "hostname": "us8719.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers" ], "number": 9504, "hostname": "us9504.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.119.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers" ], "number": 9504, "hostname": "us9504.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "192.145.119.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9541, "hostname": "us9541.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9541, "hostname": "us9541.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9542, "hostname": "us9542.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.4" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9542, "hostname": "us9542.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9543, "hostname": "us9543.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9543, "hostname": "us9543.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9544, "hostname": "us9544.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9544, "hostname": "us9544.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9545, "hostname": "us9545.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.10" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9545, "hostname": "us9545.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9546, "hostname": "us9546.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9546, "hostname": "us9546.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9547, "hostname": "us9547.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9547, "hostname": "us9547.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9548, "hostname": "us9548.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.16" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9548, "hostname": "us9548.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9549, "hostname": "us9549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9549, "hostname": "us9549.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9550, "hostname": "us9550.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9550, "hostname": "us9550.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9551, "hostname": "us9551.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.22" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9551, "hostname": "us9551.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9552, "hostname": "us9552.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.24" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9552, "hostname": "us9552.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.24" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9553, "hostname": "us9553.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9553, "hostname": "us9553.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9554, "hostname": "us9554.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.28" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9554, "hostname": "us9554.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.28" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9555, "hostname": "us9555.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.30" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9555, "hostname": "us9555.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9556, "hostname": "us9556.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9556, "hostname": "us9556.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9557, "hostname": "us9557.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9557, "hostname": "us9557.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9558, "hostname": "us9558.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9558, "hostname": "us9558.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9559, "hostname": "us9559.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9559, "hostname": "us9559.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9560, "hostname": "us9560.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.40" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9560, "hostname": "us9560.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9561, "hostname": "us9561.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9561, "hostname": "us9561.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9562, "hostname": "us9562.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9562, "hostname": "us9562.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9563, "hostname": "us9563.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9563, "hostname": "us9563.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9564, "hostname": "us9564.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.86.210.48" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "categories": [ "Standard VPN servers", "P2P" ], "number": 9564, "hostname": "us9564.nordvpn.com", "wgpubkey": "jiKqgiOst4UvgejfB1U4BlS0dlXoPohz+VM69G9TSDg=", "ips": [ "45.86.210.48" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10317, "hostname": "us10317.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10317, "hostname": "us10317.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10318, "hostname": "us10318.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10318, "hostname": "us10318.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10319, "hostname": "us10319.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10319, "hostname": "us10319.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10320, "hostname": "us10320.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10320, "hostname": "us10320.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10321, "hostname": "us10321.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10321, "hostname": "us10321.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10322, "hostname": "us10322.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10322, "hostname": "us10322.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10323, "hostname": "us10323.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10323, "hostname": "us10323.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10324, "hostname": "us10324.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10324, "hostname": "us10324.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10325, "hostname": "us10325.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10325, "hostname": "us10325.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10326, "hostname": "us10326.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10326, "hostname": "us10326.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10327, "hostname": "us10327.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10327, "hostname": "us10327.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10328, "hostname": "us10328.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10328, "hostname": "us10328.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10329, "hostname": "us10329.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10329, "hostname": "us10329.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10330, "hostname": "us10330.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10330, "hostname": "us10330.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10331, "hostname": "us10331.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10331, "hostname": "us10331.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10332, "hostname": "us10332.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10332, "hostname": "us10332.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10333, "hostname": "us10333.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10333, "hostname": "us10333.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10334, "hostname": "us10334.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10334, "hostname": "us10334.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10335, "hostname": "us10335.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10335, "hostname": "us10335.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10336, "hostname": "us10336.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10336, "hostname": "us10336.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10337, "hostname": "us10337.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10337, "hostname": "us10337.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10338, "hostname": "us10338.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10338, "hostname": "us10338.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10339, "hostname": "us10339.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10339, "hostname": "us10339.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10340, "hostname": "us10340.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10340, "hostname": "us10340.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10341, "hostname": "us10341.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10341, "hostname": "us10341.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10342, "hostname": "us10342.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10342, "hostname": "us10342.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10343, "hostname": "us10343.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10343, "hostname": "us10343.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10344, "hostname": "us10344.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10344, "hostname": "us10344.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10345, "hostname": "us10345.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10345, "hostname": "us10345.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10346, "hostname": "us10346.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10346, "hostname": "us10346.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10369, "hostname": "us10369.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10369, "hostname": "us10369.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10370, "hostname": "us10370.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10370, "hostname": "us10370.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10371, "hostname": "us10371.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10371, "hostname": "us10371.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10372, "hostname": "us10372.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.166" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10372, "hostname": "us10372.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.166" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10373, "hostname": "us10373.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.168" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10373, "hostname": "us10373.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.168" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10374, "hostname": "us10374.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.172.52.170" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Saint Louis", "categories": [ "Standard VPN servers", "P2P" ], "number": 10374, "hostname": "us10374.nordvpn.com", "wgpubkey": "PsYG6kXKbQ9ucIjukC+2MzDs6LWqb7DY97Zc5G3K1F0=", "ips": [ "185.172.52.170" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10414, "hostname": "us10414.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10414, "hostname": "us10414.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10415, "hostname": "us10415.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10415, "hostname": "us10415.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10416, "hostname": "us10416.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10416, "hostname": "us10416.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10417, "hostname": "us10417.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10417, "hostname": "us10417.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10418, "hostname": "us10418.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10418, "hostname": "us10418.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10419, "hostname": "us10419.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10419, "hostname": "us10419.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10420, "hostname": "us10420.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10420, "hostname": "us10420.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10421, "hostname": "us10421.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10421, "hostname": "us10421.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10422, "hostname": "us10422.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10422, "hostname": "us10422.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10423, "hostname": "us10423.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10423, "hostname": "us10423.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10424, "hostname": "us10424.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10424, "hostname": "us10424.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10425, "hostname": "us10425.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10425, "hostname": "us10425.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10426, "hostname": "us10426.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10426, "hostname": "us10426.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10427, "hostname": "us10427.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10427, "hostname": "us10427.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10428, "hostname": "us10428.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10428, "hostname": "us10428.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10429, "hostname": "us10429.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10429, "hostname": "us10429.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10430, "hostname": "us10430.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10430, "hostname": "us10430.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10431, "hostname": "us10431.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10431, "hostname": "us10431.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10432, "hostname": "us10432.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10432, "hostname": "us10432.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10433, "hostname": "us10433.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10433, "hostname": "us10433.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10434, "hostname": "us10434.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10434, "hostname": "us10434.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10435, "hostname": "us10435.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10435, "hostname": "us10435.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10436, "hostname": "us10436.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10436, "hostname": "us10436.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10437, "hostname": "us10437.nordvpn.com", "tcp": true, "udp": true, "ips": [ "31.222.254.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10437, "hostname": "us10437.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "31.222.254.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10517, "hostname": "us10517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.13.235.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10517, "hostname": "us10517.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "45.13.235.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10518, "hostname": "us10518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.13.235.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10518, "hostname": "us10518.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "45.13.235.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10519, "hostname": "us10519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.13.235.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10519, "hostname": "us10519.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "45.13.235.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10520, "hostname": "us10520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.13.235.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10520, "hostname": "us10520.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "45.13.235.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10521, "hostname": "us10521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "45.13.235.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "categories": [ "Standard VPN servers", "P2P" ], "number": 10521, "hostname": "us10521.nordvpn.com", "wgpubkey": "yUmKf6B0SAtGofYmApJ4jJbC2+Ui4zN5wEfg/koSjRk=", "ips": [ "45.13.235.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8510, "hostname": "us8510.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8510, "hostname": "us8510.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8511, "hostname": "us8511.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.102" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8511, "hostname": "us8511.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.102" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8512, "hostname": "us8512.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8512, "hostname": "us8512.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8513, "hostname": "us8513.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.106" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8513, "hostname": "us8513.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.106" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8514, "hostname": "us8514.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8514, "hostname": "us8514.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8515, "hostname": "us8515.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8515, "hostname": "us8515.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8516, "hostname": "us8516.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.112" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8516, "hostname": "us8516.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8517, "hostname": "us8517.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.114" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8517, "hostname": "us8517.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8518, "hostname": "us8518.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8518, "hostname": "us8518.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8519, "hostname": "us8519.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8519, "hostname": "us8519.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8520, "hostname": "us8520.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.120" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8520, "hostname": "us8520.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8521, "hostname": "us8521.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8521, "hostname": "us8521.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8522, "hostname": "us8522.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.124" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8522, "hostname": "us8522.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.124" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8523, "hostname": "us8523.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.126" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8523, "hostname": "us8523.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.126" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8524, "hostname": "us8524.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.128" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8524, "hostname": "us8524.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.128" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8525, "hostname": "us8525.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8525, "hostname": "us8525.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8526, "hostname": "us8526.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.132" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8526, "hostname": "us8526.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8527, "hostname": "us8527.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.134" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8527, "hostname": "us8527.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8528, "hostname": "us8528.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.136" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8528, "hostname": "us8528.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8529, "hostname": "us8529.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.138" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8529, "hostname": "us8529.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.138" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8530, "hostname": "us8530.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8530, "hostname": "us8530.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8531, "hostname": "us8531.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.142" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8531, "hostname": "us8531.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.142" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8532, "hostname": "us8532.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8532, "hostname": "us8532.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8533, "hostname": "us8533.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.146" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8533, "hostname": "us8533.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.146" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8534, "hostname": "us8534.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.148" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8534, "hostname": "us8534.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.148" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8535, "hostname": "us8535.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8535, "hostname": "us8535.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8536, "hostname": "us8536.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8536, "hostname": "us8536.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8537, "hostname": "us8537.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.154" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8537, "hostname": "us8537.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.154" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8538, "hostname": "us8538.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.156" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8538, "hostname": "us8538.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.156" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8539, "hostname": "us8539.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8539, "hostname": "us8539.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8540, "hostname": "us8540.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8540, "hostname": "us8540.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8541, "hostname": "us8541.nordvpn.com", "tcp": true, "udp": true, "ips": [ "192.145.118.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 8541, "hostname": "us8541.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "192.145.118.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9666, "hostname": "us9666.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.237" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9666, "hostname": "us9666.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.237" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9667, "hostname": "us9667.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.222" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9667, "hostname": "us9667.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.222" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9668, "hostname": "us9668.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.207" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9668, "hostname": "us9668.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.207" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9669, "hostname": "us9669.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.192" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9669, "hostname": "us9669.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.192" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9670, "hostname": "us9670.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.176" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9670, "hostname": "us9670.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.176" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9671, "hostname": "us9671.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9671, "hostname": "us9671.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9672, "hostname": "us9672.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9672, "hostname": "us9672.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9673, "hostname": "us9673.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9673, "hostname": "us9673.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9674, "hostname": "us9674.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9674, "hostname": "us9674.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9675, "hostname": "us9675.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.92" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9675, "hostname": "us9675.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9676, "hostname": "us9676.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9676, "hostname": "us9676.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9677, "hostname": "us9677.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.61" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9677, "hostname": "us9677.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.61" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9678, "hostname": "us9678.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9678, "hostname": "us9678.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9679, "hostname": "us9679.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.31" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9679, "hostname": "us9679.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.31" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9680, "hostname": "us9680.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.16" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9680, "hostname": "us9680.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9681, "hostname": "us9681.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.187.168.1" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9681, "hostname": "us9681.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.187.168.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9682, "hostname": "us9682.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.237" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9682, "hostname": "us9682.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.237" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9683, "hostname": "us9683.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.222" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9683, "hostname": "us9683.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.222" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9684, "hostname": "us9684.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.207" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9684, "hostname": "us9684.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.207" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9685, "hostname": "us9685.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.192" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9685, "hostname": "us9685.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.192" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9686, "hostname": "us9686.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.176" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9686, "hostname": "us9686.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.176" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9687, "hostname": "us9687.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9687, "hostname": "us9687.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9688, "hostname": "us9688.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.144" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9688, "hostname": "us9688.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9689, "hostname": "us9689.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.129" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9689, "hostname": "us9689.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.129" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9690, "hostname": "us9690.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.108" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9690, "hostname": "us9690.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.108" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9691, "hostname": "us9691.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.92" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9691, "hostname": "us9691.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9692, "hostname": "us9692.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9692, "hostname": "us9692.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9693, "hostname": "us9693.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.61" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9693, "hostname": "us9693.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.61" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9694, "hostname": "us9694.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9694, "hostname": "us9694.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9695, "hostname": "us9695.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.31" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9695, "hostname": "us9695.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.31" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9696, "hostname": "us9696.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.16" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9696, "hostname": "us9696.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9697, "hostname": "us9697.nordvpn.com", "tcp": true, "udp": true, "ips": [ "185.211.32.1" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9697, "hostname": "us9697.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "185.211.32.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9860, "hostname": "us9860.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.1" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9860, "hostname": "us9860.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.1" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9861, "hostname": "us9861.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.3" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9861, "hostname": "us9861.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9862, "hostname": "us9862.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.5" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9862, "hostname": "us9862.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9863, "hostname": "us9863.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.7" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9863, "hostname": "us9863.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9864, "hostname": "us9864.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.9" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9864, "hostname": "us9864.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.9" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9865, "hostname": "us9865.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9865, "hostname": "us9865.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9866, "hostname": "us9866.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.13" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9866, "hostname": "us9866.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.13" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9867, "hostname": "us9867.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.15" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9867, "hostname": "us9867.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.15" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9868, "hostname": "us9868.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9868, "hostname": "us9868.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9869, "hostname": "us9869.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9869, "hostname": "us9869.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9870, "hostname": "us9870.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.21" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9870, "hostname": "us9870.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9871, "hostname": "us9871.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9871, "hostname": "us9871.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9872, "hostname": "us9872.nordvpn.com", "tcp": true, "udp": true, "ips": [ "194.195.93.25" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "categories": [ "Standard VPN servers", "P2P" ], "number": 9872, "hostname": "us9872.nordvpn.com", "wgpubkey": "1ITGPBdVH6mjSyndQw3F8ckOIMPi/Z6qNA+aO9gG7xQ=", "ips": [ "194.195.93.25" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5086, "hostname": "us5086.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.130" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5086, "hostname": "us5086.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5087, "hostname": "us5087.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.135" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5087, "hostname": "us5087.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5088, "hostname": "us5088.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.140" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5088, "hostname": "us5088.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5089, "hostname": "us5089.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.145" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5089, "hostname": "us5089.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5090, "hostname": "us5090.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.150" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5090, "hostname": "us5090.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5091, "hostname": "us5091.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.155" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5091, "hostname": "us5091.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.155" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5092, "hostname": "us5092.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5092, "hostname": "us5092.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5093, "hostname": "us5093.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.165" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5093, "hostname": "us5093.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.165" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5094, "hostname": "us5094.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.170" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5094, "hostname": "us5094.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.170" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5095, "hostname": "us5095.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.175" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 5095, "hostname": "us5095.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.175" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8237, "hostname": "us8237.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.2" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8237, "hostname": "us8237.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.2" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8238, "hostname": "us8238.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.5" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8238, "hostname": "us8238.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.5" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8239, "hostname": "us8239.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8239, "hostname": "us8239.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8240, "hostname": "us8240.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.11" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8240, "hostname": "us8240.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.11" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8241, "hostname": "us8241.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8241, "hostname": "us8241.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8242, "hostname": "us8242.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.17" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8242, "hostname": "us8242.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.17" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8243, "hostname": "us8243.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8243, "hostname": "us8243.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8244, "hostname": "us8244.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8244, "hostname": "us8244.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8245, "hostname": "us8245.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8245, "hostname": "us8245.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8246, "hostname": "us8246.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.29" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8246, "hostname": "us8246.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.29" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8247, "hostname": "us8247.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8247, "hostname": "us8247.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8248, "hostname": "us8248.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.35" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8248, "hostname": "us8248.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.35" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8249, "hostname": "us8249.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8249, "hostname": "us8249.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8250, "hostname": "us8250.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.41" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8250, "hostname": "us8250.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.41" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8251, "hostname": "us8251.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8251, "hostname": "us8251.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8252, "hostname": "us8252.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8252, "hostname": "us8252.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8253, "hostname": "us8253.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8253, "hostname": "us8253.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8254, "hostname": "us8254.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.53" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8254, "hostname": "us8254.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8255, "hostname": "us8255.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.56" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8255, "hostname": "us8255.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8256, "hostname": "us8256.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8256, "hostname": "us8256.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8257, "hostname": "us8257.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8257, "hostname": "us8257.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8258, "hostname": "us8258.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.65" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8258, "hostname": "us8258.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.65" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8259, "hostname": "us8259.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8259, "hostname": "us8259.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8260, "hostname": "us8260.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8260, "hostname": "us8260.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8261, "hostname": "us8261.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.74" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8261, "hostname": "us8261.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.74" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8262, "hostname": "us8262.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.77" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8262, "hostname": "us8262.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.77" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8263, "hostname": "us8263.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.80" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8263, "hostname": "us8263.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8264, "hostname": "us8264.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.83" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8264, "hostname": "us8264.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.83" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8265, "hostname": "us8265.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.86" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8265, "hostname": "us8265.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8266, "hostname": "us8266.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.89" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8266, "hostname": "us8266.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.89" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8267, "hostname": "us8267.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.92" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8267, "hostname": "us8267.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8268, "hostname": "us8268.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.95" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8268, "hostname": "us8268.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.95" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8269, "hostname": "us8269.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8269, "hostname": "us8269.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8270, "hostname": "us8270.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.101" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8270, "hostname": "us8270.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8271, "hostname": "us8271.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8271, "hostname": "us8271.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8272, "hostname": "us8272.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.107" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8272, "hostname": "us8272.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.107" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8273, "hostname": "us8273.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8273, "hostname": "us8273.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8274, "hostname": "us8274.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.113" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8274, "hostname": "us8274.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.113" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8275, "hostname": "us8275.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.116" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8275, "hostname": "us8275.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.116" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8276, "hostname": "us8276.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.119" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8276, "hostname": "us8276.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.119" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8277, "hostname": "us8277.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.47.122" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8277, "hostname": "us8277.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.47.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8278, "hostname": "us8278.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.46.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8278, "hostname": "us8278.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.46.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8279, "hostname": "us8279.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.46.21" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8279, "hostname": "us8279.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.46.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8280, "hostname": "us8280.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.46.24" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8280, "hostname": "us8280.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.46.24" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8281, "hostname": "us8281.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.102.46.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 8281, "hostname": "us8281.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "212.102.46.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9506, "hostname": "us9506.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.51.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9506, "hostname": "us9506.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "156.146.51.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9507, "hostname": "us9507.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.51.104" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9507, "hostname": "us9507.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "156.146.51.104" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9508, "hostname": "us9508.nordvpn.com", "tcp": true, "udp": true, "ips": [ "84.17.41.182" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9508, "hostname": "us9508.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "84.17.41.182" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9944, "hostname": "us9944.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.6" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9944, "hostname": "us9944.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9945, "hostname": "us9945.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.8" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9945, "hostname": "us9945.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.8" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9946, "hostname": "us9946.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.10" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9946, "hostname": "us9946.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9947, "hostname": "us9947.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.12" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9947, "hostname": "us9947.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.12" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9948, "hostname": "us9948.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9948, "hostname": "us9948.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9949, "hostname": "us9949.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.16" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9949, "hostname": "us9949.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.16" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9950, "hostname": "us9950.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.18" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9950, "hostname": "us9950.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9951, "hostname": "us9951.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.20" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9951, "hostname": "us9951.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.20" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9952, "hostname": "us9952.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.22" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9952, "hostname": "us9952.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.22" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9953, "hostname": "us9953.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.24" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9953, "hostname": "us9953.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.24" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9954, "hostname": "us9954.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.26" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9954, "hostname": "us9954.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9955, "hostname": "us9955.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.28" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9955, "hostname": "us9955.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.28" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9956, "hostname": "us9956.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.30" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9956, "hostname": "us9956.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9957, "hostname": "us9957.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.32" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9957, "hostname": "us9957.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.32" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9958, "hostname": "us9958.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.34" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9958, "hostname": "us9958.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.34" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9959, "hostname": "us9959.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9959, "hostname": "us9959.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9960, "hostname": "us9960.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.38" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9960, "hostname": "us9960.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.38" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9961, "hostname": "us9961.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.40" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9961, "hostname": "us9961.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.40" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9962, "hostname": "us9962.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.42" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9962, "hostname": "us9962.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.42" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9963, "hostname": "us9963.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.44" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9963, "hostname": "us9963.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.44" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9964, "hostname": "us9964.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9964, "hostname": "us9964.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9965, "hostname": "us9965.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.48" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9965, "hostname": "us9965.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.48" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9966, "hostname": "us9966.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.50" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9966, "hostname": "us9966.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.50" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9967, "hostname": "us9967.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.52" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9967, "hostname": "us9967.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.52" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9968, "hostname": "us9968.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.54" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9968, "hostname": "us9968.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.54" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9969, "hostname": "us9969.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.56" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9969, "hostname": "us9969.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.56" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9970, "hostname": "us9970.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.58" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9970, "hostname": "us9970.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.58" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9971, "hostname": "us9971.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.60" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9971, "hostname": "us9971.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.60" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9972, "hostname": "us9972.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.62" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9972, "hostname": "us9972.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.62" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9973, "hostname": "us9973.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.64" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9973, "hostname": "us9973.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.64" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9974, "hostname": "us9974.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9974, "hostname": "us9974.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9975, "hostname": "us9975.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.68" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9975, "hostname": "us9975.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9976, "hostname": "us9976.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.70" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9976, "hostname": "us9976.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.70" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9977, "hostname": "us9977.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.72" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9977, "hostname": "us9977.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9978, "hostname": "us9978.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.74" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9978, "hostname": "us9978.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.74" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9979, "hostname": "us9979.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.76" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9979, "hostname": "us9979.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.76" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9980, "hostname": "us9980.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.78" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9980, "hostname": "us9980.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.78" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9981, "hostname": "us9981.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.80" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9981, "hostname": "us9981.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.80" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9982, "hostname": "us9982.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.82" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9982, "hostname": "us9982.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.82" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9983, "hostname": "us9983.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.84" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9983, "hostname": "us9983.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.84" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9984, "hostname": "us9984.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.86" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9984, "hostname": "us9984.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9985, "hostname": "us9985.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.88" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9985, "hostname": "us9985.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.88" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9986, "hostname": "us9986.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.90" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9986, "hostname": "us9986.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.90" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9987, "hostname": "us9987.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.92" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9987, "hostname": "us9987.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.92" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9988, "hostname": "us9988.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.94" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9988, "hostname": "us9988.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.94" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9989, "hostname": "us9989.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.96" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9989, "hostname": "us9989.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.96" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9990, "hostname": "us9990.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.98" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9990, "hostname": "us9990.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9991, "hostname": "us9991.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.100" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9991, "hostname": "us9991.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9992, "hostname": "us9992.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.158" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9992, "hostname": "us9992.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.158" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9993, "hostname": "us9993.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.160" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9993, "hostname": "us9993.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.160" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9994, "hostname": "us9994.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.162" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9994, "hostname": "us9994.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.162" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9995, "hostname": "us9995.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.164" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9995, "hostname": "us9995.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.164" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9996, "hostname": "us9996.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.166" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9996, "hostname": "us9996.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.166" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9997, "hostname": "us9997.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.168" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9997, "hostname": "us9997.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.168" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9998, "hostname": "us9998.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.170" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9998, "hostname": "us9998.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.170" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9999, "hostname": "us9999.nordvpn.com", "tcp": true, "udp": true, "ips": [ "193.29.61.172" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Standard VPN servers", "P2P" ], "number": 9999, "hostname": "us9999.nordvpn.com", "wgpubkey": "1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=", "ips": [ "193.29.61.172" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10287, "hostname": "us10287.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.51.120" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10288, "hostname": "us10288.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.51.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10289, "hostname": "us10289.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.51.115" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10290, "hostname": "us10290.nordvpn.com", "tcp": true, "udp": true, "ips": [ "156.146.51.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10309, "hostname": "us10309.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10310, "hostname": "us10310.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10311, "hostname": "us10311.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.103" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10312, "hostname": "us10312.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.105" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10438, "hostname": "us10438.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.112" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10439, "hostname": "us10439.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.114" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10484, "hostname": "us10484.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10485, "hostname": "us10485.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.119" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10486, "hostname": "us10486.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10487, "hostname": "us10487.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10498, "hostname": "us10498.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10499, "hostname": "us10499.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.137" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10544, "hostname": "us10544.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.150" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10545, "hostname": "us10545.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10546, "hostname": "us10546.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.145" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10547, "hostname": "us10547.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.147" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10548, "hostname": "us10548.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.140" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "categories": [ "Dedicated IP" ], "number": 10549, "hostname": "us10549.nordvpn.com", "tcp": true, "udp": true, "ips": [ "149.40.51.142" ] }, { "vpn": "openvpn", "country": "Uruguay", "region": "The Americas", "city": "Montevideo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "uy1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.79.1" ] }, { "vpn": "wireguard", "country": "Uruguay", "region": "The Americas", "city": "Montevideo", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "uy1.nordvpn.com", "wgpubkey": "pyUtwcGCa2R1qJYDnXRfVdRi1DFsX+RbPr16x0QrbVc=", "ips": [ "82.149.79.1" ] }, { "vpn": "openvpn", "country": "Uruguay", "region": "The Americas", "city": "Montevideo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "uy2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "82.149.79.3" ] }, { "vpn": "wireguard", "country": "Uruguay", "region": "The Americas", "city": "Montevideo", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "uy2.nordvpn.com", "wgpubkey": "pyUtwcGCa2R1qJYDnXRfVdRi1DFsX+RbPr16x0QrbVc=", "ips": [ "82.149.79.3" ] }, { "vpn": "openvpn", "country": "Uzbekistan", "region": "Asia Pacific", "city": "Tashkent", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "uz1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.64.1" ] }, { "vpn": "wireguard", "country": "Uzbekistan", "region": "Asia Pacific", "city": "Tashkent", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "uz1.nordvpn.com", "wgpubkey": "lh6oyQPYNvc/dICj3KHOMJeiGk/h69vScWxlcW+NyVU=", "ips": [ "212.97.64.1" ] }, { "vpn": "openvpn", "country": "Uzbekistan", "region": "Asia Pacific", "city": "Tashkent", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "uz2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.64.3" ] }, { "vpn": "wireguard", "country": "Uzbekistan", "region": "Asia Pacific", "city": "Tashkent", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "uz2.nordvpn.com", "wgpubkey": "lh6oyQPYNvc/dICj3KHOMJeiGk/h69vScWxlcW+NyVU=", "ips": [ "212.97.64.3" ] }, { "vpn": "openvpn", "country": "Venezuela", "region": "The Americas", "city": "Caracas", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ve1.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.65.1" ] }, { "vpn": "wireguard", "country": "Venezuela", "region": "The Americas", "city": "Caracas", "categories": [ "Standard VPN servers", "P2P" ], "number": 1, "hostname": "ve1.nordvpn.com", "wgpubkey": "DtmFm2hN5+BliHymepvSfqg+xiiMnySKv2Nndu0ZCA0=", "ips": [ "212.97.65.1" ] }, { "vpn": "openvpn", "country": "Venezuela", "region": "The Americas", "city": "Caracas", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ve2.nordvpn.com", "tcp": true, "udp": true, "ips": [ "212.97.65.3" ] }, { "vpn": "wireguard", "country": "Venezuela", "region": "The Americas", "city": "Caracas", "categories": [ "Standard VPN servers", "P2P" ], "number": 2, "hostname": "ve2.nordvpn.com", "wgpubkey": "DtmFm2hN5+BliHymepvSfqg+xiiMnySKv2Nndu0ZCA0=", "ips": [ "212.97.65.3" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 18, "hostname": "vn18.nordvpn.com", "tcp": true, "ips": [ "125.212.220.51" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 18, "hostname": "vn18.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.220.51" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 19, "hostname": "vn19.nordvpn.com", "tcp": true, "udp": true, "ips": [ "125.212.220.54" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 19, "hostname": "vn19.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.220.54" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 20, "hostname": "vn20.nordvpn.com", "tcp": true, "udp": true, "ips": [ "125.212.220.57" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 20, "hostname": "vn20.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.220.57" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 21, "hostname": "vn21.nordvpn.com", "tcp": true, "ips": [ "125.212.220.6" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 21, "hostname": "vn21.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.220.6" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 22, "hostname": "vn22.nordvpn.com", "tcp": true, "udp": true, "ips": [ "125.212.220.41" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 22, "hostname": "vn22.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.220.41" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 27, "hostname": "vn27.nordvpn.com", "tcp": true, "udp": true, "ips": [ "125.212.220.47" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 27, "hostname": "vn27.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.220.47" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 33, "hostname": "vn33.nordvpn.com", "tcp": true, "ips": [ "125.212.241.132" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 33, "hostname": "vn33.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.241.132" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 34, "hostname": "vn34.nordvpn.com", "tcp": true, "udp": true, "ips": [ "125.212.241.148" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 34, "hostname": "vn34.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.241.148" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 35, "hostname": "vn35.nordvpn.com", "tcp": true, "ips": [ "125.212.217.243" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 35, "hostname": "vn35.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.217.243" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 36, "hostname": "vn36.nordvpn.com", "tcp": true, "udp": true, "ips": [ "125.212.217.212" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 36, "hostname": "vn36.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "125.212.217.212" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 37, "hostname": "vn37.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.163.218.43" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 37, "hostname": "vn37.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "103.163.218.43" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 38, "hostname": "vn38.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.163.218.121" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 38, "hostname": "vn38.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "103.163.218.121" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 39, "hostname": "vn39.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.163.218.48" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 39, "hostname": "vn39.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "103.163.218.48" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 40, "hostname": "vn40.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.163.218.53" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 40, "hostname": "vn40.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "103.163.218.53" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 41, "hostname": "vn41.nordvpn.com", "tcp": true, "udp": true, "ips": [ "103.163.218.58" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Hanoi", "categories": [ "Standard VPN servers" ], "number": 41, "hostname": "vn41.nordvpn.com", "wgpubkey": "7tlYA3PdA5or5iw3VFJOwZrvhdT4FNSmXRk7SFd3/Bo=", "ips": [ "103.163.218.58" ] } ] }, "perfect privacy": { "version": 1, "timestamp": 1682032240, "servers": [ { "vpn": "openvpn", "city": "Amsterdam", "tcp": true, "udp": true, "ips": [ "37.48.94.1", "37.48.94.1", "37.48.94.1", "95.211.95.233", "85.17.28.145", "95.168.167.236", "85.17.64.131", "95.211.95.244" ] }, { "vpn": "openvpn", "city": "Basel", "tcp": true, "udp": true, "ips": [ "82.199.134.162", "82.199.134.162", "82.199.134.162", "80.255.7.66" ] }, { "vpn": "openvpn", "city": "Belgrade", "tcp": true, "udp": true, "ips": [ "152.89.160.98", "152.89.160.98", "152.89.160.98" ] }, { "vpn": "openvpn", "city": "Berlin", "tcp": true, "udp": true, "ips": [ "80.255.7.98", "80.255.7.98", "80.255.7.98" ] }, { "vpn": "openvpn", "city": "Bucharest", "tcp": true, "udp": true, "ips": [ "185.57.82.25", "185.57.82.25", "185.57.82.25" ] }, { "vpn": "openvpn", "city": "Calais", "tcp": true, "udp": true, "ips": [ "149.202.77.77", "149.202.77.77", "149.202.77.77" ] }, { "vpn": "openvpn", "city": "Chicago", "tcp": true, "udp": true, "ips": [ "104.237.193.26", "104.237.193.26", "104.237.193.26" ] }, { "vpn": "openvpn", "city": "Copenhagen", "tcp": true, "udp": true, "ips": [ "185.152.32.66", "185.152.32.66", "185.152.32.66" ] }, { "vpn": "openvpn", "city": "Dallas", "tcp": true, "udp": true, "ips": [ "138.128.136.164", "138.128.136.164", "138.128.136.164" ] }, { "vpn": "openvpn", "city": "Erfurt", "tcp": true, "udp": true, "ips": [ "217.114.218.18", "217.114.218.18", "217.114.218.18" ] }, { "vpn": "openvpn", "city": "Frankfurt", "tcp": true, "udp": true, "ips": [ "37.58.58.239", "37.58.58.239", "37.58.58.239", "178.162.194.30" ] }, { "vpn": "openvpn", "city": "Hamburg", "tcp": true, "udp": true, "ips": [ "80.255.7.114", "80.255.7.114", "80.255.7.114" ] }, { "vpn": "openvpn", "city": "Hongkong", "tcp": true, "udp": true, "ips": [ "209.58.188.129", "209.58.188.129", "209.58.188.129" ] }, { "vpn": "openvpn", "city": "Jerusalem", "tcp": true, "udp": true, "ips": [ "82.81.85.231", "82.81.85.231", "82.81.85.231" ] }, { "vpn": "openvpn", "city": "London", "tcp": true, "udp": true, "ips": [ "82.199.130.34", "82.199.130.34", "82.199.130.34", "5.187.21.98" ] }, { "vpn": "openvpn", "city": "LosAngeles", "tcp": true, "udp": true, "ips": [ "162.245.206.242", "162.245.206.242", "162.245.206.242" ] }, { "vpn": "openvpn", "city": "Madrid", "tcp": true, "udp": true, "ips": [ "185.183.106.146", "185.183.106.146", "185.183.106.146" ] }, { "vpn": "openvpn", "city": "Malmoe", "tcp": true, "udp": true, "ips": [ "194.68.170.51", "194.68.170.51", "194.68.170.51" ] }, { "vpn": "openvpn", "city": "Manchester", "tcp": true, "udp": true, "ips": [ "217.138.196.98", "217.138.196.98", "217.138.196.98" ] }, { "vpn": "openvpn", "city": "Miami", "tcp": true, "udp": true, "ips": [ "38.132.118.66", "38.132.118.66", "38.132.118.66" ] }, { "vpn": "openvpn", "city": "Milan", "tcp": true, "udp": true, "ips": [ "192.145.127.210", "192.145.127.210", "192.145.127.210" ] }, { "vpn": "openvpn", "city": "Montreal", "tcp": true, "udp": true, "ips": [ "167.114.209.103", "167.114.209.103", "167.114.209.103" ] }, { "vpn": "openvpn", "city": "Moscow", "tcp": true, "udp": true, "ips": [ "192.162.100.240", "192.162.100.240", "192.162.100.240" ] }, { "vpn": "openvpn", "city": "NewYork", "tcp": true, "udp": true, "ips": [ "96.9.246.194", "96.9.246.194", "96.9.246.194" ] }, { "vpn": "openvpn", "city": "Nuremberg", "tcp": true, "udp": true, "ips": [ "80.255.10.194", "80.255.10.194", "80.255.10.194", "81.95.5.34" ] }, { "vpn": "openvpn", "city": "Oslo", "tcp": true, "udp": true, "ips": [ "91.205.187.186", "91.205.187.186", "91.205.187.186" ] }, { "vpn": "openvpn", "city": "Paris", "tcp": true, "udp": true, "ips": [ "5.135.143.84", "5.135.143.84", "5.135.143.84" ] }, { "vpn": "openvpn", "city": "Prague", "tcp": true, "udp": true, "ips": [ "195.138.249.2", "195.138.249.2", "195.138.249.2" ] }, { "vpn": "openvpn", "city": "Reykjavik", "tcp": true, "udp": true, "ips": [ "82.221.111.10", "82.221.111.10", "82.221.111.10" ] }, { "vpn": "openvpn", "city": "Riga", "tcp": true, "udp": true, "ips": [ "46.183.221.194", "46.183.221.194", "46.183.221.194" ] }, { "vpn": "openvpn", "city": "Rotterdam", "tcp": true, "udp": true, "ips": [ "31.204.150.106", "31.204.150.106", "31.204.150.106", "31.204.150.138", "31.204.152.189", "31.204.152.102", "31.204.153.106" ] }, { "vpn": "openvpn", "city": "Singapore", "tcp": true, "udp": true, "ips": [ "103.254.153.202", "103.254.153.202", "103.254.153.202", "209.58.162.197" ] }, { "vpn": "openvpn", "city": "Stockholm", "tcp": true, "udp": true, "ips": [ "185.217.1.2", "185.217.1.2", "185.217.1.2", "185.41.240.18" ] }, { "vpn": "openvpn", "city": "Sydney", "tcp": true, "udp": true, "ips": [ "66.203.112.47", "66.203.112.47", "66.203.112.47", "66.203.112.50" ] }, { "vpn": "openvpn", "city": "Tokyo", "tcp": true, "udp": true, "ips": [ "31.204.145.166", "31.204.145.166", "31.204.145.166" ] }, { "vpn": "openvpn", "city": "Vienna", "tcp": true, "udp": true, "ips": [ "146.70.28.34", "146.70.28.34", "146.70.28.34" ] }, { "vpn": "openvpn", "city": "Warsaw", "tcp": true, "udp": true, "ips": [ "146.70.85.162", "146.70.85.162", "146.70.85.162" ] }, { "vpn": "openvpn", "city": "Zurich", "tcp": true, "udp": true, "ips": [ "37.120.213.210", "37.120.213.210", "37.120.213.210", "152.89.162.226", "37.120.213.194" ] } ] }, "privado": { "version": 6, "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", "city": "Tallinn", "hostname": "tll-001.vpn.privado.io", "udp": true, "ips": [ "185.174.159.227" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "tll-002.vpn.privado.io", "udp": true, "ips": [ "185.174.159.232" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "tll-003.vpn.privado.io", "udp": true, "ips": [ "185.174.159.237" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "hostname": "tll-004.vpn.privado.io", "udp": true, "ips": [ "185.174.159.242" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-003.vpn.privado.io", "udp": true, "ips": [ "91.148.240.208" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "hostname": "hel-004.vpn.privado.io", "udp": true, "ips": [ "91.148.240.215" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "cdg-005.vpn.privado.io", "udp": true, "ips": [ "81.171.72.128" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "hostname": "cdg-007.vpn.privado.io", "udp": true, "ips": [ "81.171.72.134" ] }, { "vpn": "openvpn", "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": [ "81.171.72.80" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-009.vpn.privado.io", "udp": true, "ips": [ "91.148.237.4" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-010.vpn.privado.io", "udp": true, "ips": [ "91.148.237.21" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "hostname": "fra-011.vpn.privado.io", "udp": true, "ips": [ "91.148.237.38" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-011.vpn.privado.io", "udp": true, "ips": [ "91.148.246.144" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-012.vpn.privado.io", "udp": true, "ips": [ "91.148.246.148" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "ath-013.vpn.privado.io", "udp": true, "ips": [ "91.148.228.48" ] }, { "vpn": "openvpn", "country": "Hong Kong, SAR China", "city": "Hong Kong", "hostname": "hkg-005.vpn.privado.io", "udp": true, "ips": [ "85.12.5.48" ] }, { "vpn": "openvpn", "country": "Hong Kong, SAR China", "city": "Hong Kong", "hostname": "hkg-006.vpn.privado.io", "udp": true, "ips": [ "85.12.5.56" ] }, { "vpn": "openvpn", "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": [ "85.12.4.128" ] }, { "vpn": "openvpn", "country": "Korea (South)", "city": "Seoul", "hostname": "icn-004.vpn.privado.io", "udp": true, "ips": [ "85.12.4.136" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "hostname": "rix-003.vpn.privado.io", "udp": true, "ips": [ "91.148.248.16" ] }, { "vpn": "openvpn", "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, "ips": [ "45.38.18.155" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "lax-018.vpn.privado.io", "udp": true, "ips": [ "45.38.18.180" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "lax-019.vpn.privado.io", "udp": true, "ips": [ "45.38.18.64" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "lax-020.vpn.privado.io", "udp": true, "ips": [ "45.38.18.150" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "lax-021.vpn.privado.io", "udp": true, "ips": [ "45.38.18.175" ] }, { "vpn": "openvpn", "country": "USA", "city": "Miami", "hostname": "mia-007.vpn.privado.io", "udp": true, "ips": [ "45.38.16.64" ] }, { "vpn": "openvpn", "country": "USA", "city": "Miami", "hostname": "mia-008.vpn.privado.io", "udp": true, "ips": [ "45.38.16.82" ] }, { "vpn": "openvpn", "country": "USA", "city": "New York", "hostname": "jfk-067.vpn.privado.io", "udp": true, "ips": [ "45.38.16.192" ] }, { "vpn": "openvpn", "country": "USA", "city": "New York", "hostname": "jfk-068.vpn.privado.io", "udp": true, "ips": [ "45.38.16.207" ] }, { "vpn": "openvpn", "country": "USA", "city": "New York", "hostname": "jfk-069.vpn.privado.io", "udp": true, "ips": [ "45.38.16.201" ] }, { "vpn": "openvpn", "country": "USA", "city": "New York", "hostname": "jfk-070.vpn.privado.io", "udp": true, "ips": [ "45.38.16.217" ] }, { "vpn": "openvpn", "country": "USA", "city": "Portland", "hostname": "pdx-033.vpn.privado.io", "udp": true, "ips": [ "45.38.15.128" ] }, { "vpn": "openvpn", "country": "USA", "city": "Portland", "hostname": "pdx-034.vpn.privado.io", "udp": true, "ips": [ "45.38.15.158" ] }, { "vpn": "openvpn", "country": "USA", "city": "San Francisco", "hostname": "sfo-009.vpn.privado.io", "udp": true, "ips": [ "45.38.18.4" ] }, { "vpn": "openvpn", "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": [ "45.38.17.32" ] }, { "vpn": "openvpn", "country": "USA", "city": "St. Louis", "hostname": "stl-006.vpn.privado.io", "udp": true, "ips": [ "45.38.17.47" ] }, { "vpn": "openvpn", "country": "USA", "city": "Washington DC", "hostname": "dca-096.vpn.privado.io", "udp": true, "ips": [ "45.38.17.128" ] }, { "vpn": "openvpn", "country": "USA", "city": "Washington DC", "hostname": "dca-097.vpn.privado.io", "udp": true, "ips": [ "45.38.17.161" ] }, { "vpn": "openvpn", "country": "USA", "city": "Washington DC", "hostname": "dca-098.vpn.privado.io", "udp": true, "ips": [ "45.38.17.194" ] }, { "vpn": "openvpn", "country": "USA", "city": "Washington DC", "hostname": "dca-099.vpn.privado.io", "udp": true, "ips": [ "45.38.17.227" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "hostname": "iev-003.vpn.privado.io", "udp": true, "ips": [ "91.148.248.64" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "lhr-060.vpn.privado.io", "udp": true, "ips": [ "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" ] } ] }, "private internet access": { "version": 1, "timestamp": 1766497886, "servers": [ { "vpn": "openvpn", "region": "AU Adelaide", "server_name": "adelaide401", "hostname": "au-adelaide-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.244.62.29", "173.244.62.18", "173.244.62.28", "173.244.62.25", "173.244.62.22", "173.244.62.7", "173.244.62.30", "173.244.62.9", "173.244.62.15", "173.244.62.10", "173.244.62.27" ] }, { "vpn": "openvpn", "region": "AU Adelaide", "server_name": "adelaide402", "hostname": "au-adelaide-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.244.62.42", "173.244.62.33", "173.244.62.46", "173.244.62.58", "173.244.62.45", "173.244.62.37", "173.244.62.57", "173.244.62.34", "173.244.62.35", "173.244.62.54" ] }, { "vpn": "openvpn", "region": "AU Brisbane", "server_name": "brisbane401", "hostname": "au-brisbane-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "223.252.34.61", "223.252.34.51", "223.252.34.39", "223.252.34.37", "223.252.34.35", "223.252.34.53", "223.252.34.50", "223.252.34.49", "223.252.34.60" ] }, { "vpn": "openvpn", "region": "AU Brisbane", "server_name": "brisbane402", "hostname": "au-brisbane-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "202.125.43.92", "202.125.43.73", "202.125.43.69", "202.125.43.82", "202.125.43.91", "202.125.43.77", "202.125.43.80", "202.125.43.70", "202.125.43.68", "202.125.43.75" ] }, { "vpn": "openvpn", "region": "AU Brisbane", "server_name": "brisbane403", "hostname": "au-brisbane-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "202.125.43.13", "202.125.43.17", "202.125.43.14", "202.125.43.21", "202.125.43.30", "202.125.43.8", "202.125.43.25", "202.125.43.6", "202.125.43.7", "202.125.43.2", "202.125.43.27" ] }, { "vpn": "openvpn", "region": "AU Melbourne", "server_name": "melbourne425", "hostname": "aus-melbourne.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.194.152", "173.239.194.142", "173.239.194.158", "173.239.194.155", "173.239.194.150" ] }, { "vpn": "openvpn", "region": "AU Melbourne", "server_name": "melbourne427", "hostname": "aus-melbourne.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.194.216", "173.239.194.195", "173.239.194.211", "173.239.194.194", "173.239.194.209", "173.239.194.201", "173.239.194.217" ] }, { "vpn": "openvpn", "region": "AU Melbourne", "server_name": "melbourne428", "hostname": "aus-melbourne.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.194.241", "173.239.194.247", "173.239.194.254", "173.239.194.235", "173.239.194.234", "173.239.194.230", "173.239.194.248" ] }, { "vpn": "openvpn", "region": "AU Melbourne", "server_name": "melbourne429", "hostname": "aus-melbourne.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.203.56", "173.239.203.64" ] }, { "vpn": "openvpn", "region": "AU Melbourne", "server_name": "melbourne431", "hostname": "aus-melbourne.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.203.120", "173.239.203.103", "173.239.203.105", "173.239.203.121" ] }, { "vpn": "openvpn", "region": "AU Melbourne", "server_name": "melbourne432", "hostname": "aus-melbourne.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.203.151", "173.239.203.143", "173.239.203.156", "173.239.203.138", "173.239.203.153", "173.239.203.158", "173.239.203.132" ] }, { "vpn": "openvpn", "region": "AU Perth", "server_name": "perth403", "hostname": "aus-perth.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "179.61.228.60", "179.61.228.42", "179.61.228.48", "179.61.228.33", "179.61.228.44", "179.61.228.45", "179.61.228.16", "179.61.228.11", "179.61.228.25", "179.61.228.23", "179.61.228.17" ] }, { "vpn": "openvpn", "region": "AU Perth", "server_name": "perth404", "hostname": "aus-perth.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "179.61.228.66", "179.61.228.113", "179.61.228.78", "179.61.228.79", "179.61.228.121", "179.61.228.125", "179.61.228.91", "179.61.228.119", "179.61.228.94", "179.61.228.103" ] }, { "vpn": "openvpn", "region": "AU Perth", "server_name": "perth405", "hostname": "aus-perth.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "179.61.228.185", "179.61.228.135", "179.61.228.151", "179.61.228.171", "179.61.228.173", "179.61.228.174", "179.61.228.152", "179.61.228.188", "179.61.228.139", "179.61.228.184", "179.61.228.138", "179.61.228.175" ] }, { "vpn": "openvpn", "region": "AU Sydney", "server_name": "sydney420", "hostname": "au-sydney.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "117.120.9.24", "117.120.9.27" ] }, { "vpn": "openvpn", "region": "AU Sydney", "server_name": "sydney427", "hostname": "au-sydney.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "191.101.210.184", "191.101.210.176", "191.101.210.166", "191.101.210.180", "191.101.210.188", "191.101.210.168" ] }, { "vpn": "openvpn", "region": "AU Sydney", "server_name": "sydney428", "hostname": "au-sydney.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "191.101.210.201", "191.101.210.219", "191.101.210.203", "191.101.210.210", "191.101.210.214", "191.101.210.209", "191.101.210.192", "191.101.210.212" ] }, { "vpn": "openvpn", "region": "AU Sydney", "server_name": "sydney430", "hostname": "au-sydney.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.16.81.59", "154.16.81.67", "154.16.81.58", "154.16.81.52" ] }, { "vpn": "openvpn", "region": "AU Sydney", "server_name": "sydney432", "hostname": "au-sydney.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.16.81.126", "154.16.81.103", "154.16.81.107", "154.16.81.121", "154.16.81.118", "154.16.81.122", "154.16.81.112", "154.16.81.104", "154.16.81.120" ] }, { "vpn": "openvpn", "region": "AU Sydney", "server_name": "sydney434", "hostname": "au-sydney.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.16.81.182", "154.16.81.168", "154.16.81.184", "154.16.81.164", "154.16.81.160" ] }, { "vpn": "openvpn", "region": "Albania", "server_name": "tirana401", "hostname": "al.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "31.171.153.25", "31.171.153.28", "31.171.153.20", "31.171.153.26", "31.171.153.29", "31.171.153.19", "31.171.153.30" ] }, { "vpn": "openvpn", "region": "Albania", "server_name": "tirana402", "hostname": "al.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "31.171.154.126", "31.171.154.124", "31.171.154.120", "31.171.154.116", "31.171.154.125", "31.171.154.115", "31.171.154.119", "31.171.154.122" ] }, { "vpn": "openvpn", "region": "Albania", "server_name": "tirana403", "hostname": "al.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "31.171.154.75", "31.171.154.78", "31.171.154.71", "31.171.154.70", "31.171.154.77", "31.171.154.76", "31.171.154.74", "31.171.154.68" ] }, { "vpn": "openvpn", "region": "Algeria", "server_name": "algiers403", "hostname": "dz.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.228.13", "176.125.228.8", "176.125.228.5", "176.125.228.11", "176.125.228.4" ] }, { "vpn": "openvpn", "region": "Algeria", "server_name": "algiers404", "hostname": "dz.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.228.26", "176.125.228.25", "176.125.228.19", "176.125.228.23", "176.125.228.17", "176.125.228.21", "176.125.228.15" ] }, { "vpn": "openvpn", "region": "Algeria", "server_name": "algiers405", "hostname": "dz.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.228.32", "176.125.228.39", "176.125.228.33", "176.125.228.36", "176.125.228.30", "176.125.228.31", "176.125.228.40", "176.125.228.37", "176.125.228.34" ] }, { "vpn": "openvpn", "region": "Andorra", "server_name": "andorra406", "hostname": "ad.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.217.137", "173.239.217.139", "173.239.217.170", "173.239.217.138", "173.239.217.176", "173.239.217.133", "173.239.217.132", "173.239.217.141", "173.239.217.134", "173.239.217.171" ] }, { "vpn": "openvpn", "region": "Andorra", "server_name": "andorra407", "hostname": "ad.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.217.158", "173.239.217.148", "173.239.217.162", "173.239.217.147", "173.239.217.144", "173.239.217.156", "173.239.217.165", "173.239.217.157", "173.239.217.145", "173.239.217.152" ] }, { "vpn": "openvpn", "region": "Argentina", "server_name": "buenosaires407", "hostname": "ar.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.38.31", "146.70.38.35", "146.70.38.29", "146.70.38.34", "146.70.38.36", "146.70.38.41", "146.70.38.28", "146.70.38.38", "146.70.38.40" ] }, { "vpn": "openvpn", "region": "Argentina", "server_name": "buenosaires408", "hostname": "ar.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.38.51", "146.70.38.57", "146.70.38.52", "146.70.38.46", "146.70.38.55", "146.70.38.45", "146.70.38.60" ] }, { "vpn": "openvpn", "region": "Argentina", "server_name": "buenosaires409", "hostname": "ar.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.38.83", "146.70.38.78", "146.70.38.85", "146.70.38.86", "146.70.38.77", "146.70.38.81" ] }, { "vpn": "openvpn", "region": "Argentina", "server_name": "buenosaires410", "hostname": "ar.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.38.98", "146.70.38.94", "146.70.38.91", "146.70.38.95", "146.70.38.89", "146.70.38.100" ] }, { "vpn": "openvpn", "region": "Armenia", "server_name": "armenia403", "hostname": "yerevan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "185.253.160.4", "185.253.160.7", "185.253.160.8", "185.253.160.12", "185.253.160.10", "185.253.160.6", "185.253.160.11", "185.253.160.14" ] }, { "vpn": "openvpn", "region": "Armenia", "server_name": "armenia404", "hostname": "yerevan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "185.253.160.22", "185.253.160.16", "185.253.160.21", "185.253.160.25", "185.253.160.18", "185.253.160.17", "185.253.160.19" ] }, { "vpn": "openvpn", "region": "Australia Streaming Optimized", "server_name": "melbourne414", "hostname": "au-australia-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.214.199.116", "181.214.199.115", "181.214.199.125", "181.214.199.104", "181.214.199.106", "181.214.199.119", "181.214.199.120", "181.214.199.113", "181.214.199.124" ] }, { "vpn": "openvpn", "region": "Australia Streaming Optimized", "server_name": "melbourne434", "hostname": "au-australia-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.203.203", "173.239.203.219", "173.239.203.195", "173.239.203.200", "173.239.203.198", "173.239.203.202", "173.239.203.204", "173.239.203.207", "173.239.203.214" ] }, { "vpn": "openvpn", "region": "Australia Streaming Optimized", "server_name": "sydney435", "hostname": "au-australia-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.16.81.201", "154.16.81.213", "154.16.81.200", "154.16.81.217", "154.16.81.193", "154.16.81.219", "154.16.81.203", "154.16.81.218", "154.16.81.204", "154.16.81.194" ] }, { "vpn": "openvpn", "region": "Austria", "server_name": "vienna401", "hostname": "austria.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.60.159", "156.146.60.133", "156.146.60.154", "156.146.60.135", "156.146.60.160", "156.146.60.147", "156.146.60.130", "156.146.60.157", "156.146.60.156", "156.146.60.150", "156.146.60.143" ] }, { "vpn": "openvpn", "region": "Austria", "server_name": "vienna403", "hostname": "austria.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.60.69", "156.146.60.76", "156.146.60.85", "156.146.60.75", "156.146.60.82", "156.146.60.86", "156.146.60.67", "156.146.60.81", "156.146.60.88" ] }, { "vpn": "openvpn", "region": "Bahamas", "server_name": "bahamas411", "hostname": "bahamas.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.238.120", "95.181.238.3", "95.181.238.125", "95.181.238.20", "95.181.238.14", "95.181.238.12", "95.181.238.13" ] }, { "vpn": "openvpn", "region": "Bahamas", "server_name": "bahamas412", "hostname": "bahamas.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.238.50", "95.181.238.117", "95.181.238.60", "95.181.238.52", "95.181.238.57", "95.181.238.114", "95.181.238.112", "95.181.238.119", "95.181.238.51", "95.181.238.58", "95.181.238.113" ] }, { "vpn": "openvpn", "region": "Bahamas", "server_name": "bahamas413", "hostname": "bahamas.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.238.95", "95.181.238.103", "95.181.238.74", "95.181.238.90", "95.181.238.98", "95.181.238.68", "95.181.238.67", "95.181.238.105", "95.181.238.72", "95.181.238.101", "95.181.238.97", "95.181.238.109" ] }, { "vpn": "openvpn", "region": "Bangladesh", "server_name": "bangladesh404", "hostname": "bangladesh.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "64.64.112.147", "64.64.112.129", "64.64.112.136", "64.64.112.142", "64.64.112.132", "64.64.112.134", "64.64.112.157" ] }, { "vpn": "openvpn", "region": "Belgium", "server_name": "brussels418", "hostname": "brussels.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.214.218.41", "181.214.218.42", "181.214.218.33", "181.214.218.46", "181.214.218.39", "181.214.218.45" ] }, { "vpn": "openvpn", "region": "Belgium", "server_name": "brussels419", "hostname": "brussels.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.214.218.52", "181.214.218.54", "181.214.218.56", "181.214.218.58", "181.214.218.57", "181.214.218.61", "181.214.218.51", "181.214.218.59" ] }, { "vpn": "openvpn", "region": "Belgium", "server_name": "brussels423", "hostname": "brussels.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.47.27.41", "149.22.90.239", "149.22.90.235", "149.22.90.233", "149.22.90.242" ] }, { "vpn": "openvpn", "region": "Belgium", "server_name": "brussels424", "hostname": "brussels.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.22.90.215", "149.22.90.220", "149.22.90.203", "149.22.90.205", "149.22.90.219", "149.22.90.196", "149.22.90.197", "149.22.90.218", "149.22.90.209", "149.22.90.200" ] }, { "vpn": "openvpn", "region": "Bolivia", "server_name": "bolivia401", "hostname": "bo-bolivia-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "64.64.99.25", "64.64.99.30", "64.64.99.9", "64.64.99.10", "64.64.99.4", "64.64.99.28", "64.64.99.29", "64.64.99.17", "64.64.99.5", "64.64.99.19", "64.64.99.12", "64.64.99.23" ] }, { "vpn": "openvpn", "region": "Bosnia and Herzegovina", "server_name": "sarajevo403", "hostname": "ba.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "98.159.36.139", "98.159.36.130", "98.159.36.136", "98.159.36.134", "98.159.36.129", "98.159.36.133", "98.159.36.138", "98.159.36.135", "98.159.36.137", "98.159.36.132" ] }, { "vpn": "openvpn", "region": "Bosnia and Herzegovina", "server_name": "sarajevo404", "hostname": "ba.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "98.159.36.143", "98.159.36.144", "98.159.36.145", "98.159.36.153", "98.159.36.150", "98.159.36.147", "98.159.36.151" ] }, { "vpn": "openvpn", "region": "Brazil", "server_name": "saopaolo401", "hostname": "br.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.241.177.246", "188.241.177.244", "188.241.177.254", "188.241.177.249", "188.241.177.245", "188.241.177.247" ] }, { "vpn": "openvpn", "region": "Brazil", "server_name": "saopaolo404", "hostname": "br.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.241.177.108", "188.241.177.178" ] }, { "vpn": "openvpn", "region": "Brazil", "server_name": "saopaolo405", "hostname": "br.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.241.177.201", "188.241.177.199", "188.241.177.196", "188.241.177.205", "188.241.177.195", "188.241.177.206" ] }, { "vpn": "openvpn", "region": "Brazil", "server_name": "saopaolo407", "hostname": "br.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.98.46", "146.70.98.40", "146.70.98.35", "146.70.98.44", "146.70.98.41", "146.70.98.42", "146.70.98.37", "146.70.98.43", "146.70.98.39" ] }, { "vpn": "openvpn", "region": "Bulgaria", "server_name": "sofia405", "hostname": "sofia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "94.156.14.14", "94.156.14.9", "94.156.14.29", "94.156.14.13", "94.156.14.12", "94.156.14.22", "94.156.14.2", "94.156.14.17", "94.156.14.7" ] }, { "vpn": "openvpn", "region": "Bulgaria", "server_name": "sofia406", "hostname": "sofia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "94.156.14.44", "94.156.14.39", "94.156.14.33", "94.156.14.52", "94.156.14.45", "94.156.14.38", "94.156.14.57", "94.156.14.58", "94.156.14.41", "94.156.14.48" ] }, { "vpn": "openvpn", "region": "CA Montreal", "server_name": "montreal420", "hostname": "ca-montreal.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "140.228.21.96", "140.228.21.97", "140.228.21.77", "140.228.21.85", "140.228.21.83", "140.228.21.94", "140.228.21.82", "140.228.21.78", "140.228.21.89", "140.228.21.92", "140.228.21.84" ] }, { "vpn": "openvpn", "region": "CA Montreal", "server_name": "montreal426", "hostname": "ca-montreal.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.247.105.161", "84.247.105.170", "84.247.105.157", "84.247.105.159", "84.247.105.194", "84.247.105.178", "84.247.105.163", "84.247.105.165", "84.247.105.167", "84.247.105.201" ] }, { "vpn": "openvpn", "region": "CA Montreal", "server_name": "montreal430", "hostname": "ca-montreal.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "140.228.24.74", "140.228.24.197", "140.228.24.210", "140.228.24.207", "140.228.24.194", "140.228.24.200", "140.228.24.212", "140.228.24.209", "140.228.24.211", "140.228.24.218", "140.228.24.64", "140.228.24.70" ] }, { "vpn": "openvpn", "region": "CA Ontario", "server_name": "ontario407", "hostname": "ca-ontario.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "66.56.81.24", "66.56.81.25", "66.56.81.23", "66.56.81.17", "66.56.81.7", "66.56.81.10", "66.56.81.30", "66.56.81.15", "66.56.81.27", "66.56.81.20" ] }, { "vpn": "openvpn", "region": "CA Ontario", "server_name": "ontario415", "hostname": "ca-ontario.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "66.56.80.56", "66.56.80.53", "66.56.80.35", "66.56.80.61", "66.56.80.43", "66.56.80.34", "66.56.80.60", "66.56.80.46", "66.56.80.51" ] }, { "vpn": "openvpn", "region": "CA Ontario", "server_name": "ontario416", "hostname": "ca-ontario.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "178.249.214.105", "178.249.214.116", "178.249.214.122", "178.249.214.121", "178.249.214.98", "178.249.214.107", "178.249.214.103", "178.249.214.123" ] }, { "vpn": "openvpn", "region": "CA Ontario", "server_name": "ontario418", "hostname": "ca-ontario.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "66.56.81.159", "66.56.81.146", "66.56.81.147", "66.56.81.139", "66.56.81.138", "66.56.81.148" ] }, { "vpn": "openvpn", "region": "CA Ontario Streaming Optimized", "server_name": "ontario401", "hostname": "ca-ontario-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "66.56.80.6", "66.56.80.9", "66.56.80.23", "66.56.80.5", "66.56.80.25", "66.56.80.18", "66.56.80.30", "66.56.80.29" ] }, { "vpn": "openvpn", "region": "CA Ontario Streaming Optimized", "server_name": "ontario402", "hostname": "ca-ontario-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "66.56.81.204", "66.56.81.196", "66.56.81.210", "66.56.81.209", "66.56.81.205", "66.56.81.215", "66.56.81.202", "66.56.81.195", "66.56.81.221", "66.56.81.194", "66.56.81.200", "66.56.81.203" ] }, { "vpn": "openvpn", "region": "CA Toronto", "server_name": "toronto420", "hostname": "ca-toronto.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.32.48.13", "212.32.48.25", "212.32.48.15", "212.32.48.18", "212.32.48.10", "212.32.48.7", "212.32.48.24", "212.32.48.32", "212.32.48.8", "212.32.48.31" ] }, { "vpn": "openvpn", "region": "CA Toronto", "server_name": "toronto421", "hostname": "ca-toronto.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.32.48.60", "212.32.48.59", "212.32.48.63", "212.32.48.35", "212.32.48.40", "212.32.48.51", "212.32.48.36", "212.32.48.44", "212.32.48.38", "212.32.48.58", "212.32.48.41" ] }, { "vpn": "openvpn", "region": "CA Toronto", "server_name": "toronto426", "hostname": "ca-toronto.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.32.48.94", "212.32.48.84", "212.32.48.92", "212.32.48.65", "212.32.48.66", "212.32.48.87", "212.32.48.67", "212.32.48.76", "212.32.48.89", "212.32.48.77" ] }, { "vpn": "openvpn", "region": "CA Vancouver", "server_name": "vancouver422", "hostname": "ca-vancouver.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.214.153.77", "181.214.153.71", "181.214.153.74", "181.214.153.73", "181.214.153.95", "181.214.153.99", "181.214.153.93", "181.214.153.87" ] }, { "vpn": "openvpn", "region": "CA Vancouver", "server_name": "vancouver424", "hostname": "ca-vancouver.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.56.52.39", "212.56.52.16", "212.56.52.15", "212.56.52.12", "212.56.52.21", "212.56.52.36", "212.56.52.25", "212.56.52.27", "212.56.52.34", "212.56.52.17", "212.56.52.28" ] }, { "vpn": "openvpn", "region": "CA Vancouver", "server_name": "vancouver426", "hostname": "ca-vancouver.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "89.149.52.23", "89.149.52.12", "89.149.52.34", "89.149.52.24", "89.149.52.14" ] }, { "vpn": "openvpn", "region": "CA Vancouver", "server_name": "vancouver431", "hostname": "ca-vancouver.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.41.202.121", "181.41.202.101", "181.41.202.113", "181.41.202.122" ] }, { "vpn": "openvpn", "region": "CA Vancouver", "server_name": "vancouver433", "hostname": "ca-vancouver.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.41.202.161", "181.41.202.186", "181.41.202.177", "181.41.202.181", "181.41.202.167", "181.41.202.184" ] }, { "vpn": "openvpn", "region": "Cambodia", "server_name": "cambodia401", "hostname": "cambodia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.215.235.106", "188.215.235.110", "188.215.235.108", "188.215.235.99", "188.215.235.102", "188.215.235.101", "188.215.235.107", "188.215.235.104", "188.215.235.100" ] }, { "vpn": "openvpn", "region": "Cambodia", "server_name": "cambodia402", "hostname": "cambodia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.215.235.118", "188.215.235.126", "188.215.235.125", "188.215.235.120", "188.215.235.119", "188.215.235.122", "188.215.235.116", "188.215.235.115" ] }, { "vpn": "openvpn", "region": "Chile", "server_name": "chile401", "hostname": "santiago.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.11.18", "146.70.11.22", "146.70.11.27", "146.70.11.16", "146.70.11.23", "146.70.11.26", "146.70.11.20", "146.70.11.17" ] }, { "vpn": "openvpn", "region": "Chile", "server_name": "chile402", "hostname": "santiago.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.11.29", "146.70.11.30", "146.70.11.36", "146.70.11.35", "146.70.11.39", "146.70.11.40" ] }, { "vpn": "openvpn", "region": "Chile", "server_name": "chile403", "hostname": "santiago.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.11.42", "146.70.11.53", "146.70.11.48", "146.70.11.43", "146.70.11.46", "146.70.11.47", "146.70.11.44" ] }, { "vpn": "openvpn", "region": "China", "server_name": "china403", "hostname": "china.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.241.80.65", "188.241.80.63", "188.241.80.62", "188.241.80.64", "188.241.80.67", "188.241.80.68", "188.241.80.59", "188.241.80.69" ] }, { "vpn": "openvpn", "region": "China", "server_name": "china406", "hostname": "china.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.241.80.35", "188.241.80.31", "188.241.80.34", "188.241.80.42", "188.241.80.39", "188.241.80.41", "188.241.80.37" ] }, { "vpn": "openvpn", "region": "China", "server_name": "china407", "hostname": "china.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.241.80.44", "188.241.80.47", "188.241.80.46", "188.241.80.52", "188.241.80.55", "188.241.80.53", "188.241.80.49" ] }, { "vpn": "openvpn", "region": "Colombia", "server_name": "colombia403", "hostname": "bogota.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.47.16.105", "154.47.16.104", "154.47.16.112", "154.47.16.113", "154.47.16.99", "154.47.16.122", "154.47.16.121", "154.47.16.119", "154.47.16.120", "154.47.16.111", "154.47.16.100" ] }, { "vpn": "openvpn", "region": "Colombia", "server_name": "colombia404", "hostname": "bogota.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.47.16.211", "154.47.16.203", "154.47.16.212", "154.47.16.200", "154.47.16.202", "154.47.16.197", "154.47.16.219", "154.47.16.204", "154.47.16.214", "154.47.16.209" ] }, { "vpn": "openvpn", "region": "Costa Rica", "server_name": "costarica401", "hostname": "sanjose.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.10.27", "146.70.10.24", "146.70.10.17", "146.70.10.20", "146.70.10.18", "146.70.10.22", "146.70.10.25", "146.70.10.19" ] }, { "vpn": "openvpn", "region": "Costa Rica", "server_name": "costarica402", "hostname": "sanjose.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.10.39", "146.70.10.35", "146.70.10.34", "146.70.10.29", "146.70.10.31", "146.70.10.30", "146.70.10.37" ] }, { "vpn": "openvpn", "region": "Costa Rica", "server_name": "costarica403", "hostname": "sanjose.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.10.64", "146.70.10.59", "146.70.10.61", "146.70.10.54", "146.70.10.56", "146.70.10.63", "146.70.10.57", "146.70.10.58" ] }, { "vpn": "openvpn", "region": "Croatia", "server_name": "zagreb403", "hostname": "zagreb.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.47.29.136", "154.47.29.151", "154.47.29.152", "154.47.29.138", "154.47.29.134", "154.47.29.130", "154.47.29.135", "154.47.29.132", "154.47.29.142", "154.47.29.133", "154.47.29.155", "154.47.29.154" ] }, { "vpn": "openvpn", "region": "Croatia", "server_name": "zagreb404", "hostname": "zagreb.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.102.247.232", "149.102.247.235", "149.102.247.244", "149.102.247.230", "149.102.247.243", "149.102.247.239", "149.102.247.240", "149.102.247.241", "149.102.247.227", "149.102.247.242", "149.102.247.229" ] }, { "vpn": "openvpn", "region": "Cyprus", "server_name": "cyprus403", "hostname": "cyprus.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "185.253.162.12", "185.253.162.7", "185.253.162.9", "185.253.162.11", "185.253.162.8", "185.253.162.3" ] }, { "vpn": "openvpn", "region": "Cyprus", "server_name": "cyprus404", "hostname": "cyprus.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "185.253.162.25", "185.253.162.17", "185.253.162.22", "185.253.162.24", "185.253.162.20", "185.253.162.23", "185.253.162.26", "185.253.162.27", "185.253.162.19" ] }, { "vpn": "openvpn", "region": "Czech Republic", "server_name": "prague402", "hostname": "czech.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.102.39.137", "212.102.39.151", "212.102.39.136", "212.102.39.143", "212.102.39.134", "212.102.39.146", "212.102.39.133", "212.102.39.141", "212.102.39.147", "212.102.39.135" ] }, { "vpn": "openvpn", "region": "Czech Republic", "server_name": "prague403", "hostname": "czech.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.102.39.213", "212.102.39.194", "212.102.39.205", "212.102.39.204", "212.102.39.215", "212.102.39.216", "212.102.39.217", "212.102.39.67", "212.102.39.207" ] }, { "vpn": "openvpn", "region": "DE Berlin", "server_name": "berlin420", "hostname": "de-berlin.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "191.101.157.139", "191.101.157.141", "191.101.157.122", "191.101.157.135", "191.101.157.133", "191.101.157.137", "191.101.157.121", "191.101.157.149" ] }, { "vpn": "openvpn", "region": "DE Berlin", "server_name": "berlin421", "hostname": "de-berlin.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "191.101.157.169", "191.101.157.151", "191.101.157.168", "191.101.157.153", "191.101.157.170", "191.101.157.178", "191.101.157.174", "191.101.157.163", "191.101.157.158", "191.101.157.166" ] }, { "vpn": "openvpn", "region": "DE Berlin", "server_name": "berlin424", "hostname": "de-berlin.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.214.173.176", "181.214.173.180", "181.214.173.173", "181.214.173.166", "181.214.173.157", "181.214.173.156", "181.214.173.169", "181.214.173.184" ] }, { "vpn": "openvpn", "region": "DE Berlin", "server_name": "berlin425", "hostname": "de-berlin.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.214.173.17", "181.214.173.3", "181.214.173.10", "181.214.173.21", "181.214.173.18", "181.214.173.28", "181.214.173.14", "181.214.173.19" ] }, { "vpn": "openvpn", "region": "DE Frankfurt", "server_name": "Server-12398-0a", "hostname": "de-frankfurt.pvt.site", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.233.216.233", "84.233.216.157", "84.233.216.155", "84.233.216.129", "84.233.216.188", "84.233.216.144" ] }, { "vpn": "openvpn", "region": "DE Frankfurt", "server_name": "Server-12399-0a", "hostname": "de-frankfurt.pvt.site", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.233.216.135", "84.233.216.168", "84.233.216.137", "84.233.216.237", "84.233.216.214", "84.233.216.162" ] }, { "vpn": "openvpn", "region": "DE Germany Streaming Optimized", "server_name": "berlin422", "hostname": "de-germany-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "191.101.157.183", "191.101.157.195" ] }, { "vpn": "openvpn", "region": "DE Germany Streaming Optimized", "server_name": "berlin423", "hostname": "de-germany-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "191.101.157.227", "191.101.157.229", "191.101.157.222", "191.101.157.216", "191.101.157.244", "191.101.157.239", "191.101.157.225", "191.101.157.237", "191.101.157.228", "191.101.157.233", "191.101.157.240" ] }, { "vpn": "openvpn", "region": "DE Germany Streaming Optimized", "server_name": "frankfurt408", "hostname": "de-germany-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.18.89", "138.199.18.83", "138.199.18.74", "138.199.18.68", "138.199.18.67", "138.199.18.64", "138.199.18.84", "138.199.18.90", "138.199.18.63" ] }, { "vpn": "openvpn", "region": "DE Germany Streaming Optimized", "server_name": "frankfurt419", "hostname": "de-germany-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.134.63.180", "95.134.63.181", "95.134.63.202", "95.134.63.189", "95.134.63.211", "95.134.63.177", "95.134.63.184", "95.134.63.208", "95.134.63.198", "95.134.63.191" ] }, { "vpn": "openvpn", "region": "DK Copenhagen", "server_name": "copenhagen402", "hostname": "denmark.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.94.77", "188.126.94.83", "188.126.94.80", "188.126.94.67", "188.126.94.71", "188.126.94.85", "188.126.94.84", "188.126.94.72", "188.126.94.78", "188.126.94.73" ] }, { "vpn": "openvpn", "region": "DK Copenhagen", "server_name": "copenhagen403", "hostname": "denmark.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.94.108", "188.126.94.126", "188.126.94.106", "188.126.94.105", "188.126.94.104", "188.126.94.103", "188.126.94.117", "188.126.94.113", "188.126.94.120" ] }, { "vpn": "openvpn", "region": "DK Copenhagen", "server_name": "copenhagen404", "hostname": "denmark.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.94.173", "188.126.94.163" ] }, { "vpn": "openvpn", "region": "DK Copenhagen", "server_name": "copenhagen408", "hostname": "denmark.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.106.42", "46.246.106.36", "46.246.106.38", "46.246.106.39", "46.246.106.41", "46.246.106.46", "46.246.106.43", "46.246.106.37", "46.246.106.40" ] }, { "vpn": "openvpn", "region": "DK Streaming Optimized", "server_name": "copenhagen405", "hostname": "denmark-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.94.57", "188.126.94.36", "188.126.94.37", "188.126.94.38", "188.126.94.47", "188.126.94.53", "188.126.94.49", "188.126.94.51", "188.126.94.58", "188.126.94.50", "188.126.94.45" ] }, { "vpn": "openvpn", "region": "DK Streaming Optimized", "server_name": "copenhagen410", "hostname": "denmark-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.88.109.140", "149.88.109.138", "149.88.109.149", "149.88.109.139", "149.88.109.137", "149.88.109.135", "149.88.109.150", "149.88.109.153", "149.88.109.154", "149.88.109.143", "149.88.109.130" ] }, { "vpn": "openvpn", "region": "ES Madrid", "server_name": "madrid401", "hostname": "spain.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.102.49.78", "195.181.167.37", "212.102.49.74", "195.181.167.35", "195.181.167.34", "195.181.167.39", "195.181.167.43", "212.102.49.79", "212.102.49.76", "195.181.167.38", "195.181.167.42" ] }, { "vpn": "openvpn", "region": "ES Madrid", "server_name": "madrid403", "hostname": "spain.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.102.49.200", "212.102.49.205", "212.102.49.201", "212.102.49.209", "212.102.49.206", "212.102.49.202", "212.102.49.203", "212.102.49.189", "212.102.49.208" ] }, { "vpn": "openvpn", "region": "ES Madrid", "server_name": "madrid404", "hostname": "spain.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.102.49.81", "212.102.49.214", "212.102.49.82", "212.102.49.211", "212.102.49.218", "212.102.49.88", "212.102.49.85", "212.102.49.80", "212.102.49.216" ] }, { "vpn": "openvpn", "region": "ES Valencia", "server_name": "valencia402", "hostname": "es-valencia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "196.245.54.149", "196.245.54.158", "196.245.54.137", "196.245.54.145", "196.245.54.143", "196.245.54.146", "196.245.54.153", "196.245.54.139" ] }, { "vpn": "openvpn", "region": "ES Valencia", "server_name": "valencia403", "hostname": "es-valencia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "196.245.54.174", "196.245.54.165", "196.245.54.178", "196.245.54.173", "196.245.54.193", "196.245.54.171", "196.245.54.166", "196.245.54.169", "196.245.54.176", "196.245.54.186" ] }, { "vpn": "openvpn", "region": "Ecuador", "server_name": "ecuador401", "hostname": "ec-ecuador-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.249.5", "173.239.249.21", "173.239.249.6", "173.239.249.4", "173.239.249.18", "173.239.249.20", "173.239.249.29", "173.239.249.9", "173.239.249.26", "173.239.249.14" ] }, { "vpn": "openvpn", "region": "Ecuador", "server_name": "ecuador402", "hostname": "ec-ecuador-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.249.51", "173.239.249.53", "173.239.249.50", "173.239.249.52", "173.239.249.58", "173.239.249.42", "173.239.249.39", "173.239.249.43", "173.239.249.47", "173.239.249.33" ] }, { "vpn": "openvpn", "region": "Egypt", "server_name": "cairo401", "hostname": "egypt.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.122.99", "188.214.122.104", "188.214.122.107", "188.214.122.100", "188.214.122.101", "188.214.122.103", "188.214.122.109", "188.214.122.110" ] }, { "vpn": "openvpn", "region": "Egypt", "server_name": "cairo402", "hostname": "egypt.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.122.115", "188.214.122.119", "188.214.122.126", "188.214.122.121", "188.214.122.120", "188.214.122.116", "188.214.122.124" ] }, { "vpn": "openvpn", "region": "Estonia", "server_name": "talinn406", "hostname": "ee.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "165.231.182.21", "165.231.182.17", "165.231.182.18", "165.231.182.22", "165.231.182.24", "165.231.182.20" ] }, { "vpn": "openvpn", "region": "Estonia", "server_name": "talinn407", "hostname": "ee.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "165.231.182.29", "165.231.182.35", "165.231.182.34", "165.231.182.36", "165.231.182.31", "165.231.182.30" ] }, { "vpn": "openvpn", "region": "Estonia", "server_name": "talinn409", "hostname": "ee.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "165.231.182.113", "165.231.182.121", "165.231.182.111", "165.231.182.116", "165.231.182.115", "165.231.182.112", "165.231.182.110", "165.231.182.119" ] }, { "vpn": "openvpn", "region": "Estonia", "server_name": "talinn410", "hostname": "ee.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "165.231.182.126", "165.231.182.123", "165.231.182.124", "165.231.182.128" ] }, { "vpn": "openvpn", "region": "FI Helsinki", "server_name": "helsinki402", "hostname": "fi.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.89.48", "188.126.89.50", "188.126.89.46", "188.126.89.57", "188.126.89.58", "188.126.89.49", "188.126.89.41", "188.126.89.40", "188.126.89.45" ] }, { "vpn": "openvpn", "region": "FI Helsinki", "server_name": "helsinki403", "hostname": "fi.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.89.142", "188.126.89.138", "188.126.89.158", "188.126.89.133", "188.126.89.154", "188.126.89.153", "188.126.89.147", "188.126.89.132", "188.126.89.152", "188.126.89.131" ] }, { "vpn": "openvpn", "region": "FI Helsinki", "server_name": "helsinki404", "hostname": "fi.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.89.71", "188.126.89.90", "188.126.89.85", "188.126.89.94", "188.126.89.70", "188.126.89.72", "188.126.89.75", "188.126.89.77", "188.126.89.79" ] }, { "vpn": "openvpn", "region": "FI Streaming Optimized", "server_name": "helsinki401", "hostname": "fi-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.126.89.14", "188.126.89.29", "188.126.89.8", "188.126.89.21", "188.126.89.25", "188.126.89.30", "188.126.89.4", "188.126.89.26", "188.126.89.11", "188.126.89.3", "188.126.89.23" ] }, { "vpn": "openvpn", "region": "France", "server_name": "paris402", "hostname": "france.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.63.136", "156.146.63.143", "156.146.63.146", "156.146.63.152", "156.146.63.150", "156.146.63.154", "156.146.63.161" ] }, { "vpn": "openvpn", "region": "France", "server_name": "paris411", "hostname": "france.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "191.101.31.26", "191.101.31.12", "191.101.31.14", "191.101.31.23", "191.101.31.28", "191.101.31.22" ] }, { "vpn": "openvpn", "region": "France", "server_name": "paris414", "hostname": "france.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.63.183", "156.146.63.133", "156.146.63.166", "156.146.63.175", "156.146.63.169", "156.146.63.162", "156.146.63.181", "156.146.63.177", "156.146.63.174", "156.146.63.173" ] }, { "vpn": "openvpn", "region": "France", "server_name": "paris415", "hostname": "france.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.63.194", "156.146.63.214", "156.146.63.192", "156.146.63.208", "156.146.63.212", "156.146.63.195", "156.146.63.201", "156.146.63.204", "156.146.63.199", "156.146.63.210" ] }, { "vpn": "openvpn", "region": "Georgia", "server_name": "georgia403", "hostname": "georgia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.236.12", "95.181.236.5", "95.181.236.10", "95.181.236.6", "95.181.236.4", "95.181.236.3", "95.181.236.8", "95.181.236.9", "95.181.236.13" ] }, { "vpn": "openvpn", "region": "Georgia", "server_name": "georgia404", "hostname": "georgia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.236.20", "95.181.236.23", "95.181.236.17", "95.181.236.24", "95.181.236.21", "95.181.236.18", "95.181.236.22" ] }, { "vpn": "openvpn", "region": "Georgia", "server_name": "georgia405", "hostname": "georgia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.236.34", "95.181.236.32", "95.181.236.33", "95.181.236.29", "95.181.236.36", "95.181.236.28", "95.181.236.27" ] }, { "vpn": "openvpn", "region": "Greece", "server_name": "athens404", "hostname": "gr.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "79.127.181.83", "79.127.181.75", "79.127.181.116", "79.127.181.87", "79.127.181.70", "79.127.181.114", "79.127.181.107", "79.127.181.104", "79.127.181.89" ] }, { "vpn": "openvpn", "region": "Greece", "server_name": "athens405", "hostname": "gr.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "79.127.181.5", "79.127.181.33", "79.127.181.34", "79.127.181.19", "79.127.181.44", "79.127.181.6", "79.127.181.59", "79.127.181.16", "79.127.181.25", "79.127.181.56", "79.127.181.49", "79.127.181.41" ] }, { "vpn": "openvpn", "region": "Greenland", "server_name": "greenland403", "hostname": "greenland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.120.140", "91.90.120.141", "91.90.120.138", "91.90.120.142", "91.90.120.135", "91.90.120.133", "91.90.120.144", "91.90.120.143", "91.90.120.136", "91.90.120.132" ] }, { "vpn": "openvpn", "region": "Greenland", "server_name": "greenland404", "hostname": "greenland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.120.152", "91.90.120.156", "91.90.120.155", "91.90.120.158", "91.90.120.159", "91.90.120.150", "91.90.120.153", "91.90.120.149", "91.90.120.147", "91.90.120.148" ] }, { "vpn": "openvpn", "region": "Greenland", "server_name": "greenland408", "hostname": "greenland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.120.210", "91.90.120.213", "91.90.120.206", "91.90.120.208", "91.90.120.214", "91.90.120.218", "91.90.120.207", "91.90.120.209", "91.90.120.217" ] }, { "vpn": "openvpn", "region": "Guatemala", "server_name": "guatemala401", "hostname": "gt-guatemala-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.221.21", "173.239.221.16", "173.239.221.17", "173.239.221.3", "173.239.221.29", "173.239.221.28", "173.239.221.11", "173.239.221.15", "173.239.221.25" ] }, { "vpn": "openvpn", "region": "Hong Kong", "server_name": "hongkong402", "hostname": "hk.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "86.107.104.234", "86.107.104.233", "86.107.104.227", "86.107.104.235", "86.107.104.236", "86.107.104.228", "86.107.104.229" ] }, { "vpn": "openvpn", "region": "Hong Kong", "server_name": "hongkong403", "hostname": "hk.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "89.45.6.197", "89.45.6.203", "89.45.6.200", "89.45.6.205", "89.45.6.199", "89.45.6.198", "89.45.6.206" ] }, { "vpn": "openvpn", "region": "Hong Kong", "server_name": "hongkong404", "hostname": "hk.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "86.107.104.242", "86.107.104.248", "86.107.104.244", "86.107.104.246", "86.107.104.247", "86.107.104.243", "86.107.104.245" ] }, { "vpn": "openvpn", "region": "Hungary", "server_name": "budapest402", "hostname": "hungary.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "86.106.74.117", "86.106.74.118", "86.106.74.115", "86.106.74.120", "86.106.74.119", "86.106.74.116", "86.106.74.121", "86.106.74.122" ] }, { "vpn": "openvpn", "region": "Hungary", "server_name": "budapest405", "hostname": "hungary.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "185.94.190.206", "185.94.190.198", "185.94.190.197", "185.94.190.199", "185.94.190.196", "185.94.190.205", "185.94.190.204", "185.94.190.203", "185.94.190.200" ] }, { "vpn": "openvpn", "region": "Hungary", "server_name": "budapest406", "hostname": "hungary.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "86.106.74.126", "86.106.74.125", "146.70.120.114", "86.106.74.124" ] }, { "vpn": "openvpn", "region": "IT Milano", "server_name": "milano402", "hostname": "italy.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.41.6", "156.146.41.19", "156.146.41.9", "156.146.41.16", "156.146.41.5", "156.146.41.10", "156.146.41.7", "156.146.41.14", "156.146.41.29", "156.146.41.30", "156.146.41.25" ] }, { "vpn": "openvpn", "region": "IT Milano", "server_name": "milano403", "hostname": "italy.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.41.86", "156.146.41.82", "156.146.41.79", "156.146.41.93", "156.146.41.68", "156.146.41.69", "156.146.41.90", "156.146.41.71", "156.146.41.87" ] }, { "vpn": "openvpn", "region": "IT Milano", "server_name": "milano404", "hostname": "italy.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.41.207", "156.146.41.204", "156.146.41.222", "156.146.41.203", "156.146.41.211", "156.146.41.194", "156.146.41.206", "156.146.41.198", "156.146.41.216", "156.146.41.200" ] }, { "vpn": "openvpn", "region": "IT Streaming Optimized", "server_name": "milano405", "hostname": "italy-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.54.41", "138.199.54.43", "138.199.54.44", "138.199.54.40", "138.199.54.35", "138.199.54.34", "138.199.54.39", "138.199.54.48" ] }, { "vpn": "openvpn", "region": "IT Streaming Optimized", "server_name": "milano406", "hostname": "italy-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.54.60", "138.199.54.55", "138.199.54.57", "138.199.54.59", "138.199.54.52", "138.199.54.56", "138.199.54.53" ] }, { "vpn": "openvpn", "region": "Iceland", "server_name": "reykjavik401", "hostname": "is.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "45.133.193.43", "45.133.193.37", "45.133.193.40", "45.133.193.35", "45.133.193.41" ] }, { "vpn": "openvpn", "region": "Iceland", "server_name": "reykjavik403", "hostname": "is.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "45.133.193.52", "45.133.193.54", "45.133.193.51", "45.133.193.57", "45.133.193.56", "45.133.193.55", "45.133.193.62", "45.133.193.60", "45.133.193.61" ] }, { "vpn": "openvpn", "region": "India", "server_name": "mumbai414", "hostname": "in.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "103.108.174.27", "103.108.174.3", "103.108.174.18", "103.108.174.30", "103.108.174.25", "103.108.174.15", "103.108.174.9", "103.108.174.26", "103.108.174.22", "103.108.174.29", "103.108.174.13", "103.108.174.11" ] }, { "vpn": "openvpn", "region": "India", "server_name": "mumbai417", "hostname": "in.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "103.108.174.62", "103.108.174.61", "103.108.174.52", "103.108.174.63", "103.108.174.46", "103.108.174.39", "103.108.174.48", "103.108.174.51", "103.108.174.45" ] }, { "vpn": "openvpn", "region": "Indonesia", "server_name": "indonesia403", "hostname": "jakarta.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.201.199", "173.239.201.202", "173.239.201.194", "173.239.201.204", "173.239.201.195", "173.239.201.198", "173.239.201.196" ] }, { "vpn": "openvpn", "region": "Ireland", "server_name": "dublin422", "hostname": "ireland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "155.2.194.30", "155.2.194.8", "155.2.194.27", "155.2.194.19", "155.2.194.9", "155.2.194.5", "155.2.194.24", "155.2.194.6" ] }, { "vpn": "openvpn", "region": "Ireland", "server_name": "dublin423", "hostname": "ireland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "155.2.194.35", "155.2.194.62", "155.2.194.39", "155.2.194.38", "155.2.194.41", "155.2.194.43", "155.2.194.51", "155.2.194.34", "155.2.194.47", "155.2.194.54", "155.2.194.49" ] }, { "vpn": "openvpn", "region": "Ireland", "server_name": "dublin424", "hostname": "ireland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "155.2.194.89", "155.2.194.83", "155.2.194.66", "155.2.194.80", "155.2.194.69", "155.2.194.87", "155.2.194.90", "155.2.194.73", "155.2.194.81" ] }, { "vpn": "openvpn", "region": "Isle of Man", "server_name": "douglas403", "hostname": "man.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.124.16", "91.90.124.18", "91.90.124.15", "91.90.124.11", "91.90.124.6", "91.90.124.13", "91.90.124.7", "91.90.124.4", "91.90.124.14" ] }, { "vpn": "openvpn", "region": "Isle of Man", "server_name": "douglas404", "hostname": "man.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.124.22", "91.90.124.30", "91.90.124.28", "91.90.124.21", "91.90.124.29", "91.90.124.26", "91.90.124.23" ] }, { "vpn": "openvpn", "region": "Isle of Man", "server_name": "douglas405", "hostname": "man.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.124.35", "91.90.124.47", "91.90.124.43", "91.90.124.38", "91.90.124.39", "91.90.124.36", "91.90.124.46", "91.90.124.48", "91.90.124.34", "91.90.124.37" ] }, { "vpn": "openvpn", "region": "Israel", "server_name": "jerusalem414", "hostname": "israel.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.88.26.163", "149.88.26.140", "149.88.26.146", "149.88.26.147", "149.88.26.158", "149.88.26.133", "149.88.26.164", "149.88.26.130", "149.88.26.138", "149.88.26.162", "149.88.26.131" ] }, { "vpn": "openvpn", "region": "Israel", "server_name": "jerusalem415", "hostname": "israel.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.88.26.229", "149.88.26.198", "149.88.26.215", "149.88.26.210", "149.88.26.202", "149.88.26.218", "149.88.26.209", "149.88.26.185", "149.88.26.211", "149.88.26.217" ] }, { "vpn": "openvpn", "region": "JP Streaming Optimized", "server_name": "tokyo401", "hostname": "japan-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.22.87.145", "149.22.87.159", "149.22.87.136", "149.22.87.132", "149.22.87.155", "149.22.87.147", "149.22.87.142", "149.22.87.158", "149.22.87.141", "149.22.87.148" ] }, { "vpn": "openvpn", "region": "JP Streaming Optimized", "server_name": "tokyo402", "hostname": "japan-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.22.87.168", "149.22.87.174", "149.22.87.185", "149.22.87.167", "149.22.87.187", "149.22.87.162", "149.22.87.170", "149.22.87.166", "149.22.87.183", "149.22.87.188" ] }, { "vpn": "openvpn", "region": "JP Tokyo", "server_name": "tokyo403", "hostname": "japan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.22.87.34", "149.22.87.59", "149.22.87.8", "149.22.87.18", "149.22.87.27", "149.22.87.36", "149.22.87.38", "149.22.87.17", "149.22.87.52", "149.22.87.53" ] }, { "vpn": "openvpn", "region": "JP Tokyo", "server_name": "tokyo405", "hostname": "japan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.22.87.102", "149.22.87.95", "149.22.87.99", "149.22.87.116", "149.22.87.77", "149.22.87.84", "149.22.87.119", "149.22.87.71", "149.22.87.105", "149.22.87.61", "149.22.87.98" ] }, { "vpn": "openvpn", "region": "JP Tokyo", "server_name": "tokyo420", "hostname": "japan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "155.2.216.29", "155.2.216.14", "155.2.216.10", "155.2.216.16", "155.2.216.30", "155.2.216.7", "155.2.216.24", "155.2.216.6", "155.2.216.8", "155.2.216.4", "155.2.216.22" ] }, { "vpn": "openvpn", "region": "Kazakhstan", "server_name": "kazakhstan402", "hostname": "kazakhstan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "62.133.47.18", "62.133.47.21", "62.133.47.22", "62.133.47.17", "62.133.47.19", "62.133.47.26", "62.133.47.15", "62.133.47.20", "62.133.47.23" ] }, { "vpn": "openvpn", "region": "Kazakhstan", "server_name": "kazakhstan403", "hostname": "kazakhstan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "62.133.47.7", "62.133.47.4", "62.133.47.8", "62.133.47.9", "62.133.47.6", "62.133.47.10", "62.133.47.5" ] }, { "vpn": "openvpn", "region": "Latvia", "server_name": "riga406", "hostname": "lv.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "196.196.53.110", "196.196.53.103", "196.196.53.108", "196.196.53.102", "196.196.53.101", "196.196.53.106", "196.196.53.105", "196.196.53.104" ] }, { "vpn": "openvpn", "region": "Latvia", "server_name": "riga407", "hostname": "lv.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "196.196.53.58", "196.196.53.61", "196.196.53.60", "196.196.53.59", "196.196.53.54", "196.196.53.56", "196.196.53.57", "196.196.53.62" ] }, { "vpn": "openvpn", "region": "Latvia", "server_name": "riga408", "hostname": "lv.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "196.196.53.140", "196.196.53.137", "196.196.53.142", "196.196.53.135", "196.196.53.133", "196.196.53.132", "196.196.53.134", "196.196.53.139", "196.196.53.136" ] }, { "vpn": "openvpn", "region": "Liechtenstein", "server_name": "liechtenstein401", "hostname": "liechtenstein.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.122.27", "91.90.122.29", "91.90.122.22", "91.90.122.31", "91.90.122.30", "91.90.122.32", "91.90.122.24", "91.90.122.25" ] }, { "vpn": "openvpn", "region": "Liechtenstein", "server_name": "liechtenstein402", "hostname": "liechtenstein.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.122.40", "91.90.122.34", "91.90.122.35", "91.90.122.41", "91.90.122.37", "91.90.122.42", "91.90.122.36", "91.90.122.44" ] }, { "vpn": "openvpn", "region": "Liechtenstein", "server_name": "liechtenstein403", "hostname": "liechtenstein.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.122.12", "91.90.122.6", "91.90.122.17", "91.90.122.3", "91.90.122.15", "91.90.122.5", "91.90.122.8", "91.90.122.13" ] }, { "vpn": "openvpn", "region": "Lithuania", "server_name": "vilnius401", "hostname": "lt.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "194.32.122.49", "194.32.122.58", "194.32.122.47", "194.32.122.56", "194.32.122.51", "194.32.122.50", "194.32.122.52" ] }, { "vpn": "openvpn", "region": "Lithuania", "server_name": "vilnius402", "hostname": "lt.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "194.32.122.43", "194.32.122.32", "194.32.122.44", "194.32.122.35", "194.32.122.33", "194.32.122.31", "194.32.122.36", "194.32.122.41" ] }, { "vpn": "openvpn", "region": "Lithuania", "server_name": "vilnius404", "hostname": "lt.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "194.32.122.87", "194.32.122.83", "194.32.122.82", "194.32.122.78", "194.32.122.88", "194.32.122.81", "194.32.122.84", "194.32.122.76" ] }, { "vpn": "openvpn", "region": "Luxembourg", "server_name": "luxembourg410", "hostname": "lu.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "37.46.113.213", "37.46.113.206", "37.46.113.218", "37.46.113.203", "37.46.113.200", "37.46.113.193", "37.46.113.207", "37.46.113.216", "37.46.113.208", "37.46.113.198" ] }, { "vpn": "openvpn", "region": "Luxembourg", "server_name": "luxembourg412", "hostname": "lu.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "37.46.113.158", "37.46.113.175", "37.46.113.171", "37.46.113.154", "37.46.113.168", "37.46.113.156", "37.46.113.164", "37.46.113.176", "37.46.113.161", "37.46.113.181", "37.46.113.173" ] }, { "vpn": "openvpn", "region": "Luxembourg", "server_name": "luxembourg413", "hostname": "lu.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "37.46.113.149", "37.46.113.127", "37.46.113.143", "37.46.113.146", "37.46.113.123", "37.46.113.148", "37.46.113.126", "37.46.113.129", "37.46.113.125" ] }, { "vpn": "openvpn", "region": "Macao", "server_name": "macau403", "hostname": "macau.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.252.92.4", "84.252.92.10", "84.252.92.3", "84.252.92.13", "84.252.92.9", "84.252.92.14", "84.252.92.6" ] }, { "vpn": "openvpn", "region": "Macao", "server_name": "macau404", "hostname": "macau.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.252.92.21", "84.252.92.18", "84.252.92.24", "84.252.92.26", "84.252.92.27", "84.252.92.29", "84.252.92.22" ] }, { "vpn": "openvpn", "region": "Malaysia", "server_name": "malaysia401", "hostname": "kualalumpur.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.15.24", "146.70.15.29", "146.70.15.33", "146.70.15.20", "146.70.15.27", "146.70.15.28", "146.70.15.23", "146.70.15.19", "146.70.15.25" ] }, { "vpn": "openvpn", "region": "Malaysia", "server_name": "malaysia402", "hostname": "kualalumpur.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.15.45", "146.70.15.38", "146.70.15.40", "146.70.15.39", "146.70.15.44", "146.70.15.42", "146.70.15.35", "146.70.15.37" ] }, { "vpn": "openvpn", "region": "Malta", "server_name": "malta403", "hostname": "malta.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.230.13", "176.125.230.3", "176.125.230.8", "176.125.230.5", "176.125.230.7", "176.125.230.11", "176.125.230.6", "176.125.230.15" ] }, { "vpn": "openvpn", "region": "Malta", "server_name": "malta404", "hostname": "malta.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.230.25", "176.125.230.20", "176.125.230.17", "176.125.230.26", "176.125.230.21", "176.125.230.19", "176.125.230.24", "176.125.230.22", "176.125.230.18" ] }, { "vpn": "openvpn", "region": "Malta", "server_name": "malta405", "hostname": "malta.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.230.37", "176.125.230.39", "176.125.230.38", "176.125.230.36", "176.125.230.40", "176.125.230.30", "176.125.230.34" ] }, { "vpn": "openvpn", "region": "Mexico", "server_name": "mexico402", "hostname": "mexico.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "77.81.142.237", "77.81.142.234" ] }, { "vpn": "openvpn", "region": "Mexico", "server_name": "mexico406", "hostname": "mexico.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "77.81.142.48", "77.81.142.50", "77.81.142.47", "77.81.142.56", "77.81.142.55", "77.81.142.54", "77.81.142.46" ] }, { "vpn": "openvpn", "region": "Mexico", "server_name": "mexico407", "hostname": "mexico.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "77.81.142.70", "77.81.142.66" ] }, { "vpn": "openvpn", "region": "Mexico", "server_name": "mexico408", "hostname": "mexico.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "77.81.142.83", "77.81.142.84", "77.81.142.87", "77.81.142.82", "77.81.142.86" ] }, { "vpn": "openvpn", "region": "Mexico", "server_name": "mexico413", "hostname": "mexico.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "77.81.142.244", "77.81.142.247", "77.81.142.242" ] }, { "vpn": "openvpn", "region": "Mexico", "server_name": "mexico414", "hostname": "mexico.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "77.81.142.253", "77.81.142.252", "77.81.142.250", "77.81.142.254", "77.81.142.251" ] }, { "vpn": "openvpn", "region": "Moldova", "server_name": "chisinau401", "hostname": "md.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "178.175.129.36", "178.175.129.43", "178.175.129.41", "178.175.129.45", "178.175.129.44", "178.175.129.46", "178.175.129.35", "178.175.129.37" ] }, { "vpn": "openvpn", "region": "Moldova", "server_name": "chisinau402", "hostname": "md.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "178.175.128.38", "178.175.128.40", "178.175.128.46", "178.175.128.36" ] }, { "vpn": "openvpn", "region": "Monaco", "server_name": "monaco403", "hostname": "monaco.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.233.13", "95.181.233.9", "95.181.233.3", "95.181.233.7", "95.181.233.8", "95.181.233.11", "95.181.233.6", "95.181.233.4", "95.181.233.5" ] }, { "vpn": "openvpn", "region": "Monaco", "server_name": "monaco404", "hostname": "monaco.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.233.23", "95.181.233.19", "95.181.233.25", "95.181.233.20", "95.181.233.17", "95.181.233.21", "95.181.233.18", "95.181.233.22", "95.181.233.24" ] }, { "vpn": "openvpn", "region": "Mongolia", "server_name": "mongolia405", "hostname": "mongolia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.244.58.19", "173.244.58.16", "173.244.58.22", "173.244.58.23", "173.244.58.25", "173.244.58.24", "173.244.58.17", "173.244.58.20" ] }, { "vpn": "openvpn", "region": "Montenegro", "server_name": "montenegro403", "hostname": "montenegro.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.229.13", "176.125.229.9", "176.125.229.10", "176.125.229.3", "176.125.229.12", "176.125.229.15", "176.125.229.8" ] }, { "vpn": "openvpn", "region": "Montenegro", "server_name": "montenegro404", "hostname": "montenegro.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "176.125.229.24", "176.125.229.21", "176.125.229.17", "176.125.229.23", "176.125.229.19", "176.125.229.25", "176.125.229.18", "176.125.229.29" ] }, { "vpn": "openvpn", "region": "Morocco", "server_name": "morocco403", "hostname": "morocco.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.232.9", "95.181.232.8", "95.181.232.7", "95.181.232.3", "95.181.232.6", "95.181.232.11" ] }, { "vpn": "openvpn", "region": "Morocco", "server_name": "morocco404", "hostname": "morocco.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.232.30", "95.181.232.35", "95.181.232.31", "95.181.232.33", "95.181.232.38", "95.181.232.40", "95.181.232.28" ] }, { "vpn": "openvpn", "region": "Morocco", "server_name": "morocco405", "hostname": "morocco.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.232.45", "95.181.232.52", "95.181.232.48", "95.181.232.55", "95.181.232.50", "95.181.232.42", "95.181.232.51", "95.181.232.54", "95.181.232.46" ] }, { "vpn": "openvpn", "region": "NL Netherlands Streaming Optimized", "server_name": "amsterdam404", "hostname": "nl-netherlands-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.3.221", "158.173.3.242", "158.173.3.245", "158.173.3.243", "158.173.3.209", "158.173.3.214", "158.173.3.228", "158.173.3.232", "158.173.3.220", "158.173.3.217" ] }, { "vpn": "openvpn", "region": "NL Netherlands Streaming Optimized", "server_name": "amsterdam405", "hostname": "nl-netherlands-so.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.21.12", "158.173.21.3", "158.173.21.2", "158.173.21.10", "158.173.21.13", "158.173.21.18", "158.173.21.5", "158.173.21.11", "158.173.21.6", "158.173.21.25", "158.173.21.15" ] }, { "vpn": "openvpn", "region": "Nepal", "server_name": "kathmandu401", "hostname": "np-nepal-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.247.97.15", "84.247.97.9", "84.247.97.7", "84.247.97.4", "84.247.97.5", "84.247.97.14", "84.247.97.8", "84.247.97.6" ] }, { "vpn": "openvpn", "region": "Netherlands", "server_name": "amsterdam402", "hostname": "nl-amsterdam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.3.25", "158.173.3.10", "158.173.3.4", "158.173.3.38", "158.173.3.20", "158.173.3.24", "158.173.3.23" ] }, { "vpn": "openvpn", "region": "Netherlands", "server_name": "amsterdam403", "hostname": "nl-amsterdam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.3.201", "158.173.3.183", "158.173.3.198", "158.173.3.191", "158.173.3.181", "158.173.3.190" ] }, { "vpn": "openvpn", "region": "Netherlands", "server_name": "amsterdam412", "hostname": "nl-amsterdam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.3.64", "158.173.3.58" ] }, { "vpn": "openvpn", "region": "Netherlands", "server_name": "amsterdam416", "hostname": "nl-amsterdam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.3.106", "158.173.3.90" ] }, { "vpn": "openvpn", "region": "Netherlands", "server_name": "amsterdam428", "hostname": "nl-amsterdam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.214.206.126", "181.214.206.107", "181.214.206.106", "181.214.206.90", "181.214.206.103", "181.214.206.89" ] }, { "vpn": "openvpn", "region": "Netherlands", "server_name": "amsterdam445", "hostname": "nl-amsterdam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.21.56", "158.173.21.47", "158.173.21.44", "158.173.21.57" ] }, { "vpn": "openvpn", "region": "Netherlands", "server_name": "amsterdam447", "hostname": "nl-amsterdam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.21.159", "158.173.21.178", "158.173.21.147", "158.173.21.192", "158.173.21.173", "158.173.21.150", "158.173.21.196" ] }, { "vpn": "openvpn", "region": "New Zealand", "server_name": "newzealand403", "hostname": "nz.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "179.61.240.12", "179.61.240.3", "179.61.240.36", "179.61.240.26", "179.61.240.46", "179.61.240.29", "179.61.240.21", "179.61.240.62", "179.61.240.41", "179.61.240.27", "179.61.240.24" ] }, { "vpn": "openvpn", "region": "New Zealand", "server_name": "newzealand404", "hostname": "nz.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "179.61.240.110", "179.61.240.109", "179.61.240.81", "179.61.240.125", "179.61.240.122", "179.61.240.80", "179.61.240.99", "179.61.240.124", "179.61.240.120", "179.61.240.70", "179.61.240.118", "179.61.240.107" ] }, { "vpn": "openvpn", "region": "New Zealand", "server_name": "newzealand405", "hostname": "nz.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "179.61.240.134", "179.61.240.184", "179.61.240.166", "179.61.240.174", "179.61.240.138", "179.61.240.167", "179.61.240.141", "179.61.240.130", "179.61.240.132", "179.61.240.143", "179.61.240.171" ] }, { "vpn": "openvpn", "region": "Nigeria", "server_name": "nigeria405", "hostname": "nigeria.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.65.139", "146.70.65.133", "146.70.65.131", "146.70.65.136", "146.70.65.140", "146.70.65.138" ] }, { "vpn": "openvpn", "region": "Nigeria", "server_name": "nigeria406", "hostname": "nigeria.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.65.144", "146.70.65.150", "146.70.65.146", "146.70.65.156", "146.70.65.149", "146.70.65.153", "146.70.65.155", "146.70.65.148" ] }, { "vpn": "openvpn", "region": "Nigeria", "server_name": "nigeria407", "hostname": "nigeria.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.65.158", "146.70.65.170", "146.70.65.160", "146.70.65.162", "146.70.65.161", "146.70.65.166", "146.70.65.167" ] }, { "vpn": "openvpn", "region": "North Macedonia", "server_name": "macedonia401", "hostname": "mk.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "185.225.28.229", "185.225.28.233", "185.225.28.228", "185.225.28.238", "185.225.28.237", "185.225.28.236", "185.225.28.227" ] }, { "vpn": "openvpn", "region": "North Macedonia", "server_name": "macedonia402", "hostname": "mk.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "185.225.31.24", "185.225.31.27", "185.225.31.30", "185.225.31.26", "185.225.31.25", "185.225.31.21", "185.225.31.29", "185.225.31.20" ] }, { "vpn": "openvpn", "region": "Norway", "server_name": "oslo401", "hostname": "no.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.122.44", "46.246.122.49", "46.246.122.52", "46.246.122.41", "46.246.122.54", "46.246.122.35", "46.246.122.43", "46.246.122.47" ] }, { "vpn": "openvpn", "region": "Norway", "server_name": "oslo402", "hostname": "no.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.122.72", "46.246.122.73", "46.246.122.79", "46.246.122.85", "46.246.122.71", "46.246.122.82" ] }, { "vpn": "openvpn", "region": "Norway", "server_name": "oslo403", "hostname": "no.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.122.112", "46.246.122.113", "46.246.122.103", "46.246.122.110", "46.246.122.121", "46.246.122.100" ] }, { "vpn": "openvpn", "region": "Norway", "server_name": "oslo404", "hostname": "no.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.122.166", "46.246.122.177", "46.246.122.165", "46.246.122.181" ] }, { "vpn": "openvpn", "region": "Norway", "server_name": "oslo407", "hostname": "no.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.112.19.110", "212.112.19.109", "212.112.19.106", "212.112.19.116", "212.112.19.111", "212.112.19.124", "212.112.19.125" ] }, { "vpn": "openvpn", "region": "Panama", "server_name": "panama409", "hostname": "panama.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.126.19", "91.90.126.10", "91.90.126.14", "91.90.126.26", "91.90.126.20", "91.90.126.4", "91.90.126.33", "91.90.126.18", "91.90.126.30" ] }, { "vpn": "openvpn", "region": "Panama", "server_name": "panama410", "hostname": "panama.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.126.123", "91.90.126.105", "91.90.126.109", "91.90.126.100", "91.90.126.112", "91.90.126.117", "91.90.126.110", "91.90.126.114", "91.90.126.106" ] }, { "vpn": "openvpn", "region": "Panama", "server_name": "panama411", "hostname": "panama.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "91.90.126.51", "91.90.126.56", "91.90.126.60", "91.90.126.52", "91.90.126.54", "91.90.126.36", "91.90.126.55", "91.90.126.38", "91.90.126.58", "91.90.126.44" ] }, { "vpn": "openvpn", "region": "Peru", "server_name": "peru401", "hostname": "pe-peru-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "45.154.152.16", "45.154.152.25", "45.154.152.8", "45.154.152.27", "45.154.152.22", "45.154.152.9", "45.154.152.11", "45.154.152.10", "45.154.152.20", "45.154.152.5", "45.154.152.24", "45.154.152.14" ] }, { "vpn": "openvpn", "region": "Philippines", "server_name": "philippines401", "hostname": "philippines.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.125.135", "188.214.125.139", "188.214.125.141", "188.214.125.138", "188.214.125.131", "188.214.125.140" ] }, { "vpn": "openvpn", "region": "Philippines", "server_name": "philippines402", "hostname": "philippines.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.125.148", "188.214.125.147", "188.214.125.158", "188.214.125.153", "188.214.125.150", "188.214.125.149", "188.214.125.154", "188.214.125.156" ] }, { "vpn": "openvpn", "region": "Philippines", "server_name": "philippines403", "hostname": "philippines.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.125.179", "188.214.125.183", "188.214.125.181", "188.214.125.185", "188.214.125.186", "188.214.125.188", "188.214.125.182", "188.214.125.190", "188.214.125.184", "188.214.125.189" ] }, { "vpn": "openvpn", "region": "Poland", "server_name": "warsaw410", "hostname": "poland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.59.44", "138.199.59.54", "138.199.59.58", "138.199.59.39", "138.199.59.59", "138.199.59.48", "138.199.59.52", "138.199.59.49", "138.199.59.34", "138.199.59.57", "138.199.59.55" ] }, { "vpn": "openvpn", "region": "Poland", "server_name": "warsaw413", "hostname": "poland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.59.220", "138.199.59.201", "138.199.59.209", "138.199.59.207", "138.199.59.212", "138.199.59.214", "138.199.59.205", "138.199.59.203", "138.199.59.202", "138.199.59.219" ] }, { "vpn": "openvpn", "region": "Poland", "server_name": "warsaw414", "hostname": "poland.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.59.238", "138.199.59.244", "138.199.59.240", "138.199.59.241", "138.199.59.243", "138.199.59.239", "138.199.59.236" ] }, { "vpn": "openvpn", "region": "Portugal", "server_name": "lisbon404", "hostname": "pt.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.59.42", "146.70.59.36", "146.70.59.46", "146.70.59.45", "146.70.59.47", "146.70.59.44", "146.70.59.38", "146.70.59.40", "146.70.59.37" ] }, { "vpn": "openvpn", "region": "Portugal", "server_name": "lisbon405", "hostname": "pt.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "146.70.59.17", "146.70.59.22", "146.70.59.32", "146.70.59.5", "146.70.59.14", "146.70.59.31", "146.70.59.11", "146.70.59.34", "146.70.59.23", "146.70.59.8" ] }, { "vpn": "openvpn", "region": "Qatar", "server_name": "qatar402", "hostname": "qatar.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.234.36", "95.181.234.29", "95.181.234.33", "95.181.234.27", "95.181.234.28", "95.181.234.30", "95.181.234.35" ] }, { "vpn": "openvpn", "region": "Qatar", "server_name": "qatar403", "hostname": "qatar.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.234.6", "95.181.234.3", "95.181.234.10", "95.181.234.11", "95.181.234.12", "95.181.234.4", "95.181.234.5" ] }, { "vpn": "openvpn", "region": "Qatar", "server_name": "qatar404", "hostname": "qatar.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.234.17", "95.181.234.21", "95.181.234.23", "95.181.234.22", "95.181.234.24", "95.181.234.20", "95.181.234.19" ] }, { "vpn": "openvpn", "region": "Romania", "server_name": "romania401", "hostname": "ro.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "143.244.52.46", "143.244.52.41", "143.244.52.48", "143.244.52.38", "143.244.52.63", "143.244.52.61", "143.244.52.35", "143.244.52.43", "143.244.52.64", "143.244.52.54", "143.244.52.58" ] }, { "vpn": "openvpn", "region": "Romania", "server_name": "romania402", "hostname": "ro.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "143.244.54.25", "143.244.54.11", "143.244.54.14", "143.244.54.10", "143.244.54.8", "143.244.54.18", "143.244.54.31", "143.244.54.21" ] }, { "vpn": "openvpn", "region": "SE Stockholm", "server_name": "stockholm401", "hostname": "sweden.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.8.34", "46.246.8.35", "46.246.8.18", "46.246.8.33", "46.246.8.22", "46.246.8.31", "46.246.8.21" ] }, { "vpn": "openvpn", "region": "SE Stockholm", "server_name": "stockholm402", "hostname": "sweden.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.8.55", "46.246.8.71", "46.246.8.53", "46.246.8.54", "46.246.8.65", "46.246.8.58" ] }, { "vpn": "openvpn", "region": "SE Stockholm", "server_name": "stockholm403", "hostname": "sweden.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.8.107", "46.246.8.82", "46.246.8.90", "46.246.8.99", "46.246.8.106", "46.246.8.74", "46.246.8.93", "46.246.8.83", "46.246.8.104" ] }, { "vpn": "openvpn", "region": "SE Stockholm", "server_name": "stockholm405", "hostname": "sweden.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.3.218", "46.246.3.217", "46.246.3.201", "46.246.3.192", "46.246.3.203", "46.246.3.194", "46.246.3.190", "46.246.3.219", "46.246.3.189", "46.246.3.184" ] }, { "vpn": "openvpn", "region": "SE Stockholm", "server_name": "stockholm407", "hostname": "sweden.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "212.112.19.22", "212.112.19.24" ] }, { "vpn": "openvpn", "region": "SE Streaming Optimized", "server_name": "stockholm406", "hostname": "sweden-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "46.246.3.234", "46.246.3.245", "46.246.3.228", "46.246.3.226", "46.246.3.229", "46.246.3.221", "46.246.3.247", "46.246.3.241", "46.246.3.246", "46.246.3.233", "46.246.3.248" ] }, { "vpn": "openvpn", "region": "Saudi Arabia", "server_name": "saudiarabia403", "hostname": "saudiarabia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.235.13", "95.181.235.4", "95.181.235.14", "95.181.235.9", "95.181.235.15", "95.181.235.11", "95.181.235.8", "95.181.235.6", "95.181.235.7", "95.181.235.3", "95.181.235.16" ] }, { "vpn": "openvpn", "region": "Saudi Arabia", "server_name": "saudiarabia404", "hostname": "saudiarabia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.235.157", "95.181.235.158", "95.181.235.150", "95.181.235.147", "95.181.235.156", "95.181.235.154", "95.181.235.153" ] }, { "vpn": "openvpn", "region": "Saudi Arabia", "server_name": "saudiarabia405", "hostname": "saudiarabia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.235.165", "95.181.235.173", "95.181.235.161", "95.181.235.163", "95.181.235.167", "95.181.235.169", "95.181.235.168" ] }, { "vpn": "openvpn", "region": "Serbia", "server_name": "belgrade402", "hostname": "rs.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "37.46.115.26", "37.46.115.27", "37.46.115.16", "37.46.115.21", "37.46.115.29", "37.46.115.19", "37.46.115.18", "37.46.115.25", "37.46.115.17", "37.46.115.28" ] }, { "vpn": "openvpn", "region": "Singapore", "server_name": "singapore401", "hostname": "sg.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.57.189", "156.146.57.194", "156.146.57.183", "156.146.57.184", "156.146.57.174", "156.146.57.178", "156.146.57.180", "156.146.57.191", "156.146.57.192" ] }, { "vpn": "openvpn", "region": "Singapore", "server_name": "singapore402", "hostname": "sg.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.57.112", "156.146.57.120", "156.146.57.135", "156.146.57.107" ] }, { "vpn": "openvpn", "region": "Singapore", "server_name": "singapore403", "hostname": "sg.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "156.146.57.63", "156.146.57.60", "156.146.57.57", "156.146.57.53", "156.146.57.46", "156.146.57.40", "156.146.57.49", "156.146.57.43", "156.146.57.67", "156.146.57.48" ] }, { "vpn": "openvpn", "region": "Singapore", "server_name": "singapore404", "hostname": "sg.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.24.6", "138.199.24.2", "138.199.24.23", "138.199.24.13", "138.199.24.28", "138.199.24.5", "138.199.24.12" ] }, { "vpn": "openvpn", "region": "Slovakia", "server_name": "bratislava403", "hostname": "sk.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.102.232.4", "149.102.232.19", "149.102.232.6", "149.102.232.3", "149.102.232.20", "149.102.232.2", "149.102.232.18", "149.102.232.21", "149.102.232.5", "149.102.232.24", "149.102.232.7" ] }, { "vpn": "openvpn", "region": "Slovakia", "server_name": "bratislava404", "hostname": "sk.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "149.102.232.32", "149.102.232.29", "149.102.232.42", "149.102.232.52", "149.102.232.38", "149.102.232.43", "149.102.232.37", "149.102.232.51", "149.102.232.35" ] }, { "vpn": "openvpn", "region": "Slovenia", "server_name": "slovenia401", "hostname": "slovenia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "195.80.150.183", "195.80.150.184", "195.80.150.179", "195.80.150.180", "195.80.150.189", "195.80.150.190", "195.80.150.187", "195.80.150.185", "195.80.150.181", "195.80.150.186" ] }, { "vpn": "openvpn", "region": "Slovenia", "server_name": "slovenia402", "hostname": "slovenia.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "195.80.150.141", "195.80.150.131", "195.80.150.135", "195.80.150.138", "195.80.150.136", "195.80.150.140", "195.80.150.133" ] }, { "vpn": "openvpn", "region": "South Africa", "server_name": "johannesburg411", "hostname": "za.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "154.47.30.49", "154.47.30.46", "154.47.30.53", "154.47.30.39", "154.47.30.45", "154.47.30.57", "154.47.30.59", "154.47.30.47", "154.47.30.40" ] }, { "vpn": "openvpn", "region": "South Korea", "server_name": "seoul401", "hostname": "kr-south-korea-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.244.42.15", "173.244.42.9", "173.244.42.16", "173.244.42.13", "173.244.42.10", "173.244.42.12", "173.244.42.4", "173.244.42.6", "173.244.42.8", "173.244.42.7", "173.244.42.14" ] }, { "vpn": "openvpn", "region": "Sri Lanka", "server_name": "srilanka403", "hostname": "srilanka.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.239.9", "95.181.239.6", "95.181.239.13", "95.181.239.5", "95.181.239.10", "95.181.239.12", "95.181.239.11" ] }, { "vpn": "openvpn", "region": "Sri Lanka", "server_name": "srilanka404", "hostname": "srilanka.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.239.21", "95.181.239.25", "95.181.239.22", "95.181.239.15", "95.181.239.24", "95.181.239.19", "95.181.239.18" ] }, { "vpn": "openvpn", "region": "Switzerland", "server_name": "zurich404", "hostname": "swiss.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.152.210", "158.173.152.243", "158.173.152.231", "158.173.152.224", "158.173.152.213", "158.173.152.220", "158.173.152.234", "158.173.152.232", "158.173.152.235" ] }, { "vpn": "openvpn", "region": "Switzerland", "server_name": "zurich407", "hostname": "swiss.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.152.91", "158.173.152.112", "158.173.152.97", "158.173.152.123", "158.173.152.89", "158.173.152.119", "158.173.152.98", "158.173.152.95", "158.173.152.122", "158.173.152.118", "158.173.152.111" ] }, { "vpn": "openvpn", "region": "Switzerland", "server_name": "zurich408", "hostname": "swiss.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.152.133", "158.173.152.156", "158.173.152.135", "158.173.152.159", "158.173.152.137", "158.173.152.141", "158.173.152.142", "158.173.152.163", "158.173.152.144", "158.173.152.154", "158.173.152.158" ] }, { "vpn": "openvpn", "region": "Taiwan", "server_name": "taiwan405", "hostname": "taiwan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.244.49.72", "173.244.49.54", "173.244.49.68", "173.244.49.57", "173.244.49.67", "173.244.49.71", "173.244.49.63", "173.244.49.56", "173.244.49.65", "173.244.49.59" ] }, { "vpn": "openvpn", "region": "Taiwan", "server_name": "taiwan406", "hostname": "taiwan.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.244.49.90", "173.244.49.76", "173.244.49.80", "173.244.49.84", "173.244.49.77", "173.244.49.79", "173.244.49.93", "173.244.49.88", "173.244.49.91" ] }, { "vpn": "openvpn", "region": "Turkey", "server_name": "istanbul402", "hostname": "tr.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.213.34.85", "188.213.34.89", "188.213.34.84", "188.213.34.94", "188.213.34.92", "188.213.34.86", "188.213.34.90" ] }, { "vpn": "openvpn", "region": "Turkey", "server_name": "istanbul403", "hostname": "tr.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.213.34.99", "188.213.34.101", "188.213.34.108", "188.213.34.106", "188.213.34.109", "188.213.34.107", "188.213.34.104" ] }, { "vpn": "openvpn", "region": "Turkey", "server_name": "istanbul405", "hostname": "tr.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.213.34.29", "188.213.34.26", "188.213.34.30", "188.213.34.25", "188.213.34.24", "188.213.34.19" ] }, { "vpn": "openvpn", "region": "UK London", "server_name": "london402", "hostname": "uk-london.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.23.116", "158.173.23.88", "158.173.23.90", "158.173.23.89" ] }, { "vpn": "openvpn", "region": "UK London", "server_name": "london407", "hostname": "uk-london.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.215.176.19", "181.215.176.5" ] }, { "vpn": "openvpn", "region": "UK London", "server_name": "london408", "hostname": "uk-london.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "194.110.13.3", "194.110.13.25", "194.110.13.28", "194.110.13.19", "194.110.13.26", "194.110.13.16", "194.110.13.32", "194.110.13.13", "194.110.13.30", "194.110.13.4" ] }, { "vpn": "openvpn", "region": "UK London", "server_name": "london409", "hostname": "uk-london.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "181.215.176.42", "181.215.176.45", "181.215.176.64", "181.215.176.61", "181.215.176.54", "181.215.176.56", "181.215.176.37" ] }, { "vpn": "openvpn", "region": "UK London", "server_name": "london411", "hostname": "uk-london.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.23.170", "158.173.23.156", "158.173.23.159", "158.173.23.173", "158.173.23.155" ] }, { "vpn": "openvpn", "region": "UK London", "server_name": "london413", "hostname": "uk-london.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.23.35", "158.173.23.36", "158.173.23.45", "158.173.23.56" ] }, { "vpn": "openvpn", "region": "UK Manchester", "server_name": "manchester404", "hostname": "uk-manchester.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "193.239.84.84", "193.239.84.86", "193.239.84.88", "193.239.84.87", "193.239.84.82", "193.239.84.85" ] }, { "vpn": "openvpn", "region": "UK Manchester", "server_name": "manchester419", "hostname": "uk-manchester.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "45.133.172.17", "45.133.172.5", "45.133.172.23", "45.133.172.24", "45.133.172.6", "45.133.172.11", "45.133.172.25", "45.133.172.16", "45.133.172.3", "45.133.172.27", "45.133.172.10" ] }, { "vpn": "openvpn", "region": "UK Manchester", "server_name": "manchester425", "hostname": "uk-manchester.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "45.133.172.213", "45.133.172.218", "45.133.172.214", "45.133.172.202", "45.133.172.217", "45.133.172.207", "45.133.172.221", "45.133.172.195", "45.133.172.198", "45.133.172.208" ] }, { "vpn": "openvpn", "region": "UK Southampton", "server_name": "southampton403", "hostname": "uk-southampton.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "98.159.234.118", "98.159.234.114", "98.159.234.102", "98.159.234.108", "98.159.234.116", "98.159.234.110", "98.159.234.107", "98.159.234.85", "98.159.234.86" ] }, { "vpn": "openvpn", "region": "UK Southampton", "server_name": "southampton404", "hostname": "uk-southampton.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "98.159.234.149", "98.159.234.140", "98.159.234.160", "98.159.234.138", "98.159.234.135", "98.159.234.133", "98.159.234.159", "98.159.234.165", "98.159.234.136" ] }, { "vpn": "openvpn", "region": "UK Southampton", "server_name": "southampton405", "hostname": "uk-southampton.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "98.159.234.188", "98.159.234.190", "98.159.234.209", "98.159.234.184", "98.159.234.200", "98.159.234.199", "98.159.234.210", "98.159.234.186", "98.159.234.189", "98.159.234.171", "98.159.234.174" ] }, { "vpn": "openvpn", "region": "UK Streaming Optimized", "server_name": "london435", "hostname": "uk-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.23.71", "158.173.23.70", "158.173.23.76", "158.173.23.69", "158.173.23.64", "158.173.23.77", "158.173.23.73" ] }, { "vpn": "openvpn", "region": "UK Streaming Optimized", "server_name": "london441", "hostname": "uk-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.24.31", "158.173.24.55", "158.173.24.43", "158.173.24.51", "158.173.24.50", "158.173.24.37" ] }, { "vpn": "openvpn", "region": "UK Streaming Optimized", "server_name": "london445", "hostname": "uk-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.23.119", "158.173.23.150", "158.173.23.142", "158.173.23.140", "158.173.23.137", "158.173.23.121", "158.173.23.138", "158.173.23.144", "158.173.23.129" ] }, { "vpn": "openvpn", "region": "UK Streaming Optimized", "server_name": "london446", "hostname": "uk-2.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "158.173.24.14", "158.173.24.20", "158.173.24.22", "158.173.24.10", "158.173.24.17", "158.173.24.21", "158.173.24.23", "158.173.24.19", "158.173.24.15" ] }, { "vpn": "openvpn", "region": "US Alabama", "server_name": "alabama402", "hostname": "us-alabama-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.6.3", "84.239.6.16", "84.239.6.9", "84.239.6.8", "84.239.6.13", "84.239.6.18", "84.239.6.7", "84.239.6.17" ] }, { "vpn": "openvpn", "region": "US Alaska", "server_name": "alaska402", "hostname": "us-alaska-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.52.12", "84.239.52.19", "84.239.52.3", "84.239.52.15", "84.239.52.7", "84.239.52.4", "84.239.52.21", "84.239.52.14", "84.239.52.17", "84.239.52.13", "84.239.52.2" ] }, { "vpn": "openvpn", "region": "US Arkansas", "server_name": "littlerock402", "hostname": "us-arkansas-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "45.152.150.145", "45.152.150.138", "45.152.150.130", "45.152.150.133", "45.152.150.132", "45.152.150.131", "45.152.150.142", "45.152.150.135", "45.152.150.140", "45.152.150.139" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta411", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "151.241.125.14", "151.241.125.4", "151.241.125.20", "151.241.125.18", "151.241.125.21", "151.241.125.31" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta412", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "212.32.49.42", "212.32.49.49" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta419", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "212.32.49.171", "212.32.49.158" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta422", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "151.241.123.127", "151.241.123.115" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta423", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "151.241.123.144", "151.241.123.153", "151.241.123.159", "151.241.123.149", "151.241.123.150", "151.241.123.135" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta425", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "158.173.22.1", "158.173.22.11", "158.173.22.5", "158.173.22.26", "158.173.22.14", "158.173.22.15", "158.173.22.36", "158.173.22.8" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta426", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "158.173.22.91", "158.173.22.118", "158.173.22.93", "158.173.22.122" ] }, { "vpn": "openvpn", "region": "US Atlanta", "server_name": "atlanta428", "hostname": "us-atlanta.privacy.network", "tcp": true, "udp": true, "ips": [ "158.173.22.81", "158.173.22.74", "158.173.22.70", "158.173.22.86", "158.173.22.73", "158.173.22.61" ] }, { "vpn": "openvpn", "region": "US Baltimore", "server_name": "baltimore401", "hostname": "us-baltimore.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.43.28", "84.239.43.12", "84.239.43.24", "84.239.43.8", "84.239.43.17", "84.239.43.5", "84.239.43.31", "84.239.43.25", "84.239.43.18" ] }, { "vpn": "openvpn", "region": "US Baltimore", "server_name": "baltimore402", "hostname": "us-baltimore.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.43.60", "84.239.43.43", "84.239.43.48", "84.239.43.52", "84.239.43.33", "84.239.43.45", "84.239.43.38", "84.239.43.35", "84.239.43.51" ] }, { "vpn": "openvpn", "region": "US California", "server_name": "losangeles404", "hostname": "us-california.privacy.network", "tcp": true, "udp": true, "ips": [ "84.17.45.14", "84.17.45.6", "84.17.45.2", "84.17.45.18", "84.17.45.24", "84.17.45.28", "84.17.45.13" ] }, { "vpn": "openvpn", "region": "US California", "server_name": "losangeles411", "hostname": "us-california.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.106.26", "191.96.106.18", "191.96.106.38", "191.96.106.24" ] }, { "vpn": "openvpn", "region": "US California", "server_name": "losangeles412", "hostname": "us-california.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.106.57", "191.96.106.47", "191.96.106.45", "191.96.106.58" ] }, { "vpn": "openvpn", "region": "US California", "server_name": "losangeles435", "hostname": "us-california.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.106.155", "191.96.106.146", "191.96.106.150", "191.96.106.147", "191.96.106.141", "191.96.106.145", "191.96.106.157", "191.96.106.144" ] }, { "vpn": "openvpn", "region": "US California", "server_name": "losangeles437", "hostname": "us-california.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.106.191", "191.96.106.208", "191.96.106.193", "191.96.106.207", "191.96.106.219", "191.96.106.209", "191.96.106.195", "191.96.106.196", "191.96.106.200" ] }, { "vpn": "openvpn", "region": "US Chicago", "server_name": "chicago411", "hostname": "us-chicago.privacy.network", "tcp": true, "udp": true, "ips": [ "181.214.164.39", "181.214.164.33", "181.214.164.16", "181.214.164.38" ] }, { "vpn": "openvpn", "region": "US Chicago", "server_name": "chicago413", "hostname": "us-chicago.privacy.network", "tcp": true, "udp": true, "ips": [ "181.214.164.104", "181.214.164.122", "181.214.164.134", "181.214.164.124", "181.214.164.103", "181.214.164.115", "181.214.164.114" ] }, { "vpn": "openvpn", "region": "US Chicago", "server_name": "chicago415", "hostname": "us-chicago.privacy.network", "tcp": true, "udp": true, "ips": [ "181.214.164.216", "181.214.164.230", "181.214.164.245", "181.214.164.195", "181.214.164.227", "181.214.164.215", "181.214.164.242", "181.214.164.191", "181.214.164.200" ] }, { "vpn": "openvpn", "region": "US Chicago", "server_name": "chicago416", "hostname": "us-chicago.privacy.network", "tcp": true, "udp": true, "ips": [ "181.214.166.27", "181.214.166.11", "181.214.166.33", "181.214.166.12", "181.214.166.19", "181.214.166.45", "181.214.166.31", "181.214.166.29", "181.214.166.47", "181.214.166.16", "181.214.166.48", "181.214.166.24" ] }, { "vpn": "openvpn", "region": "US Connecticut", "server_name": "connecticut402", "hostname": "us-connecticut-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.47.5", "84.239.47.10", "84.239.47.23", "84.239.47.20", "84.239.47.27", "84.239.47.9", "84.239.47.29", "84.239.47.24", "84.239.47.21", "84.239.47.15" ] }, { "vpn": "openvpn", "region": "US Connecticut", "server_name": "connecticut404", "hostname": "us-connecticut-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.47.75", "84.239.47.67", "84.239.47.88", "84.239.47.65", "84.239.47.78", "84.239.47.66", "84.239.47.86", "84.239.47.73", "84.239.47.90", "84.239.47.81" ] }, { "vpn": "openvpn", "region": "US Denver", "server_name": "denver421", "hostname": "us-denver.privacy.network", "tcp": true, "udp": true, "ips": [ "181.41.206.77", "181.41.206.84", "181.41.206.88", "181.41.206.89", "181.41.206.81", "181.41.206.85" ] }, { "vpn": "openvpn", "region": "US Denver", "server_name": "denver422", "hostname": "us-denver.privacy.network", "tcp": true, "udp": true, "ips": [ "181.41.206.100", "181.41.206.105", "181.41.206.104", "181.41.206.103", "181.41.206.97", "181.41.206.93" ] }, { "vpn": "openvpn", "region": "US Denver", "server_name": "denver423", "hostname": "us-denver.privacy.network", "tcp": true, "udp": true, "ips": [ "181.41.206.109", "181.41.206.107", "181.41.206.115", "181.41.206.117", "181.41.206.118", "181.41.206.111" ] }, { "vpn": "openvpn", "region": "US Denver", "server_name": "denver426", "hostname": "us-denver.privacy.network", "tcp": true, "udp": true, "ips": [ "181.41.206.162", "181.41.206.164", "181.41.206.157", "181.41.206.154", "181.41.206.161", "181.41.206.153" ] }, { "vpn": "openvpn", "region": "US Denver", "server_name": "denver432", "hostname": "us-denver.privacy.network", "tcp": true, "udp": true, "ips": [ "37.19.210.172", "37.19.210.187", "37.19.210.180", "37.19.210.173" ] }, { "vpn": "openvpn", "region": "US East", "server_name": "newjersey419", "hostname": "us-newjersey.privacy.network", "tcp": true, "udp": true, "ips": [ "37.19.197.132", "37.19.197.148", "37.19.197.140", "37.19.197.154", "37.19.197.153", "37.19.197.146", "37.19.197.137", "37.19.197.144", "37.19.197.151" ] }, { "vpn": "openvpn", "region": "US East", "server_name": "newjersey430", "hostname": "us-newjersey.privacy.network", "tcp": true, "udp": true, "ips": [ "212.56.54.42", "212.56.54.46", "212.56.54.19", "212.56.54.30", "212.56.54.11", "212.56.54.27", "212.56.54.44", "212.56.54.49", "212.56.54.10", "212.56.54.36", "212.56.54.32" ] }, { "vpn": "openvpn", "region": "US East", "server_name": "newjersey433", "hostname": "us-newjersey.privacy.network", "tcp": true, "udp": true, "ips": [ "212.56.54.150", "212.56.54.135", "212.56.54.140", "212.56.54.160", "212.56.54.165", "212.56.54.159", "212.56.54.161", "212.56.54.164", "212.56.54.152", "212.56.54.142", "212.56.54.132" ] }, { "vpn": "openvpn", "region": "US East Streaming Optimized", "server_name": "newjersey414", "hostname": "us-streaming.privacy.network", "tcp": true, "udp": true, "ips": [ "138.199.10.25", "138.199.10.2", "138.199.10.17", "138.199.10.18", "138.199.10.29", "138.199.10.28", "138.199.10.16", "138.199.10.20" ] }, { "vpn": "openvpn", "region": "US East Streaming Optimized", "server_name": "newjersey436", "hostname": "us-streaming.privacy.network", "tcp": true, "udp": true, "ips": [ "151.241.119.123", "151.241.119.116", "151.241.119.107", "151.241.119.101", "151.241.119.121", "151.241.119.103", "151.241.119.102", "151.241.119.100", "151.241.119.120" ] }, { "vpn": "openvpn", "region": "US East Streaming Optimized", "server_name": "newjersey437", "hostname": "us-streaming.privacy.network", "tcp": true, "udp": true, "ips": [ "151.241.119.146", "151.241.119.134", "151.241.119.147", "151.241.119.157", "151.241.119.149", "151.241.119.153" ] }, { "vpn": "openvpn", "region": "US East Streaming Optimized", "server_name": "newjersey438", "hostname": "us-streaming.privacy.network", "tcp": true, "udp": true, "ips": [ "151.241.119.164", "151.241.119.163", "151.241.119.175", "151.241.119.186", "151.241.119.170", "151.241.119.168", "151.241.119.161" ] }, { "vpn": "openvpn", "region": "US Florida", "server_name": "miami422", "hostname": "us-florida.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.152.180", "102.129.152.176", "102.129.152.184", "102.129.152.183", "102.129.152.186" ] }, { "vpn": "openvpn", "region": "US Florida", "server_name": "miami423", "hostname": "us-florida.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.153.38", "102.129.153.35", "102.129.153.20", "102.129.153.15", "102.129.153.32", "102.129.153.10", "102.129.153.24" ] }, { "vpn": "openvpn", "region": "US Florida", "server_name": "miami425", "hostname": "us-florida.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.153.91", "102.129.153.78", "102.129.153.90", "102.129.153.88", "102.129.153.80", "102.129.153.71", "102.129.153.81", "102.129.153.73", "102.129.153.94", "102.129.153.99" ] }, { "vpn": "openvpn", "region": "US Florida", "server_name": "miami426", "hostname": "us-florida.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.153.117", "102.129.153.125", "102.129.153.112", "102.129.153.128", "102.129.153.110", "102.129.153.114", "102.129.153.105" ] }, { "vpn": "openvpn", "region": "US Florida", "server_name": "miami427", "hostname": "us-florida.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.153.150", "102.129.153.151" ] }, { "vpn": "openvpn", "region": "US Honolulu", "server_name": "Server-12407-0a", "hostname": "us-honolulu.pvt.site", "tcp": true, "udp": true, "ips": [ "84.239.5.56", "84.239.5.82", "84.239.5.123", "84.239.5.73", "84.239.5.66", "84.239.5.68" ] }, { "vpn": "openvpn", "region": "US Houston", "server_name": "houston424", "hostname": "us-houston.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.67.170", "191.96.67.184", "191.96.67.183", "191.96.67.188", "191.96.67.173", "191.96.67.175", "191.96.67.171", "191.96.67.182", "191.96.67.174", "191.96.67.185", "191.96.67.176", "191.96.67.163" ] }, { "vpn": "openvpn", "region": "US Houston", "server_name": "houston426", "hostname": "us-houston.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.67.235", "191.96.67.238", "191.96.67.229", "191.96.67.241", "191.96.67.228", "191.96.67.233", "191.96.67.223", "191.96.67.245", "191.96.67.226", "191.96.67.243" ] }, { "vpn": "openvpn", "region": "US Houston", "server_name": "houston433", "hostname": "us-houston.privacy.network", "tcp": true, "udp": true, "ips": [ "37.19.221.31", "37.19.221.44", "37.19.221.48", "37.19.221.37", "37.19.221.38", "37.19.221.32", "37.19.221.42", "37.19.221.36", "37.19.221.39", "37.19.221.52" ] }, { "vpn": "openvpn", "region": "US Idaho", "server_name": "idaho402", "hostname": "us-idaho-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.12.150", "84.239.12.149", "84.239.12.140", "84.239.12.141", "84.239.12.137", "84.239.12.143", "84.239.12.142", "84.239.12.148", "84.239.12.132" ] }, { "vpn": "openvpn", "region": "US Indiana", "server_name": "Server-12403-0a", "hostname": "us-indiana.pvt.site", "tcp": true, "udp": true, "ips": [ "84.239.16.112", "84.239.16.85", "84.239.16.61", "84.239.16.75", "84.239.16.90", "84.239.16.94" ] }, { "vpn": "openvpn", "region": "US Iowa", "server_name": "iowa401", "hostname": "us-iowa-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.17.44", "84.239.17.37", "84.239.17.26", "84.239.17.29", "84.239.17.25", "84.239.17.38", "84.239.17.28", "84.239.17.43", "84.239.17.39", "84.239.17.40" ] }, { "vpn": "openvpn", "region": "US Iowa", "server_name": "iowa402", "hostname": "us-iowa-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.17.4", "84.239.17.14", "84.239.17.5", "84.239.17.17", "84.239.17.2", "84.239.17.20", "84.239.17.19", "84.239.17.18" ] }, { "vpn": "openvpn", "region": "US Kansas", "server_name": "kansas402", "hostname": "us-kansas-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.31.4", "84.239.31.17", "84.239.31.8", "84.239.31.18", "84.239.31.9", "84.239.31.20", "84.239.31.2", "84.239.31.19", "84.239.31.6" ] }, { "vpn": "openvpn", "region": "US Kentucky", "server_name": "Server-12401-0a", "hostname": "us-kentucky.pvt.site", "tcp": true, "udp": true, "ips": [ "84.239.6.246", "84.239.6.251", "84.239.6.193", "84.239.6.223", "84.239.6.216", "84.239.6.165" ] }, { "vpn": "openvpn", "region": "US Las Vegas", "server_name": "lasvegas415", "hostname": "us-lasvegas.privacy.network", "tcp": true, "udp": true, "ips": [ "154.16.105.88", "154.16.105.74", "154.16.105.97", "154.16.105.101", "154.16.105.75", "154.16.105.102" ] }, { "vpn": "openvpn", "region": "US Las Vegas", "server_name": "lasvegas419", "hostname": "us-lasvegas.privacy.network", "tcp": true, "udp": true, "ips": [ "212.32.50.40", "212.32.50.12", "212.32.50.20", "212.32.50.34", "212.32.50.14", "212.32.50.25", "212.32.50.15", "212.32.50.30", "212.32.50.11" ] }, { "vpn": "openvpn", "region": "US Las Vegas", "server_name": "lasvegas422", "hostname": "us-lasvegas.privacy.network", "tcp": true, "udp": true, "ips": [ "212.32.50.139", "212.32.50.143", "212.32.50.161", "212.32.50.137" ] }, { "vpn": "openvpn", "region": "US Las Vegas", "server_name": "lasvegas423", "hostname": "us-lasvegas.privacy.network", "tcp": true, "udp": true, "ips": [ "212.32.50.167", "212.32.50.180", "212.32.50.177", "212.32.50.178", "212.32.50.188", "212.32.50.182" ] }, { "vpn": "openvpn", "region": "US Las Vegas", "server_name": "lasvegas426", "hostname": "us-lasvegas.privacy.network", "tcp": true, "udp": true, "ips": [ "173.239.226.139", "173.239.226.161", "173.239.226.155", "173.239.226.134", "173.239.226.144", "173.239.226.136" ] }, { "vpn": "openvpn", "region": "US Las Vegas", "server_name": "lasvegas427", "hostname": "us-lasvegas.privacy.network", "tcp": true, "udp": true, "ips": [ "173.239.226.209", "173.239.226.228" ] }, { "vpn": "openvpn", "region": "US Louisiana", "server_name": "louisiana402", "hostname": "us-louisiana-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "45.152.150.15", "45.152.150.8", "45.152.150.2", "45.152.150.10", "45.152.150.7", "45.152.150.3", "45.152.150.13", "45.152.150.21", "45.152.150.12" ] }, { "vpn": "openvpn", "region": "US Maine", "server_name": "maine402", "hostname": "us-maine-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.37.11", "84.239.37.19", "84.239.37.8", "84.239.37.5", "84.239.37.16", "84.239.37.9", "84.239.37.10", "84.239.37.7", "84.239.37.4", "84.239.37.14" ] }, { "vpn": "openvpn", "region": "US Massachusetts", "server_name": "massachusetts404", "hostname": "us-massachusetts-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "149.40.50.37", "149.40.50.55", "149.40.50.56", "149.40.50.34", "149.40.50.58", "149.40.50.50", "149.40.50.43", "149.40.50.41", "149.40.50.51", "149.40.50.44" ] }, { "vpn": "openvpn", "region": "US Massachusetts", "server_name": "massachusetts405", "hostname": "us-massachusetts-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "149.40.50.4", "149.40.50.6", "149.40.50.13", "149.40.50.14", "149.40.50.8", "149.40.50.11", "149.40.50.9", "149.40.50.23", "149.40.50.20" ] }, { "vpn": "openvpn", "region": "US Michigan", "server_name": "michigan403", "hostname": "us-michigan-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.17.134", "84.239.17.146", "84.239.17.143", "84.239.17.136", "84.239.17.133", "84.239.17.140", "84.239.17.138", "84.239.17.149", "84.239.17.141", "84.239.17.139" ] }, { "vpn": "openvpn", "region": "US Michigan", "server_name": "michigan404", "hostname": "us-michigan-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.17.151", "84.239.17.152", "84.239.17.158", "84.239.17.167", "84.239.17.170", "84.239.17.169", "84.239.17.166" ] }, { "vpn": "openvpn", "region": "US Minnesota", "server_name": "minnesota402", "hostname": "us-minnesota-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.25.3", "84.239.25.9", "84.239.25.18", "84.239.25.21", "84.239.25.11", "84.239.25.13", "84.239.25.5", "84.239.25.10", "84.239.25.8" ] }, { "vpn": "openvpn", "region": "US Mississippi", "server_name": "mississippi402", "hostname": "us-mississippi-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.31.145", "84.239.31.134", "84.239.31.138", "84.239.31.146", "84.239.31.131", "84.239.31.130", "84.239.31.141", "84.239.31.143", "84.239.31.133" ] }, { "vpn": "openvpn", "region": "US Missouri", "server_name": "missouri402", "hostname": "us-missouri-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.16.141", "84.239.16.146", "84.239.16.142", "84.239.16.143", "84.239.16.133", "84.239.16.137", "84.239.16.135", "84.239.16.131" ] }, { "vpn": "openvpn", "region": "US Missouri", "server_name": "missouri404", "hostname": "us-missouri-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.16.165", "84.239.16.187", "84.239.16.181", "84.239.16.153", "84.239.16.175", "84.239.16.176", "84.239.16.180", "84.239.16.170", "84.239.16.163" ] }, { "vpn": "openvpn", "region": "US Montana", "server_name": "montana402", "hostname": "us-montana-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.47.150", "84.239.47.144", "84.239.47.138", "84.239.47.147", "84.239.47.142", "84.239.47.136", "84.239.47.137", "84.239.47.140" ] }, { "vpn": "openvpn", "region": "US Nebraska", "server_name": "nebraska402", "hostname": "us-nebraska-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.25.144", "84.239.25.148", "84.239.25.136", "84.239.25.149", "84.239.25.142", "84.239.25.141", "84.239.25.133", "84.239.25.138", "84.239.25.131" ] }, { "vpn": "openvpn", "region": "US New Hampshire", "server_name": "newhampshire402", "hostname": "us-new-hampshire-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.41.3", "84.239.41.6", "84.239.41.13", "84.239.41.16", "84.239.41.7", "84.239.41.14" ] }, { "vpn": "openvpn", "region": "US New Hampshire", "server_name": "newhampshire403", "hostname": "us-new-hampshire-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.41.26", "84.239.41.30", "84.239.41.37", "84.239.41.31", "84.239.41.34", "84.239.41.33", "84.239.41.38", "84.239.41.25", "84.239.41.24", "84.239.41.27" ] }, { "vpn": "openvpn", "region": "US New Mexico", "server_name": "newmexico402", "hostname": "us-new-mexico-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.33.19", "84.239.33.14", "84.239.33.6", "84.239.33.10", "84.239.33.9", "84.239.33.4", "84.239.33.18", "84.239.33.8", "84.239.33.17", "84.239.33.16" ] }, { "vpn": "openvpn", "region": "US New York", "server_name": "newyork433", "hostname": "us-newyorkcity.privacy.network", "tcp": true, "udp": true, "ips": [ "37.19.198.66", "37.19.198.65", "37.19.198.60", "37.19.198.55", "158.173.25.25", "37.19.198.57", "37.19.198.51", "158.173.25.2" ] }, { "vpn": "openvpn", "region": "US New York", "server_name": "newyork437", "hostname": "us-newyorkcity.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.150.148", "191.96.150.139" ] }, { "vpn": "openvpn", "region": "US New York", "server_name": "newyork438", "hostname": "us-newyorkcity.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.227.12", "191.96.227.34" ] }, { "vpn": "openvpn", "region": "US New York", "server_name": "newyork440", "hostname": "us-newyorkcity.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.227.149", "191.96.227.159", "191.96.227.148", "191.96.227.141", "191.96.227.155", "191.96.227.116" ] }, { "vpn": "openvpn", "region": "US New York", "server_name": "newyork441", "hostname": "us-newyorkcity.privacy.network", "tcp": true, "udp": true, "ips": [ "151.240.205.19", "151.240.205.33" ] }, { "vpn": "openvpn", "region": "US New York", "server_name": "newyork442", "hostname": "us-newyorkcity.privacy.network", "tcp": true, "udp": true, "ips": [ "151.240.205.73", "151.240.205.87", "151.240.205.56", "151.240.205.75", "151.240.205.51", "151.240.205.67", "151.240.205.62", "151.240.205.82" ] }, { "vpn": "openvpn", "region": "US New York", "server_name": "newyork447", "hostname": "us-newyorkcity.privacy.network", "tcp": true, "udp": true, "ips": [ "158.173.25.166", "158.173.25.183", "158.173.25.131", "158.173.25.143", "158.173.25.172", "158.173.25.134" ] }, { "vpn": "openvpn", "region": "US North Carolina", "server_name": "northcarolina402", "hostname": "us-north-carolina-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.7.16", "84.239.7.5", "84.239.7.20", "84.239.7.12", "84.239.7.8", "84.239.7.10", "84.239.7.4", "84.239.7.6" ] }, { "vpn": "openvpn", "region": "US North Dakota", "server_name": "northdakota402", "hostname": "us-north-dakota-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.48.9", "84.239.48.20", "84.239.48.14", "84.239.48.19", "84.239.48.11", "84.239.48.7", "84.239.48.18", "84.239.48.17", "84.239.48.6", "84.239.48.5" ] }, { "vpn": "openvpn", "region": "US Ohio", "server_name": "ohio403", "hostname": "us-ohio-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.27.133", "84.239.27.142", "84.239.27.140", "84.239.27.147", "84.239.27.145", "84.239.27.130", "84.239.27.148", "84.239.27.143", "84.239.27.135" ] }, { "vpn": "openvpn", "region": "US Ohio", "server_name": "ohio404", "hostname": "us-ohio-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.27.152", "84.239.27.170", "84.239.27.154", "84.239.27.162", "84.239.27.172", "84.239.27.156", "84.239.27.164" ] }, { "vpn": "openvpn", "region": "US Oklahoma", "server_name": "oklahoma402", "hostname": "us-oklahoma-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.33.150", "84.239.33.144", "84.239.33.147", "84.239.33.133", "84.239.33.146", "84.239.33.149", "84.239.33.148", "84.239.33.139" ] }, { "vpn": "openvpn", "region": "US Oregon", "server_name": "oregon402", "hostname": "us-oregon-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.48.132", "84.239.48.145", "84.239.48.131", "84.239.48.143", "84.239.48.144", "84.239.48.138", "84.239.48.147", "84.239.48.140", "84.239.48.141", "84.239.48.148" ] }, { "vpn": "openvpn", "region": "US Pennsylvania", "server_name": "pennsylvania403", "hostname": "us-pennsylvania-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.41.135", "84.239.41.133", "84.239.41.149", "84.239.41.140", "84.239.41.136", "84.239.41.138", "84.239.41.139", "84.239.41.148" ] }, { "vpn": "openvpn", "region": "US Pennsylvania", "server_name": "pennsylvania404", "hostname": "us-pennsylvania-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.41.203", "84.239.41.208", "84.239.41.195", "84.239.41.193", "84.239.41.209", "84.239.41.194", "84.239.41.198", "84.239.41.200", "84.239.41.196", "84.239.41.206", "84.239.41.191" ] }, { "vpn": "openvpn", "region": "US Rhode Island", "server_name": "rhodeisland402", "hostname": "us-rhode-island-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.45.9", "84.239.45.17", "84.239.45.19", "84.239.45.15", "84.239.45.16", "84.239.45.18", "84.239.45.5", "84.239.45.20", "84.239.45.12", "84.239.45.7" ] }, { "vpn": "openvpn", "region": "US Salt Lake City", "server_name": "Server-12404-0a", "hostname": "us-salt-lake-city.pvt.site", "tcp": true, "udp": true, "ips": [ "84.239.5.187", "84.239.5.195", "84.239.5.227", "84.239.5.236", "84.239.5.218", "84.239.5.204" ] }, { "vpn": "openvpn", "region": "US Seattle", "server_name": "seattle404", "hostname": "us-seattle.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.103.14", "191.96.103.21", "191.96.103.19", "191.96.103.7", "191.96.103.27", "191.96.103.15", "191.96.103.30" ] }, { "vpn": "openvpn", "region": "US Seattle", "server_name": "seattle406", "hostname": "us-seattle.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.103.79", "191.96.103.69" ] }, { "vpn": "openvpn", "region": "US Seattle", "server_name": "seattle408", "hostname": "us-seattle.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.103.144", "191.96.103.151", "191.96.103.128", "191.96.103.143", "191.96.103.129", "191.96.103.137" ] }, { "vpn": "openvpn", "region": "US Seattle", "server_name": "seattle415", "hostname": "us-seattle.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.37.124", "191.96.37.116", "191.96.37.120", "191.96.37.100" ] }, { "vpn": "openvpn", "region": "US Seattle", "server_name": "seattle417", "hostname": "us-seattle.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.37.186", "191.96.37.176", "191.96.37.180", "191.96.37.165", "191.96.37.182", "191.96.37.172" ] }, { "vpn": "openvpn", "region": "US Seattle", "server_name": "seattle418", "hostname": "us-seattle.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.37.208", "191.96.37.199", "191.96.37.207", "191.96.37.191", "191.96.37.197", "191.96.37.216" ] }, { "vpn": "openvpn", "region": "US Silicon Valley", "server_name": "siliconvalley406", "hostname": "us-siliconvalley.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.232.227", "102.129.232.250", "102.129.232.229", "102.129.232.246", "102.129.232.234", "102.129.232.239", "102.129.232.225", "102.129.232.222", "102.129.232.232", "102.129.232.238", "102.129.232.228" ] }, { "vpn": "openvpn", "region": "US Silicon Valley", "server_name": "siliconvalley415", "hostname": "us-siliconvalley.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.255.79", "191.96.255.77", "191.96.255.59", "191.96.255.61", "191.96.255.62", "191.96.255.60", "191.96.255.57", "191.96.255.81", "191.96.255.54", "191.96.255.64", "191.96.255.56" ] }, { "vpn": "openvpn", "region": "US Silicon Valley", "server_name": "siliconvalley417", "hostname": "us-siliconvalley.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.255.185", "191.96.255.184", "191.96.255.179", "191.96.255.167", "191.96.255.170", "191.96.255.171", "191.96.255.178", "191.96.255.181", "191.96.255.152", "191.96.255.155" ] }, { "vpn": "openvpn", "region": "US South Carolina", "server_name": "southcarolina402", "hostname": "us-south-carolina-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.7.140", "84.239.7.149", "84.239.7.151", "84.239.7.139", "84.239.7.134", "84.239.7.159", "84.239.7.131", "84.239.7.146", "84.239.7.148", "84.239.7.144", "84.239.7.141" ] }, { "vpn": "openvpn", "region": "US South Dakota", "server_name": "southdakota402", "hostname": "us-south-dakota-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.50.16", "84.239.50.21", "84.239.50.20", "84.239.50.8", "84.239.50.9", "84.239.50.15" ] }, { "vpn": "openvpn", "region": "US Tennessee", "server_name": "Server-12402-0a", "hostname": "us-tennessee.pvt.site", "tcp": true, "udp": true, "ips": [ "84.239.10.80", "84.239.10.86", "84.239.10.90", "84.239.10.65", "84.239.10.45", "84.239.10.25" ] }, { "vpn": "openvpn", "region": "US Texas", "server_name": "dallas411", "hostname": "us-texas.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.234.91", "102.129.234.51", "102.129.234.77", "102.129.234.70", "102.129.234.66", "102.129.234.82", "102.129.234.92", "102.129.234.68", "102.129.234.58" ] }, { "vpn": "openvpn", "region": "US Texas", "server_name": "dallas414", "hostname": "us-texas.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.234.226", "102.129.234.235", "102.129.234.205", "102.129.234.204" ] }, { "vpn": "openvpn", "region": "US Texas", "server_name": "dallas415", "hostname": "us-texas.privacy.network", "tcp": true, "udp": true, "ips": [ "181.215.182.7", "181.215.182.32", "181.215.182.41", "181.215.182.23" ] }, { "vpn": "openvpn", "region": "US Texas", "server_name": "dallas416", "hostname": "us-texas.privacy.network", "tcp": true, "udp": true, "ips": [ "181.215.182.72", "181.215.182.64", "181.215.182.88", "181.215.182.58" ] }, { "vpn": "openvpn", "region": "US Texas", "server_name": "dallas417", "hostname": "us-texas.privacy.network", "tcp": true, "udp": true, "ips": [ "181.215.182.101", "181.215.182.118", "181.215.182.125", "181.215.182.99", "181.215.182.119", "181.215.182.142", "181.215.182.140", "181.215.182.126" ] }, { "vpn": "openvpn", "region": "US Texas", "server_name": "dallas444", "hostname": "us-texas.privacy.network", "tcp": true, "udp": true, "ips": [ "156.146.39.194", "156.146.39.207", "156.146.39.222", "156.146.39.191" ] }, { "vpn": "openvpn", "region": "US Vermont", "server_name": "vermont402", "hostname": "us-vermont-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.45.142", "84.239.45.146", "84.239.45.139", "84.239.45.135", "84.239.45.137", "84.239.45.143", "84.239.45.132", "84.239.45.145", "84.239.45.136", "84.239.45.144" ] }, { "vpn": "openvpn", "region": "US Virginia", "server_name": "virginia403", "hostname": "us-virginia-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.10.136", "84.239.10.130", "84.239.10.148", "84.239.10.143", "84.239.10.133", "84.239.10.146", "84.239.10.142", "84.239.10.138", "84.239.10.134", "84.239.10.131" ] }, { "vpn": "openvpn", "region": "US Washington DC", "server_name": "washington433", "hostname": "us-washingtondc.privacy.network", "tcp": true, "udp": true, "ips": [ "91.124.17.37", "91.124.17.50" ] }, { "vpn": "openvpn", "region": "US Washington DC", "server_name": "washington436", "hostname": "us-washingtondc.privacy.network", "tcp": true, "udp": true, "ips": [ "91.124.17.161", "91.124.17.137" ] }, { "vpn": "openvpn", "region": "US Washington DC", "server_name": "washington442", "hostname": "us-washingtondc.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.235.86", "102.129.235.84", "102.129.235.83" ] }, { "vpn": "openvpn", "region": "US Washington DC", "server_name": "washington445", "hostname": "us-washingtondc.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.235.168", "102.129.235.164", "102.129.235.169", "102.129.235.185", "102.129.235.181", "102.129.235.192" ] }, { "vpn": "openvpn", "region": "US Washington DC", "server_name": "washington452", "hostname": "us-washingtondc.privacy.network", "tcp": true, "udp": true, "ips": [ "79.127.132.174", "79.127.132.144", "79.127.132.131", "79.127.132.166", "79.127.132.137", "79.127.132.133" ] }, { "vpn": "openvpn", "region": "US Washington DC", "server_name": "washington472", "hostname": "us-washingtondc.privacy.network", "tcp": true, "udp": true, "ips": [ "37.19.220.48", "37.19.220.21", "37.19.220.15", "37.19.220.29", "37.19.220.24", "37.19.220.12" ] }, { "vpn": "openvpn", "region": "US Washington DC", "server_name": "washington473", "hostname": "us-washingtondc.privacy.network", "tcp": true, "udp": true, "ips": [ "37.19.220.99", "37.19.220.93", "37.19.220.79", "37.19.220.56", "37.19.220.62", "37.19.220.70", "37.19.220.87" ] }, { "vpn": "openvpn", "region": "US West", "server_name": "phoenix405", "hostname": "us3.privacy.network", "tcp": true, "udp": true, "ips": [ "173.244.56.72", "173.244.56.84", "173.244.56.93", "173.244.56.87", "173.244.56.89", "173.244.56.94", "173.244.56.75", "173.244.56.80", "173.244.56.78" ] }, { "vpn": "openvpn", "region": "US West", "server_name": "phoenix421", "hostname": "us3.privacy.network", "tcp": true, "udp": true, "ips": [ "173.244.56.101", "173.244.56.124", "173.244.56.125", "173.244.56.127", "173.244.56.98", "173.244.56.113", "173.244.56.122", "173.244.56.105" ] }, { "vpn": "openvpn", "region": "US West", "server_name": "phoenix422", "hostname": "us3.privacy.network", "tcp": true, "udp": true, "ips": [ "173.244.56.136", "173.244.56.148", "173.244.56.143", "173.244.56.154", "173.244.56.142", "173.244.56.159", "173.244.56.147", "173.244.56.149", "173.244.56.146", "173.244.56.144" ] }, { "vpn": "openvpn", "region": "US West", "server_name": "phoenix432", "hostname": "us3.privacy.network", "tcp": true, "udp": true, "ips": [ "173.244.56.225", "173.244.56.211" ] }, { "vpn": "openvpn", "region": "US West Streaming Optimized", "server_name": "losangeles438", "hostname": "us-streaming-2.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.106.248", "191.96.106.240", "191.96.106.230", "191.96.106.236", "191.96.106.227", "191.96.106.220", "191.96.106.246", "191.96.106.228", "191.96.106.232", "191.96.106.234", "191.96.106.238" ] }, { "vpn": "openvpn", "region": "US West Streaming Optimized", "server_name": "siliconvalley407", "hostname": "us-streaming-2.privacy.network", "tcp": true, "udp": true, "ips": [ "102.129.232.209", "102.129.232.199", "102.129.232.201", "102.129.232.202", "102.129.232.195", "102.129.232.203", "102.129.232.194", "102.129.232.191", "102.129.232.197" ] }, { "vpn": "openvpn", "region": "US West Streaming Optimized", "server_name": "siliconvalley414", "hostname": "us-streaming-2.privacy.network", "tcp": true, "udp": true, "ips": [ "191.96.255.46", "191.96.255.41", "191.96.255.17", "191.96.255.39", "191.96.255.4", "191.96.255.36", "191.96.255.20", "191.96.255.19", "191.96.255.38", "191.96.255.6" ] }, { "vpn": "openvpn", "region": "US West Virginia", "server_name": "westvirginia402", "hostname": "us-west-virginia-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.12.15", "84.239.12.7", "84.239.12.6", "84.239.12.12", "84.239.12.10", "84.239.12.4", "84.239.12.5", "84.239.12.2", "84.239.12.20" ] }, { "vpn": "openvpn", "region": "US West Virginia", "server_name": "westvirginia403", "hostname": "us-west-virginia-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.12.27", "84.239.12.41", "84.239.12.24", "84.239.12.23", "84.239.12.34", "84.239.12.38", "84.239.12.33", "84.239.12.31", "84.239.12.36" ] }, { "vpn": "openvpn", "region": "US Wilmington", "server_name": "wilmington401", "hostname": "us-wilmington.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.43.151", "84.239.43.157", "84.239.43.133", "84.239.43.134", "84.239.43.137", "84.239.43.143", "84.239.43.144", "84.239.43.141", "84.239.43.131", "84.239.43.145", "84.239.43.146" ] }, { "vpn": "openvpn", "region": "US Wilmington", "server_name": "wilmington402", "hostname": "us-wilmington.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.43.164", "84.239.43.184", "84.239.43.180", "84.239.43.175", "84.239.43.167", "84.239.43.172", "84.239.43.189", "84.239.43.162" ] }, { "vpn": "openvpn", "region": "US Wisconsin", "server_name": "wisconsin402", "hostname": "us-wisconsin-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.27.13", "84.239.27.4", "84.239.27.19", "84.239.27.7", "84.239.27.21", "84.239.27.9", "84.239.27.6", "84.239.27.18", "84.239.27.14" ] }, { "vpn": "openvpn", "region": "US Wisconsin", "server_name": "wisconsin403", "hostname": "us-wisconsin-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.27.35", "84.239.27.27", "84.239.27.42", "84.239.27.31", "84.239.27.39", "84.239.27.36", "84.239.27.26", "84.239.27.41", "84.239.27.37", "84.239.27.32" ] }, { "vpn": "openvpn", "region": "US Wyoming", "server_name": "wyoming402", "hostname": "us-wyoming-pf.privacy.network", "tcp": true, "udp": true, "ips": [ "84.239.50.135", "84.239.50.130", "84.239.50.142", "84.239.50.136", "84.239.50.132", "84.239.50.148", "84.239.50.146", "84.239.50.138" ] }, { "vpn": "openvpn", "region": "Ukraine", "server_name": "kiev407", "hostname": "ua.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.239.42.52", "84.239.42.56", "84.239.42.37", "84.239.42.60", "84.239.42.55", "84.239.42.40", "84.239.42.42", "84.239.42.39", "84.239.42.48", "84.239.42.58" ] }, { "vpn": "openvpn", "region": "Ukraine", "server_name": "kiev408", "hostname": "ua.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "84.239.42.12", "84.239.42.11", "84.239.42.14", "84.239.42.22", "84.239.42.18", "84.239.42.4", "84.239.42.3", "84.239.42.17", "84.239.42.8", "84.239.42.2" ] }, { "vpn": "openvpn", "region": "United Arab Emirates", "server_name": "dubai403", "hostname": "ae.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "217.138.193.152", "217.138.193.151", "217.138.193.156", "217.138.193.154", "217.138.193.157", "217.138.193.155", "217.138.193.148", "217.138.193.146", "217.138.193.149", "217.138.193.150" ] }, { "vpn": "openvpn", "region": "United Arab Emirates", "server_name": "dubai404", "hostname": "ae.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "217.138.193.173", "217.138.193.165", "217.138.193.163", "217.138.193.168", "217.138.193.172", "217.138.193.164", "217.138.193.169", "217.138.193.166" ] }, { "vpn": "openvpn", "region": "United Arab Emirates", "server_name": "dubai406", "hostname": "ae.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "217.138.162.5", "217.138.162.9", "217.138.162.7", "217.138.162.6", "217.138.162.8", "217.138.162.14", "217.138.162.13", "217.138.162.12" ] }, { "vpn": "openvpn", "region": "Uruguay", "server_name": "uruguay401", "hostname": "uy-uruguay-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "45.154.154.18", "45.154.154.26", "45.154.154.27", "45.154.154.30", "45.154.154.21", "45.154.154.4", "45.154.154.17", "45.154.154.16", "45.154.154.14", "45.154.154.29", "45.154.154.23" ] }, { "vpn": "openvpn", "region": "Uruguay", "server_name": "uruguay402", "hostname": "uy-uruguay-pf.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "45.154.154.37", "45.154.154.40", "45.154.154.58", "45.154.154.43", "45.154.154.36", "45.154.154.49", "45.154.154.35", "45.154.154.53" ] }, { "vpn": "openvpn", "region": "Venezuela", "server_name": "venezuela402", "hostname": "venezuela.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.237.59", "95.181.237.55", "95.181.237.58", "95.181.237.53", "95.181.237.64", "95.181.237.60", "95.181.237.56" ] }, { "vpn": "openvpn", "region": "Venezuela", "server_name": "venezuela403", "hostname": "venezuela.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.237.5", "95.181.237.11", "95.181.237.7", "95.181.237.3", "95.181.237.8", "95.181.237.10", "95.181.237.12" ] }, { "vpn": "openvpn", "region": "Venezuela", "server_name": "venezuela404", "hostname": "venezuela.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.237.20", "95.181.237.24", "95.181.237.18", "95.181.237.23", "95.181.237.25" ] }, { "vpn": "openvpn", "region": "Venezuela", "server_name": "venezuela406", "hostname": "venezuela.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "95.181.237.48", "95.181.237.41", "95.181.237.39", "95.181.237.45", "95.181.237.42", "95.181.237.40", "95.181.237.43", "95.181.237.46" ] }, { "vpn": "openvpn", "region": "Vietnam", "server_name": "vietnam403", "hostname": "vietnam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.247.145", "173.239.247.149", "173.239.247.142", "173.239.247.134", "173.239.247.148", "173.239.247.141", "173.239.247.144", "173.239.247.150", "173.239.247.132" ] }, { "vpn": "openvpn", "region": "Vietnam", "server_name": "vietnam404", "hostname": "vietnam.privacy.network", "tcp": true, "udp": true, "port_forward": true, "ips": [ "173.239.247.171", "173.239.247.174", "173.239.247.157", "173.239.247.156", "173.239.247.159", "173.239.247.168", "173.239.247.164", "173.239.247.165" ] } ] }, "privatevpn": { "version": 4, "timestamp": 1654006579, "servers": [ { "vpn": "openvpn", "country": "Argentina", "city": "BuenosAires", "hostname": "ar-bue.pvdata.host", "tcp": true, "udp": true, "ips": [ "181.119.160.59" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "hostname": "au-mel.pvdata.host", "tcp": true, "udp": true, "ips": [ "103.231.88.203" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney1", "hostname": "au-syd.pvdata.host", "tcp": true, "udp": true, "ips": [ "143.244.63.96" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Wien", "hostname": "at-wie.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.9.19.91" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "hostname": "be-bru.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.104.186.211" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "SaoPaulo", "hostname": "br-sao.pvdata.host", "tcp": true, "udp": true, "ips": [ "45.162.230.59" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "hostname": "bg-sof.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.94.192.163" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "hostname": "ca-mon.pvdata.host", "tcp": true, "udp": true, "ips": [ "37.120.237.163", "87.101.92.131" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "ca-van.pvdata.host", "tcp": true, "udp": true, "ips": [ "74.3.160.19" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "hostname": "cl-san.pvdata.host", "tcp": true, "udp": true, "ips": [ "216.241.14.227" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "ca-tor.pvdata.host", "tcp": true, "udp": true, "ips": [ "45.148.7.3", "45.148.7.6", "45.148.7.8" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogota", "hostname": "co-bog.pvdata.host", "tcp": true, "udp": true, "ips": [ "201.217.220.27" ] }, { "vpn": "openvpn", "country": "Costa Rica", "city": "SanJose", "hostname": "cr-san.pvdata.host", "tcp": true, "udp": true, "ips": [ "190.10.8.218" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "hostname": "hr-zag.pvdata.host", "tcp": true, "udp": true, "ips": [ "85.10.56.127" ] }, { "vpn": "openvpn", "country": "Cyprus", "city": "Nicosia", "hostname": "cy-nic.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.173.226.47" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "hostname": "cz-pra.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.156.174.179" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "hostname": "dk-cop.pvdata.host", "tcp": true, "udp": true, "ips": [ "62.115.255.188", "62.115.255.189" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris1", "hostname": "fr-par.pvdata.host", "tcp": true, "udp": true, "ips": [ "80.239.199.102", "80.239.199.103", "80.239.199.104", "80.239.199.105" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt1", "hostname": "de-fra.pvdata.host", "tcp": true, "udp": true, "ips": [ "193.180.119.130", "193.180.119.131" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Nuremberg", "hostname": "de-nur.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.89.36.3" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "hostname": "gr-ath.pvdata.host", "tcp": true, "udp": true, "ips": [ "154.57.3.33" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "HongKong", "hostname": "hk-hon.pvdata.host", "tcp": true, "udp": true, "ips": [ "84.17.37.58" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "hostname": "hu-bud.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.104.187.67" ] }, { "vpn": "openvpn", "country": "Iceland", "city": "Reykjavik", "hostname": "is-rey.pvdata.host", "tcp": true, "udp": true, "ips": [ "82.221.113.210" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta", "hostname": "id-jak.pvdata.host", "tcp": true, "udp": true, "ips": [ "23.248.170.136" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "ie-dub.pvdata.host", "tcp": true, "udp": true, "ips": [ "217.138.222.67" ] }, { "vpn": "openvpn", "country": "Isle of Man", "city": "Ballasalla", "hostname": "im-bal.pvdata.host", "tcp": true, "udp": true, "ips": [ "81.27.96.89" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "it-mil.pvdata.host", "tcp": true, "udp": true, "ips": [ "45.130.85.3", "45.130.85.6", "217.212.240.90", "217.212.240.91", "217.212.240.92", "217.212.240.93" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo1", "hostname": "jp-tok.pvdata.host", "tcp": true, "udp": true, "ips": [ "89.187.160.154", "89.187.161.142" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "hostname": "kr-seo.pvdata.host", "tcp": true, "udp": true, "ips": [ "92.223.73.37" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "hostname": "lv-rig.pvdata.host", "tcp": true, "udp": true, "ips": [ "217.199.103.164" ] }, { "vpn": "openvpn", "country": "Lithuania", "city": "Siauliai", "hostname": "lt-sia.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.64.104.48" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Steinsel", "hostname": "lu-ste.pvdata.host", "tcp": true, "udp": true, "ips": [ "94.242.250.71" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "KualaLumpur", "hostname": "my-kua.pvdata.host", "tcp": true, "udp": true, "ips": [ "128.1.160.184" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "MexicoCity", "hostname": "mx-mex.pvdata.host", "tcp": true, "udp": true, "ips": [ "190.60.16.28" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "hostname": "md-chi.pvdata.host", "tcp": true, "udp": true, "ips": [ "178.17.172.99" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam1", "hostname": "nl-ams.pvdata.host", "tcp": true, "udp": true, "ips": [ "193.180.119.194", "193.180.119.195", "193.180.119.196", "193.180.119.197" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "hostname": "nz-auc.pvdata.host", "tcp": true, "udp": true, "ips": [ "45.252.191.34" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "hostname": "no-osl.pvdata.host", "tcp": true, "udp": true, "ips": [ "91.205.186.26" ] }, { "vpn": "openvpn", "country": "Panama", "city": "PanamaCity", "hostname": "pa-pan.pvdata.host", "tcp": true, "udp": true, "ips": [ "200.110.155.235" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Lima", "hostname": "pe-lim.pvdata.host", "tcp": true, "udp": true, "ips": [ "170.0.81.107" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "hostname": "ph-man.pvdata.host", "tcp": true, "udp": true, "ips": [ "128.1.209.12" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Torun", "hostname": "pl-tor.pvdata.host", "tcp": true, "udp": true, "ips": [ "91.236.55.255", "185.72.199.130" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "hostname": "pt-lis.pvdata.host", "tcp": true, "udp": true, "ips": [ "130.185.85.107" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bukarest", "hostname": "ro-buk.pvdata.host", "tcp": true, "udp": true, "ips": [ "89.40.181.203" ] }, { "vpn": "openvpn", "country": "Russian Federation", "city": "Krasnoyarsk", "hostname": "ru-kra.pvdata.host", "tcp": true, "udp": true, "ips": [ "92.223.87.11" ] }, { "vpn": "openvpn", "country": "Russian Federation", "city": "Moscow", "hostname": "ru-mos.pvdata.host", "tcp": true, "udp": true, "ips": [ "92.223.103.138" ] }, { "vpn": "openvpn", "country": "Russian Federation", "city": "StPetersburg", "hostname": "ru-pet.pvdata.host", "tcp": true, "udp": true, "ips": [ "95.213.148.99" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "hostname": "rs-bel.pvdata.host", "tcp": true, "udp": true, "ips": [ "141.98.103.166" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "sg-sin.pvdata.host", "tcp": true, "udp": true, "ips": [ "143.244.33.81" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "hostname": "sk-bra.pvdata.host", "tcp": true, "udp": true, "ips": [ "46.29.2.168" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "hostname": "za-joh.pvdata.host", "tcp": true, "udp": true, "ips": [ "129.232.185.115", "129.232.209.235" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "hostname": "es-mad.pvdata.host", "tcp": true, "udp": true, "ips": [ "217.212.244.92", "217.212.244.93" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Gothenburg", "hostname": "se-got.pvdata.host", "tcp": true, "udp": true, "ips": [ "193.187.91.19", "193.187.91.21" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Kista", "hostname": "se-kis.pvdata.host", "tcp": true, "udp": true, "ips": [ "193.187.88.216", "193.187.88.217", "193.187.88.218", "193.187.88.219", "193.187.88.220", "193.187.88.221", "193.187.88.222" ] }, { "country": "Sweden", "city": "Stockholm", "tcp": true, "udp": true, "ips": [ "193.180.119.2" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "hostname": "se-sto.pvdata.host", "tcp": true, "udp": true, "ips": [ "45.130.87.3", "45.130.87.5", "45.130.87.7", "45.130.87.9", "45.130.87.12", "45.130.87.14", "45.130.87.16", "45.130.87.18" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich1", "hostname": "ch-zur.pvdata.host", "tcp": true, "udp": true, "ips": [ "217.212.245.92", "217.212.245.93" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "hostname": "tw-tai.pvdata.host", "tcp": true, "udp": true, "ips": [ "2.58.241.51" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "hostname": "th-ban.pvdata.host", "tcp": true, "udp": true, "ips": [ "103.27.203.234" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "hostname": "tr-ist.pvdata.host", "tcp": true, "udp": true, "ips": [ "92.38.180.28" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kiev", "hostname": "ua-kie.pvdata.host", "tcp": true, "udp": true, "ips": [ "192.121.68.131" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Nikolaev", "hostname": "ua-nik.pvdata.host", "tcp": true, "udp": true, "ips": [ "194.54.83.21" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "hostname": "ae-dub.pvdata.host", "tcp": true, "udp": true, "ips": [ "45.9.249.59" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London2", "hostname": "uk-lon2.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.41.242.67" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London7", "hostname": "uk-lon7.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.125.204.179" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "hostname": "uk-man.pvdata.host", "tcp": true, "udp": true, "ips": [ "185.206.227.181" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "hostname": "us-atl.pvdata.host", "tcp": true, "udp": true, "ips": [ "89.187.170.130", "138.199.2.53" ] }, { "vpn": "openvpn", "country": "United States", "city": "Buffalo", "hostname": "us-buf.pvdata.host", "tcp": true, "udp": true, "ips": [ "172.245.13.115", "192.210.199.35" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "us-dal.pvdata.host", "tcp": true, "udp": true, "ips": [ "89.187.164.97" ] }, { "vpn": "openvpn", "country": "United States", "city": "LasVegas", "hostname": "us-las.pvdata.host", "tcp": true, "udp": true, "ips": [ "82.102.30.19" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "us-mia.pvdata.host", "tcp": true, "udp": true, "ips": [ "195.181.163.139" ] }, { "vpn": "openvpn", "country": "United States", "city": "NewYork1", "hostname": "us-nyc.pvdata.host", "tcp": true, "udp": true, "ips": [ "45.130.86.3", "45.130.86.5", "45.130.86.8", "45.130.86.10", "45.130.86.12" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "hostname": "us-pho.pvdata.host", "tcp": true, "udp": true, "ips": [ "82.102.30.131" ] }, { "vpn": "openvpn", "country": "Vietnam", "city": "HoChiMinhCity", "hostname": "vn-hoc.pvdata.host", "tcp": true, "udp": true, "ips": [ "210.2.64.5" ] } ] }, "protonvpn": { "version": 4, "timestamp": 1763472933, "servers": [ { "vpn": "openvpn", "country": "Afghanistan", "city": "Kabul", "server_name": "AF#4", "hostname": "af-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.2" ] }, { "vpn": "wireguard", "country": "Afghanistan", "city": "Kabul", "server_name": "AF#4", "hostname": "af-03.protonvpn.net", "wgpubkey": "KsZNPiyO6CgRBY80XmwHv1BmpBwCSBYk7/H/tCyx2Hc=", "port_forward": true, "ips": [ "74.118.126.2" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "server_name": "AL#25", "hostname": "al-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.4" ] }, { "vpn": "wireguard", "country": "Albania", "city": "Tirana", "server_name": "AL#25", "hostname": "al-02.protonvpn.net", "wgpubkey": "D6VgBbcmr53evqwGGsdZNDneeg4tlag/KQ3+glPJ9js=", "stream": true, "port_forward": true, "ips": [ "79.135.105.4" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "server_name": "AL#34", "hostname": "al-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.4" ] }, { "vpn": "wireguard", "country": "Albania", "city": "Tirana", "server_name": "AL#34", "hostname": "al-03.protonvpn.net", "wgpubkey": "9Y0Rc5CiLBgonCrsCE8dCJqqC2tKhbqffOMdFYNYaSc=", "port_forward": true, "ips": [ "74.118.126.4" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "server_name": "AL#38", "hostname": "node-al-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "31.171.153.98" ] }, { "vpn": "wireguard", "country": "Albania", "city": "Tirana", "server_name": "AL#38", "hostname": "node-al-01.protonvpn.net", "wgpubkey": "BJB4IShqTaljRHgR7diKU0t4TAfvmFYUgJ+GfT1cfi4=", "stream": true, "port_forward": true, "ips": [ "31.171.153.98" ] }, { "vpn": "openvpn", "country": "Albania", "city": "Tirana", "server_name": "AL#49", "hostname": "node-al-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "31.171.155.194" ] }, { "vpn": "wireguard", "country": "Albania", "city": "Tirana", "server_name": "AL#49", "hostname": "node-al-02.protonvpn.net", "wgpubkey": "K8O2kWU3pk0VUT49mDzr8/vEta9oFuL7tMWXp4xYPF4=", "stream": true, "port_forward": true, "ips": [ "31.171.155.194" ] }, { "vpn": "openvpn", "country": "Algeria", "city": "Algiers", "server_name": "DZ#12", "hostname": "dz-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.137.1" ] }, { "vpn": "wireguard", "country": "Algeria", "city": "Algiers", "server_name": "DZ#12", "hostname": "dz-01.protonvpn.net", "wgpubkey": "JobdIlwHN75a1pPOqfUNu0a1eQXcwqaz5vyrq0qT6Ek=", "stream": true, "port_forward": true, "ips": [ "45.83.137.1" ] }, { "vpn": "openvpn", "country": "Algeria", "city": "Algiers", "server_name": "DZ#26", "hostname": "dz-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.44" ] }, { "vpn": "wireguard", "country": "Algeria", "city": "Algiers", "server_name": "DZ#26", "hostname": "dz-02.protonvpn.net", "wgpubkey": "hDiyYDFs6HjVR+kJhX3pnq0rkUf3bT2++rQxJicoaVE=", "stream": true, "port_forward": true, "ips": [ "79.135.105.44" ] }, { "vpn": "openvpn", "country": "Angola", "city": "Luanda", "server_name": "AO#5", "hostname": "ao-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.8" ] }, { "vpn": "wireguard", "country": "Angola", "city": "Luanda", "server_name": "AO#5", "hostname": "ao-03.protonvpn.net", "wgpubkey": "2cur1I3olT+/l3U40bxz6uLN9XneEtsJievpNtc+3Cc=", "port_forward": true, "ips": [ "74.118.126.8" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "server_name": "AR#26", "hostname": "node-ar-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.102.224.161" ] }, { "vpn": "wireguard", "country": "Argentina", "city": "Buenos Aires", "server_name": "AR#26", "hostname": "node-ar-04.protonvpn.net", "wgpubkey": "pPR96SBtq9grARK6XDm5WI3XP1d8Le19Jl/HA9p7o00=", "stream": true, "port_forward": true, "ips": [ "149.102.224.161" ] }, { "vpn": "openvpn", "country": "Argentina", "city": "Buenos Aires", "server_name": "CH-AR#2", "hostname": "node-ar-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.105" ] }, { "vpn": "wireguard", "country": "Argentina", "city": "Buenos Aires", "server_name": "CH-AR#2", "hostname": "node-ar-04.protonvpn.net", "wgpubkey": "pPR96SBtq9grARK6XDm5WI3XP1d8Le19Jl/HA9p7o00=", "secure_core": true, "ips": [ "62.169.136.105" ] }, { "vpn": "openvpn", "country": "Armenia", "city": "Yerevan", "server_name": "AM#12", "hostname": "node-am-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.249.72.2" ] }, { "vpn": "wireguard", "country": "Armenia", "city": "Yerevan", "server_name": "AM#12", "hostname": "node-am-01.protonvpn.net", "wgpubkey": "aWsgUhVmnckRZ4+uGMyvbia5DYhOSDGdzHwuwpBGaRs=", "stream": true, "port_forward": true, "ips": [ "89.249.72.2" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "server_name": "AU#109", "hostname": "node-au-17.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.214.20.210" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Adelaide", "server_name": "AU#109", "hostname": "node-au-17.protonvpn.net", "wgpubkey": "JvLQppw/l3O+HUdx551RfhJy5eTSv2wZCEIgfBbOADE=", "stream": true, "port_forward": true, "ips": [ "103.214.20.210" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "server_name": "AU#193", "hostname": "node-au-15.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.214.20.98" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Adelaide", "server_name": "AU#193", "hostname": "node-au-15.protonvpn.net", "wgpubkey": "cyTFQG65skA/WgLJyt+WCvj2Y2i0wB+snKe0gWGd+Xo=", "stream": true, "port_forward": true, "ips": [ "103.214.20.98" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "server_name": "AU#315", "hostname": "node-au-27.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.25.57.50" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Adelaide", "server_name": "AU#315", "hostname": "node-au-27.protonvpn.net", "wgpubkey": "0tgcqEhedj9Vkv7q4meskjUOe2HLDA5G5ezRBYqSb24=", "stream": true, "port_forward": true, "ips": [ "103.25.57.50" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Adelaide", "server_name": "AU#329", "hostname": "node-au-28.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.25.57.130" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Adelaide", "server_name": "AU#329", "hostname": "node-au-28.protonvpn.net", "wgpubkey": "mqcmtcMU9cvA4e4sTSmPnVROWPyNNksrpqTKftyFYkY=", "stream": true, "port_forward": true, "ips": [ "103.25.57.130" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "server_name": "AU#170", "hostname": "node-au-18.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "144.48.39.226" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Brisbane", "server_name": "AU#170", "hostname": "node-au-18.protonvpn.net", "wgpubkey": "2dFWLSyohbnz02CORBKdh/bPh2PUqpfJISaWIN5/fHI=", "stream": true, "port_forward": true, "ips": [ "144.48.39.226" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "server_name": "AU#215", "hostname": "node-au-19.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.216.220.98" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Brisbane", "server_name": "AU#215", "hostname": "node-au-19.protonvpn.net", "wgpubkey": "hPKSC01LiQsP+1pzPm98CFZXqkESBuwqdmMe+4ujeEs=", "stream": true, "port_forward": true, "ips": [ "103.216.220.98" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "server_name": "AU#340", "hostname": "node-au-29.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.216.220.178" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Brisbane", "server_name": "AU#340", "hostname": "node-au-29.protonvpn.net", "wgpubkey": "rX/BhEJ5/rBv6amC3UZjJb92Un6CA6Psd8S1jj3diwc=", "stream": true, "port_forward": true, "ips": [ "103.216.220.178" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Brisbane", "server_name": "AU#354", "hostname": "node-au-30.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.216.220.162" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Brisbane", "server_name": "AU#354", "hostname": "node-au-30.protonvpn.net", "wgpubkey": "EI/gCZrSqSGrvsIUTy3LRa3PBWjbiksZf/H4tvU6fRE=", "stream": true, "port_forward": true, "ips": [ "103.216.220.162" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "server_name": "AU#148", "hostname": "node-au-16.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.108.229.18" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Melbourne", "server_name": "AU#148", "hostname": "node-au-16.protonvpn.net", "wgpubkey": "22eXRgMiS/iVgGxxksbmlk1JDgFoV7RXPvGLuaCOPiY=", "stream": true, "port_forward": true, "ips": [ "103.108.229.18" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "server_name": "AU#293", "hostname": "node-au-25.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "144.48.38.178" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Melbourne", "server_name": "AU#293", "hostname": "node-au-25.protonvpn.net", "wgpubkey": "enwR3M+w4F/8bBPz85kf46hh/dVSmQfeoQnECaLo1lo=", "stream": true, "port_forward": true, "ips": [ "144.48.38.178" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Melbourne", "server_name": "AU#305", "hostname": "node-au-26.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "144.48.38.98" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Melbourne", "server_name": "AU#305", "hostname": "node-au-26.protonvpn.net", "wgpubkey": "FgeJr7RyQiEKpXVchUYzFsB7p6Ir8fJAA/LqATLjfgY=", "stream": true, "port_forward": true, "ips": [ "144.48.38.98" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "server_name": "AU#135", "hostname": "node-au-20.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.108.231.162" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Perth", "server_name": "AU#135", "hostname": "node-au-20.protonvpn.net", "wgpubkey": "Xmre1psA04kUzSUMuAq0QGQe3dqQBXOw8dzRCs6tYUs=", "stream": true, "port_forward": true, "ips": [ "103.108.231.162" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "server_name": "AU#231", "hostname": "node-au-13.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.108.231.18" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Perth", "server_name": "AU#231", "hostname": "node-au-13.protonvpn.net", "wgpubkey": "mfJQLevPV800jb6E+dqgIZ8fjMfej5h0bBp9n/xuZRg=", "stream": true, "port_forward": true, "ips": [ "103.108.231.18" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "server_name": "AU#268", "hostname": "node-au-23.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.108.231.242" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Perth", "server_name": "AU#268", "hostname": "node-au-23.protonvpn.net", "wgpubkey": "Ax1/ZU94QiEthOT99R65suPaczvKMvvEdISUA/CO0W4=", "stream": true, "port_forward": true, "ips": [ "103.108.231.242" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Perth", "server_name": "AU#287", "hostname": "node-au-24.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.108.231.226" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Perth", "server_name": "AU#287", "hostname": "node-au-24.protonvpn.net", "wgpubkey": "esnV9MghD7mavVF32bvKc4xrgOyZ5AmwPny7EJnL2WU=", "stream": true, "port_forward": true, "ips": [ "103.108.231.226" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "AU#20", "hostname": "node-au-12.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.33.225" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "AU#20", "hostname": "node-au-12.protonvpn.net", "wgpubkey": "KIm+13jfrrbXNPqYpd+WaWnCrgubWaSQnj8xn1Od8Fk=", "stream": true, "port_forward": true, "ips": [ "138.199.33.225" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "AU#201", "hostname": "node-au-14.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "180.149.229.130" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "AU#201", "hostname": "node-au-14.protonvpn.net", "wgpubkey": "Trt8stfmQTk/VTzR3jx3SSAIi0SSOSDOTtMln9bd4jY=", "stream": true, "port_forward": true, "ips": [ "180.149.229.130" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "AU#244", "hostname": "node-au-21.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "180.149.228.66" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "AU#244", "hostname": "node-au-21.protonvpn.net", "wgpubkey": "dpcwy7V6UxFxZ5BEYED5w30sqpz2Bak+7HchFbUNHUw=", "stream": true, "port_forward": true, "ips": [ "180.149.228.66" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "AU#258", "hostname": "node-au-22.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "180.149.228.82" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "AU#258", "hostname": "node-au-22.protonvpn.net", "wgpubkey": "VGIii/+0t4bJCoItCzNw64wAoGh7BF6Wi7loTtkcGEM=", "stream": true, "port_forward": true, "ips": [ "180.149.228.82" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "AU#6", "hostname": "node-au-11.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.33.236" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "AU#6", "hostname": "node-au-11.protonvpn.net", "wgpubkey": "8kyi2e0ziUqhs+ooJYYI0yaVhv/bneUC1fhV5X2q/SE=", "stream": true, "port_forward": true, "ips": [ "138.199.33.236" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-11.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.192" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-11.protonvpn.net", "wgpubkey": "8kyi2e0ziUqhs+ooJYYI0yaVhv/bneUC1fhV5X2q/SE=", "secure_core": true, "ips": [ "62.169.136.192" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-15.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.211" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-15.protonvpn.net", "wgpubkey": "cyTFQG65skA/WgLJyt+WCvj2Y2i0wB+snKe0gWGd+Xo=", "secure_core": true, "ips": [ "62.169.136.211" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-16.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.212" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-16.protonvpn.net", "wgpubkey": "22eXRgMiS/iVgGxxksbmlk1JDgFoV7RXPvGLuaCOPiY=", "secure_core": true, "ips": [ "62.169.136.212" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-17.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.252" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-17.protonvpn.net", "wgpubkey": "JvLQppw/l3O+HUdx551RfhJy5eTSv2wZCEIgfBbOADE=", "secure_core": true, "ips": [ "62.169.136.252" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-19.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.253" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "CH-AU#2", "hostname": "node-au-19.protonvpn.net", "wgpubkey": "hPKSC01LiQsP+1pzPm98CFZXqkESBuwqdmMe+4ujeEs=", "secure_core": true, "ips": [ "62.169.136.253" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-12.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.199" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-12.protonvpn.net", "wgpubkey": "KIm+13jfrrbXNPqYpd+WaWnCrgubWaSQnj8xn1Od8Fk=", "secure_core": true, "ips": [ "185.159.158.199" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-13.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.205" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-13.protonvpn.net", "wgpubkey": "mfJQLevPV800jb6E+dqgIZ8fjMfej5h0bBp9n/xuZRg=", "secure_core": true, "ips": [ "185.159.158.205" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-14.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.206" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-14.protonvpn.net", "wgpubkey": "Trt8stfmQTk/VTzR3jx3SSAIi0SSOSDOTtMln9bd4jY=", "secure_core": true, "ips": [ "185.159.158.206" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-18.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.207" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-18.protonvpn.net", "wgpubkey": "2dFWLSyohbnz02CORBKdh/bPh2PUqpfJISaWIN5/fHI=", "secure_core": true, "ips": [ "185.159.158.207" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-22.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.23" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-22.protonvpn.net", "wgpubkey": "VGIii/+0t4bJCoItCzNw64wAoGh7BF6Wi7loTtkcGEM=", "secure_core": true, "ips": [ "185.159.158.23" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-24.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.24" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-24.protonvpn.net", "wgpubkey": "esnV9MghD7mavVF32bvKc4xrgOyZ5AmwPny7EJnL2WU=", "secure_core": true, "ips": [ "185.159.158.24" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-26.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.25" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-26.protonvpn.net", "wgpubkey": "FgeJr7RyQiEKpXVchUYzFsB7p6Ir8fJAA/LqATLjfgY=", "secure_core": true, "ips": [ "185.159.158.25" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-28.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.26" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-28.protonvpn.net", "wgpubkey": "mqcmtcMU9cvA4e4sTSmPnVROWPyNNksrpqTKftyFYkY=", "secure_core": true, "ips": [ "185.159.158.26" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-30.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.27" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "IS-AU#1", "hostname": "node-au-30.protonvpn.net", "wgpubkey": "EI/gCZrSqSGrvsIUTy3LRa3PBWjbiksZf/H4tvU6fRE=", "secure_core": true, "ips": [ "185.159.158.27" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-21.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.180" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-21.protonvpn.net", "wgpubkey": "dpcwy7V6UxFxZ5BEYED5w30sqpz2Bak+7HchFbUNHUw=", "secure_core": true, "ips": [ "185.159.156.180" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-23.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.181" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-23.protonvpn.net", "wgpubkey": "Ax1/ZU94QiEthOT99R65suPaczvKMvvEdISUA/CO0W4=", "secure_core": true, "ips": [ "185.159.156.181" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-25.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.182" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-25.protonvpn.net", "wgpubkey": "enwR3M+w4F/8bBPz85kf46hh/dVSmQfeoQnECaLo1lo=", "secure_core": true, "ips": [ "185.159.156.182" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-27.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.183" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-27.protonvpn.net", "wgpubkey": "0tgcqEhedj9Vkv7q4meskjUOe2HLDA5G5ezRBYqSb24=", "secure_core": true, "ips": [ "185.159.156.183" ] }, { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-29.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.184" ] }, { "vpn": "wireguard", "country": "Australia", "city": "Sydney", "server_name": "SE-AU#1", "hostname": "node-au-29.protonvpn.net", "wgpubkey": "rX/BhEJ5/rBv6amC3UZjJb92Un6CA6Psd8S1jj3diwc=", "secure_core": true, "ips": [ "185.159.156.184" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "AT#105", "hostname": "node-at-08.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "154.47.19.213" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "AT#105", "hostname": "node-at-08.protonvpn.net", "wgpubkey": "P1QvY9fC6v7kb2jI4jQMhHpMKHgKrMR1u/XFVezJ4ys=", "stream": true, "port_forward": true, "ips": [ "154.47.19.213" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "AT#121", "hostname": "node-at-09.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "154.47.19.212" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "AT#121", "hostname": "node-at-09.protonvpn.net", "wgpubkey": "D2G0wjy9kRvxjXJfLCA9zglgcwMvZFMhLG+NASSzQ1k=", "stream": true, "port_forward": true, "ips": [ "154.47.19.212" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "AT#42", "hostname": "node-at-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "91.132.139.2" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "AT#42", "hostname": "node-at-07.protonvpn.net", "wgpubkey": "zJ9EtguoeooUHMQa9G4GSBjCV+x+mGsBTbqPHNrzrFo=", "stream": true, "port_forward": true, "ips": [ "91.132.139.2" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "AT#66", "hostname": "node-at-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "154.47.19.193" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "AT#66", "hostname": "node-at-05.protonvpn.net", "wgpubkey": "m42PUb14xPOnibFpJIt/NM+IJ/p2PkV5QJclCixwDEk=", "stream": true, "ips": [ "154.47.19.193" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "AT#81", "hostname": "node-at-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "87.249.133.97" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "AT#81", "hostname": "node-at-06.protonvpn.net", "wgpubkey": "yv5wDhSmTb0DeMLOp4g/xLeLcFDpz+wpcUvhaJtn83A=", "stream": true, "port_forward": true, "ips": [ "87.249.133.97" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "CH-AT#2", "hostname": "node-at-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.190" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "CH-AT#2", "hostname": "node-at-05.protonvpn.net", "wgpubkey": "m42PUb14xPOnibFpJIt/NM+IJ/p2PkV5QJclCixwDEk=", "secure_core": true, "ips": [ "62.169.136.190" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "CH-AT#2", "hostname": "node-at-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.191" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "CH-AT#2", "hostname": "node-at-06.protonvpn.net", "wgpubkey": "yv5wDhSmTb0DeMLOp4g/xLeLcFDpz+wpcUvhaJtn83A=", "secure_core": true, "ips": [ "62.169.136.191" ] }, { "vpn": "openvpn", "country": "Austria", "city": "Vienna", "server_name": "CH-AT#2", "hostname": "node-at-09.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.94" ] }, { "vpn": "wireguard", "country": "Austria", "city": "Vienna", "server_name": "CH-AT#2", "hostname": "node-at-09.protonvpn.net", "wgpubkey": "D2G0wjy9kRvxjXJfLCA9zglgcwMvZFMhLG+NASSzQ1k=", "secure_core": true, "ips": [ "62.169.136.94" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "city": "Baku", "server_name": "AZ#11", "hostname": "az-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.124.1" ] }, { "vpn": "wireguard", "country": "Azerbaijan", "city": "Baku", "server_name": "AZ#11", "hostname": "az-01.protonvpn.net", "wgpubkey": "DhNpGwLwzXGSwKXySOUXcmJStXGoGdlrfPZUtmC1jwY=", "stream": true, "port_forward": true, "ips": [ "45.83.124.1" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "city": "Baku", "server_name": "AZ#31", "hostname": "node-az-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.138.89.2" ] }, { "vpn": "wireguard", "country": "Azerbaijan", "city": "Baku", "server_name": "AZ#31", "hostname": "node-az-03.protonvpn.net", "wgpubkey": "s2ieKRoTNH788fh/xP2trzJv7GLCnccOc20FLgmpjhk=", "stream": true, "port_forward": true, "ips": [ "217.138.89.2" ] }, { "vpn": "openvpn", "country": "Bahrain", "city": "Manama", "server_name": "BH#5", "hostname": "bh-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.16" ] }, { "vpn": "wireguard", "country": "Bahrain", "city": "Manama", "server_name": "BH#5", "hostname": "bh-03.protonvpn.net", "wgpubkey": "S371nq1eLuU4C9dw+/QitYpHDDRodHdvYCbFEhggaGw=", "port_forward": true, "ips": [ "74.118.126.16" ] }, { "vpn": "openvpn", "country": "Bangladesh", "city": "Dhaka", "server_name": "BD#1", "hostname": "bd-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "36.50.238.1" ] }, { "vpn": "wireguard", "country": "Bangladesh", "city": "Dhaka", "server_name": "BD#1", "hostname": "bd-01.protonvpn.net", "wgpubkey": "c/eAClffFRwvFjz+If4N/FFnu7Q9orSG8c+ubQVvGTg=", "stream": true, "port_forward": true, "ips": [ "36.50.238.1" ] }, { "vpn": "openvpn", "country": "Belarus", "city": "Minsk", "server_name": "BY#28", "hostname": "by-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.24" ] }, { "vpn": "wireguard", "country": "Belarus", "city": "Minsk", "server_name": "BY#28", "hostname": "by-02.protonvpn.net", "wgpubkey": "RUHO1OX9FqSvvJ+Ec8q2a2p6wnuvoMKx3Z2Op94qaCI=", "stream": true, "port_forward": true, "ips": [ "79.135.105.24" ] }, { "vpn": "openvpn", "country": "Belarus", "city": "Minsk", "server_name": "BY#41", "hostname": "by-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.24" ] }, { "vpn": "wireguard", "country": "Belarus", "city": "Minsk", "server_name": "BY#41", "hostname": "by-03.protonvpn.net", "wgpubkey": "be0LexLxBNfYrJegitZ2DkyoxKUu0xJ6GHZn3ES/TS4=", "port_forward": true, "ips": [ "74.118.126.24" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "server_name": "BE#30", "hostname": "node-be-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "91.90.123.50" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "server_name": "BE#30", "hostname": "node-be-05.protonvpn.net", "wgpubkey": "ehajSjB9QTlhy30zbemS7ypGrQ+5Ej71jJ/+52JRkGI=", "stream": true, "port_forward": true, "ips": [ "91.90.123.50" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "server_name": "BE#61", "hostname": "node-be-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.128.133.226" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "server_name": "BE#61", "hostname": "node-be-02.protonvpn.net", "wgpubkey": "jiIKlk1tiyPgxJ4sP/xy4eCuibeeSlOhPmkNxFR/iA8=", "stream": true, "port_forward": true, "ips": [ "45.128.133.226" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "server_name": "BE#71", "hostname": "node-be-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.164.65" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "server_name": "BE#71", "hostname": "node-be-06.protonvpn.net", "wgpubkey": "J/ZzG0F1/adsnl//WNoHQVmUL+eJcYLFwdnHsYvbjC0=", "stream": true, "port_forward": true, "ips": [ "79.127.164.65" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "server_name": "CH-BE#2", "hostname": "node-be-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.227" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "server_name": "CH-BE#2", "hostname": "node-be-04.protonvpn.net", "wgpubkey": "s4t00o/80zIqjUYTSpavg5kQ1lYRV7DXL1/yTG67JQI=", "secure_core": true, "ips": [ "62.169.136.227" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "server_name": "IS-BE#1", "hostname": "node-be-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.138" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "server_name": "IS-BE#1", "hostname": "node-be-02.protonvpn.net", "wgpubkey": "jiIKlk1tiyPgxJ4sP/xy4eCuibeeSlOhPmkNxFR/iA8=", "secure_core": true, "ips": [ "185.159.158.138" ] }, { "vpn": "openvpn", "country": "Belgium", "city": "Brussels", "server_name": "IS-BE#1", "hostname": "node-be-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.217" ] }, { "vpn": "wireguard", "country": "Belgium", "city": "Brussels", "server_name": "IS-BE#1", "hostname": "node-be-05.protonvpn.net", "wgpubkey": "ehajSjB9QTlhy30zbemS7ypGrQ+5Ej71jJ/+52JRkGI=", "secure_core": true, "ips": [ "185.159.158.217" ] }, { "vpn": "openvpn", "country": "Bhutan", "city": "Thimphu", "server_name": "BT#1", "hostname": "bt-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "94.190.195.24" ] }, { "vpn": "wireguard", "country": "Bhutan", "city": "Thimphu", "server_name": "BT#1", "hostname": "bt-01.protonvpn.net", "wgpubkey": "KHa+cJqggU08qWZmWZccIN0mFg1HSMgcszltoiiFgXI=", "stream": true, "port_forward": true, "ips": [ "94.190.195.24" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "city": "Novi Travnik", "server_name": "BA#1", "hostname": "node-ba-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.212.111.98" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "city": "Novi Travnik", "server_name": "BA#1", "hostname": "node-ba-01.protonvpn.net", "wgpubkey": "cvRImu6X+AUhQ5Vl/m2zlqrDwHF5gtRSPY0COPuEJVY=", "stream": true, "port_forward": true, "ips": [ "185.212.111.98" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "city": "Novi Travnik", "server_name": "CH-BA#2", "hostname": "node-ba-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.7" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "city": "Novi Travnik", "server_name": "CH-BA#2", "hostname": "node-ba-01.protonvpn.net", "wgpubkey": "cvRImu6X+AUhQ5Vl/m2zlqrDwHF5gtRSPY0COPuEJVY=", "secure_core": true, "ips": [ "62.169.136.7" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "BR#109", "hostname": "node-br-07b.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.98.130" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "BR#109", "hostname": "node-br-07b.protonvpn.net", "wgpubkey": "ECpPKv2/sxck/VZIcVVk+0FZfZIe9PkXI1Lcpf9KODU=", "stream": true, "port_forward": true, "ips": [ "146.70.98.130" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "BR#12", "hostname": "node-br-03b.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "188.241.177.226" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "BR#12", "hostname": "node-br-03b.protonvpn.net", "wgpubkey": "PNVnFfj4CzrNmhx1E5yCKjXq8253OA1CJ4a5mFHGNFQ=", "stream": true, "port_forward": true, "ips": [ "188.241.177.226" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "BR#22", "hostname": "node-br-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.251.97" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "BR#22", "hostname": "node-br-04.protonvpn.net", "wgpubkey": "0FnhfTGup0LHPmBCsuDN4tVqlgOaItDwayQokhWapFQ=", "stream": true, "ips": [ "149.102.251.97" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "BR#47", "hostname": "node-br-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.98.162" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "BR#47", "hostname": "node-br-05.protonvpn.net", "wgpubkey": "C3LgiID8tKOhXsu4Tyu8NMz5/WOWZoeZAY41Bybp5gM=", "stream": true, "port_forward": true, "ips": [ "146.70.98.162" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "BR#98", "hostname": "node-br-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.98.98" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "BR#98", "hostname": "node-br-06.protonvpn.net", "wgpubkey": "uuIq8uVHFloPPDpl0dKcCiGmnSWARGpj6Wcy/XI+6z8=", "stream": true, "port_forward": true, "ips": [ "146.70.98.98" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "CH-BR#2", "hostname": "node-br-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.8" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "CH-BR#2", "hostname": "node-br-05.protonvpn.net", "wgpubkey": "C3LgiID8tKOhXsu4Tyu8NMz5/WOWZoeZAY41Bybp5gM=", "secure_core": true, "ips": [ "62.169.136.8" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "IS-BR#1", "hostname": "node-br-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.239" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "IS-BR#1", "hostname": "node-br-06.protonvpn.net", "wgpubkey": "uuIq8uVHFloPPDpl0dKcCiGmnSWARGpj6Wcy/XI+6z8=", "secure_core": true, "ips": [ "185.159.158.239" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "IS-BR#1", "hostname": "node-br-07b.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.238" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "IS-BR#1", "hostname": "node-br-07b.protonvpn.net", "wgpubkey": "ECpPKv2/sxck/VZIcVVk+0FZfZIe9PkXI1Lcpf9KODU=", "secure_core": true, "ips": [ "185.159.158.238" ] }, { "vpn": "openvpn", "country": "Brazil", "city": "São Paulo", "server_name": "SE-BR#1", "hostname": "node-br-03b.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.89" ] }, { "vpn": "wireguard", "country": "Brazil", "city": "São Paulo", "server_name": "SE-BR#1", "hostname": "node-br-03b.protonvpn.net", "wgpubkey": "PNVnFfj4CzrNmhx1E5yCKjXq8253OA1CJ4a5mFHGNFQ=", "secure_core": true, "ips": [ "185.159.156.89" ] }, { "vpn": "openvpn", "country": "Brunei Darussalam", "city": "Bandar Seri Begawan", "server_name": "BN#12", "hostname": "node-bn-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "109.111.197.130" ] }, { "vpn": "wireguard", "country": "Brunei Darussalam", "city": "Bandar Seri Begawan", "server_name": "BN#12", "hostname": "node-bn-01.protonvpn.net", "wgpubkey": "vRzJFYjGIoEJnEV8sJw618C1U/h6AoEdMTIbHsrIRFA=", "stream": true, "port_forward": true, "ips": [ "109.111.197.130" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "server_name": "BG#13", "hostname": "node-bg-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "156.146.55.225" ] }, { "vpn": "wireguard", "country": "Bulgaria", "city": "Sofia", "server_name": "BG#13", "hostname": "node-bg-02.protonvpn.net", "wgpubkey": "uGWCYbDAzsaE7Ly2ZOX/9E5isl7Q0kXQX6TYFdAwtz0=", "stream": true, "port_forward": true, "ips": [ "156.146.55.225" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "server_name": "BG#26", "hostname": "node-bg-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.245.130" ] }, { "vpn": "wireguard", "country": "Bulgaria", "city": "Sofia", "server_name": "BG#26", "hostname": "node-bg-03.protonvpn.net", "wgpubkey": "/LLFauwzrnrUWF8omsE9pFN+Zx6HzZsrni5N190NY2k=", "stream": true, "port_forward": true, "ips": [ "146.70.245.130" ] }, { "vpn": "openvpn", "country": "Bulgaria", "city": "Sofia", "server_name": "SE-BG#1", "hostname": "node-bg-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.95" ] }, { "vpn": "wireguard", "country": "Bulgaria", "city": "Sofia", "server_name": "SE-BG#1", "hostname": "node-bg-02.protonvpn.net", "wgpubkey": "uGWCYbDAzsaE7Ly2ZOX/9E5isl7Q0kXQX6TYFdAwtz0=", "secure_core": true, "ips": [ "185.159.156.95" ] }, { "vpn": "openvpn", "country": "Cambodia", "city": "Phnom Penh", "server_name": "KH#1", "hostname": "node-kh-01.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.215.235.82" ] }, { "vpn": "wireguard", "country": "Cambodia", "city": "Phnom Penh", "server_name": "KH#1", "hostname": "node-kh-01.protonvpn.net", "wgpubkey": "D4M0O60wCBf1nYWOmXRfK7IpgG7VBBwQLeWVFLIqFG4=", "port_forward": true, "ips": [ "188.215.235.82" ] }, { "vpn": "openvpn", "country": "Cambodia", "city": "Phnom Penh", "server_name": "SE-KH#1", "hostname": "node-kh-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.83" ] }, { "vpn": "wireguard", "country": "Cambodia", "city": "Phnom Penh", "server_name": "SE-KH#1", "hostname": "node-kh-01.protonvpn.net", "wgpubkey": "D4M0O60wCBf1nYWOmXRfK7IpgG7VBBwQLeWVFLIqFG4=", "secure_core": true, "ips": [ "185.159.156.83" ] }, { "vpn": "openvpn", "country": "Cameroon", "city": "Yaoundé", "server_name": "CM#1", "hostname": "cm-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.40" ] }, { "vpn": "wireguard", "country": "Cameroon", "city": "Yaoundé", "server_name": "CM#1", "hostname": "cm-02.protonvpn.net", "wgpubkey": "p9n5CpHZNMOn+zwcdtA4311UDqWbey+9CM+N5XGzQWk=", "stream": true, "port_forward": true, "ips": [ "79.135.105.40" ] }, { "vpn": "openvpn", "country": "Cameroon", "city": "Yaoundé", "server_name": "CM#5", "hostname": "cm-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "74.118.126.36" ] }, { "vpn": "wireguard", "country": "Cameroon", "city": "Yaoundé", "server_name": "CM#5", "hostname": "cm-03.protonvpn.net", "wgpubkey": "7oHM+/BoI5d+qbRvPEsdqQH93R0Yd2Hq9DrhP/fl1Sk=", "stream": true, "port_forward": true, "ips": [ "74.118.126.36" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "server_name": "CA#1214", "hostname": "node-ca-59.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.20.16.29" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "server_name": "CA#1214", "hostname": "node-ca-59.protonvpn.net", "wgpubkey": "uUM9J8bziO0yZfsdYoruEfP3m6YuSu+Mek9W/J8mT1Y=", "stream": true, "port_forward": true, "ips": [ "84.20.16.29" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "server_name": "CA#1241", "hostname": "node-ca-60.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.20.16.1" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "server_name": "CA#1241", "hostname": "node-ca-60.protonvpn.net", "wgpubkey": "TiJHg8s/NAuWWqLWFEPWu1ARGMmeH4v2qmtUH4zZmC4=", "stream": true, "port_forward": true, "ips": [ "84.20.16.1" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "server_name": "CA#133", "hostname": "node-ca-20.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "172.98.82.146" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "server_name": "CA#133", "hostname": "node-ca-20.protonvpn.net", "wgpubkey": "2BEMYqJguSc+NP7pSMo65SGQtbg3ExtZgYGaZ6VHiD8=", "stream": true, "ips": [ "172.98.82.146" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "server_name": "CA#162", "hostname": "node-ca-24.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "176.113.74.82" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "server_name": "CA#162", "hostname": "node-ca-24.protonvpn.net", "wgpubkey": "nLx6LJgXWOtnlKV65ruYMGjiw4DERImZGCpN3lolm1I=", "stream": true, "port_forward": true, "ips": [ "176.113.74.82" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "server_name": "CA#181", "hostname": "node-ca-27.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "139.28.218.2" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "server_name": "CA#181", "hostname": "node-ca-27.protonvpn.net", "wgpubkey": "szjIaWj1+sWfmmap7eqtkgHDPl/y8HLHt+eeNbl/0w0=", "stream": true, "port_forward": true, "ips": [ "139.28.218.2" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "server_name": "IS-CA#1", "hostname": "node-ca-17.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.219" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "server_name": "IS-CA#1", "hostname": "node-ca-17.protonvpn.net", "wgpubkey": "28hrybwV/NiiMXvl1ynBvDvEvs1m8ABUzyvkQ7+ST3I=", "secure_core": true, "ips": [ "185.159.158.219" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Montreal", "server_name": "IS-CA#1", "hostname": "node-ca-19.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.218" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Montreal", "server_name": "IS-CA#1", "hostname": "node-ca-19.protonvpn.net", "wgpubkey": "aQ2NoOYEObG9tDMwdc4VxK6hjW+eA0PLfgbH7ffmagU=", "secure_core": true, "ips": [ "185.159.158.218" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA#1018", "hostname": "node-ca-50.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.111.110.66" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA#1018", "hostname": "node-ca-50.protonvpn.net", "wgpubkey": "NJKQmI+NSB3VDHfpdYWZzEWrlXXIAPfyhZb/t8A/WhY=", "stream": true, "port_forward": true, "ips": [ "185.111.110.66" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA#1041", "hostname": "node-ca-51.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.111.110.68" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA#1041", "hostname": "node-ca-51.protonvpn.net", "wgpubkey": "l8W8/QNEUCMrX6k4J/BlQRTzAlFb4XOk+rbMM8SkGjY=", "stream": true, "port_forward": true, "ips": [ "185.111.110.68" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA#589", "hostname": "node-ca-37.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "104.254.95.98" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA#589", "hostname": "node-ca-37.protonvpn.net", "wgpubkey": "SFesR+3u5/vyQGeaCSREjs4m2WznwFlWAQ9CE3QSnRg=", "stream": true, "port_forward": true, "ips": [ "104.254.95.98" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA#637", "hostname": "node-ca-40.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "154.47.17.129" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA#637", "hostname": "node-ca-40.protonvpn.net", "wgpubkey": "47Y5endlEtxoo7Y2e33GVTpj/fAzrXtIK6ta+hSt5gg=", "stream": true, "ips": [ "154.47.17.129" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA#862", "hostname": "node-ca-43.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.111.110.1" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA#862", "hostname": "node-ca-43.protonvpn.net", "wgpubkey": "QPfiwJQmt5VLEOh1ufLbi1lj6LUnwQY0tgDSh3pWx1k=", "stream": true, "port_forward": true, "ips": [ "185.111.110.1" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA#881", "hostname": "node-ca-44.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.111.110.2" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA#881", "hostname": "node-ca-44.protonvpn.net", "wgpubkey": "FOE5x/2kGMZLC1snxv2ff4qOTYk/07WKmjARnVAyzE4=", "stream": true, "port_forward": true, "ips": [ "185.111.110.2" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA#981", "hostname": "node-ca-49.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.111.110.65" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA#981", "hostname": "node-ca-49.protonvpn.net", "wgpubkey": "Po3buTvzyDm7k9Fj5m3lbK4AS0vaO08kK/WrmRLyt3o=", "stream": true, "port_forward": true, "ips": [ "185.111.110.65" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA-FREE#5", "hostname": "node-ca-25.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.88.97.122" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA-FREE#5", "hostname": "node-ca-25.protonvpn.net", "wgpubkey": "mS8GfqvUvazXvSYg7VHV7s8eEyU0yyGjJwYgdjHq23A=", "free": true, "ips": [ "149.88.97.122" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA-FREE#6", "hostname": "node-ca-26.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.88.97.110" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA-FREE#6", "hostname": "node-ca-26.protonvpn.net", "wgpubkey": "9mTDh5Tku0gxDdzqxnpnzItHQBm2h2B2hXnUHvhGCFw=", "free": true, "ips": [ "149.88.97.110" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CA-FREE#9", "hostname": "node-ca-31.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.22.82.1" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CA-FREE#9", "hostname": "node-ca-31.protonvpn.net", "wgpubkey": "7nj3Zh17Dzx+1SKIPE+dPfFmDbTTOggDK6SfK6tlEgE=", "free": true, "ips": [ "149.22.82.1" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-16.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.231" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-16.protonvpn.net", "wgpubkey": "b5Wy36VwywSceq7wfLAe/QxcQ/UQC11txwkGes/CEWc=", "secure_core": true, "ips": [ "62.169.136.231" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-18.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.230" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-18.protonvpn.net", "wgpubkey": "RWj/yInIFoGovnNO3wKBcMrdPmDjckc0TVNgOSSZsgs=", "secure_core": true, "ips": [ "62.169.136.230" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-20.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.89" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-20.protonvpn.net", "wgpubkey": "2BEMYqJguSc+NP7pSMo65SGQtbg3ExtZgYGaZ6VHiD8=", "secure_core": true, "ips": [ "62.169.136.89" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-21.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.90" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-21.protonvpn.net", "wgpubkey": "ZBptfdRNxso1dS36d076Rmv7DDAaTs5qdVZE6vbzYwg=", "secure_core": true, "ips": [ "62.169.136.90" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-22.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.88" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-22.protonvpn.net", "wgpubkey": "nCSpFYxP/UfbfceoXRdWrdm8JLTsfM6oBFbqnvv7Dhw=", "secure_core": true, "ips": [ "62.169.136.88" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-24.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.42" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-24.protonvpn.net", "wgpubkey": "nLx6LJgXWOtnlKV65ruYMGjiw4DERImZGCpN3lolm1I=", "secure_core": true, "ips": [ "79.135.104.42" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-27.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.58" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-27.protonvpn.net", "wgpubkey": "szjIaWj1+sWfmmap7eqtkgHDPl/y8HLHt+eeNbl/0w0=", "secure_core": true, "ips": [ "79.135.104.58" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-28.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.59" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-28.protonvpn.net", "wgpubkey": "UR8vjVYrrWYadCwLKiAabKTIdxM4yikmCXnvKWm89D8=", "secure_core": true, "ips": [ "79.135.104.59" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-39.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.112" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Toronto", "server_name": "CH-CA#2", "hostname": "node-ca-39.protonvpn.net", "wgpubkey": "xLFgU430Tt7PdHJydVbIKvtjXJodoPpGKW7fhF7XE2k=", "secure_core": true, "ips": [ "79.135.104.112" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "CA#1110", "hostname": "node-ca-55.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.98.38" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "CA#1110", "hostname": "node-ca-55.protonvpn.net", "wgpubkey": "fTlhydtUZhCPDErPfp6gL4ytuE0SS6L5oM+pKn4mrgI=", "stream": true, "port_forward": true, "ips": [ "89.222.98.38" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "CA#1141", "hostname": "node-ca-57.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.98.40" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "CA#1141", "hostname": "node-ca-57.protonvpn.net", "wgpubkey": "KMsTNyOCInIzQ7cAFYUMyDDPhQXsTEb2T9o8gw1Hbww=", "stream": true, "port_forward": true, "ips": [ "89.222.98.40" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "CA#662", "hostname": "node-ca-14.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.254.119" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "CA#662", "hostname": "node-ca-14.protonvpn.net", "wgpubkey": "x20z9V3TUQIPRw1pVeay/Nfbj1a04AeHbZHIp44kc3o=", "stream": true, "port_forward": true, "ips": [ "79.127.254.119" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "CA#933", "hostname": "node-ca-46.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.98.34" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "CA#933", "hostname": "node-ca-46.protonvpn.net", "wgpubkey": "de2MAJqhx1S9kJU5Y/1bUMxjHRbneeO8W6uTAcoW+TQ=", "stream": true, "port_forward": true, "ips": [ "89.222.98.34" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "CA-FREE#12", "hostname": "node-ca-34.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "79.127.254.92" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "CA-FREE#12", "hostname": "node-ca-34.protonvpn.net", "wgpubkey": "WajeJDezN7JFBe//v/VMsASFyBUk01Hlyvjb0T+dTjE=", "free": true, "ips": [ "79.127.254.92" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "SE-CA#1", "hostname": "node-ca-14.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.179" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "SE-CA#1", "hostname": "node-ca-14.protonvpn.net", "wgpubkey": "x20z9V3TUQIPRw1pVeay/Nfbj1a04AeHbZHIp44kc3o=", "secure_core": true, "ips": [ "185.159.156.179" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "SE-CA#1", "hostname": "node-ca-37.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.142" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "SE-CA#1", "hostname": "node-ca-37.protonvpn.net", "wgpubkey": "SFesR+3u5/vyQGeaCSREjs4m2WznwFlWAQ9CE3QSnRg=", "secure_core": true, "ips": [ "185.159.156.142" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "server_name": "SE-CA#1", "hostname": "node-ca-40.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.149" ] }, { "vpn": "wireguard", "country": "Canada", "city": "Vancouver", "server_name": "SE-CA#1", "hostname": "node-ca-40.protonvpn.net", "wgpubkey": "47Y5endlEtxoo7Y2e33GVTpj/fAzrXtIK6ta+hSt5gg=", "secure_core": true, "ips": [ "185.159.156.149" ] }, { "vpn": "openvpn", "country": "Chad", "city": "N'Djamena", "server_name": "TD#11", "hostname": "td-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.138.1" ] }, { "vpn": "wireguard", "country": "Chad", "city": "N'Djamena", "server_name": "TD#11", "hostname": "td-01.protonvpn.net", "wgpubkey": "cdZA8MjkEP4Zu9G8xplU+eIsJwatx1TQcVlmI016sBk=", "stream": true, "port_forward": true, "ips": [ "45.83.138.1" ] }, { "vpn": "openvpn", "country": "Chad", "city": "N'Djamena", "server_name": "TD#30", "hostname": "td-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.216" ] }, { "vpn": "wireguard", "country": "Chad", "city": "N'Djamena", "server_name": "TD#30", "hostname": "td-03.protonvpn.net", "wgpubkey": "jCjG0lpFuJM+Yi9GmgCcgXUMn3r6wT4DUz8O18L33Gs=", "port_forward": true, "ips": [ "74.118.126.216" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "server_name": "CL#25", "hostname": "node-cl-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.50.106" ] }, { "vpn": "wireguard", "country": "Chile", "city": "Santiago", "server_name": "CL#25", "hostname": "node-cl-04.protonvpn.net", "wgpubkey": "F7z+SRMw1d3o1lQbWObWN7GBbHeUZNCC+PCpPy+SOQ8=", "stream": true, "port_forward": true, "ips": [ "138.199.50.106" ] }, { "vpn": "openvpn", "country": "Chile", "city": "Santiago", "server_name": "IS-CL#1", "hostname": "node-cl-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.208" ] }, { "vpn": "wireguard", "country": "Chile", "city": "Santiago", "server_name": "IS-CL#1", "hostname": "node-cl-04.protonvpn.net", "wgpubkey": "F7z+SRMw1d3o1lQbWObWN7GBbHeUZNCC+PCpPy+SOQ8=", "secure_core": true, "ips": [ "185.159.158.208" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogotá", "server_name": "CH-CO#2", "hostname": "node-co-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.149" ] }, { "vpn": "wireguard", "country": "Colombia", "city": "Bogotá", "server_name": "CH-CO#2", "hostname": "node-co-03.protonvpn.net", "wgpubkey": "Qm1zsNxnGphhEJHJzhjd4oVHrHLgDZop+6+audZiKVI=", "secure_core": true, "ips": [ "62.169.136.149" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogotá", "server_name": "CO#19", "hostname": "node-co-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "154.47.16.81" ] }, { "vpn": "wireguard", "country": "Colombia", "city": "Bogotá", "server_name": "CO#19", "hostname": "node-co-03.protonvpn.net", "wgpubkey": "Qm1zsNxnGphhEJHJzhjd4oVHrHLgDZop+6+audZiKVI=", "stream": true, "ips": [ "154.47.16.81" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogotá", "server_name": "CO#25", "hostname": "co-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.136.35" ] }, { "vpn": "wireguard", "country": "Colombia", "city": "Bogotá", "server_name": "CO#25", "hostname": "co-01.protonvpn.net", "wgpubkey": "8d4nU7Z/xzX9cK3wM77mf3Ge+DbQA2tnLaQzhk3+dFI=", "stream": true, "port_forward": true, "ips": [ "146.70.136.35" ] }, { "vpn": "openvpn", "country": "Colombia", "city": "Bogotá", "server_name": "CO#39", "hostname": "node-co-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.219.169.99" ] }, { "vpn": "wireguard", "country": "Colombia", "city": "Bogotá", "server_name": "CO#39", "hostname": "node-co-04.protonvpn.net", "wgpubkey": "tRxSbAjlLK6Xow6OpmJlGjREj2Autoy+m0z/v915yW8=", "stream": true, "port_forward": true, "ips": [ "103.219.169.99" ] }, { "vpn": "openvpn", "country": "Comoros", "city": "Moroni", "server_name": "KM#29", "hostname": "km-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.112" ] }, { "vpn": "wireguard", "country": "Comoros", "city": "Moroni", "server_name": "KM#29", "hostname": "km-03.protonvpn.net", "wgpubkey": "jBUzNl6tXznV1msEWAyegBJkAAShDJ7gV6eV6vJ5Jz0=", "port_forward": true, "ips": [ "74.118.126.112" ] }, { "vpn": "openvpn", "country": "Costa Rica", "city": "San José", "server_name": "CR#32", "hostname": "node-cr-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.50.104" ] }, { "vpn": "wireguard", "country": "Costa Rica", "city": "San José", "server_name": "CR#32", "hostname": "node-cr-02.protonvpn.net", "wgpubkey": "kqT/fYDDcxeDHNn1sZQA8XVXZI98+9IjeDQ5gEPtMyg=", "stream": true, "port_forward": true, "ips": [ "138.199.50.104" ] }, { "vpn": "openvpn", "country": "Cote d'Ivoire", "city": "Yamoussoukro", "server_name": "CI#1", "hostname": "ci-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "74.118.126.32" ] }, { "vpn": "wireguard", "country": "Cote d'Ivoire", "city": "Yamoussoukro", "server_name": "CI#1", "hostname": "ci-01.protonvpn.net", "wgpubkey": "QFCFPyvsTqvMtl9HhvjmK+2YuXAue4o9qvNYpI3V40s=", "stream": true, "port_forward": true, "ips": [ "74.118.126.32" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "server_name": "CH-HR#2", "hostname": "node-hr-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.35" ] }, { "vpn": "wireguard", "country": "Croatia", "city": "Zagreb", "server_name": "CH-HR#2", "hostname": "node-hr-01.protonvpn.net", "wgpubkey": "arg6ngFb3Q1rfe7tsfWsRhv4Tg0EWwYFYBxMjDuCOW8=", "secure_core": true, "ips": [ "62.169.136.35" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "server_name": "HR#12", "hostname": "node-hr-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.139.48.242" ] }, { "vpn": "wireguard", "country": "Croatia", "city": "Zagreb", "server_name": "HR#12", "hostname": "node-hr-02.protonvpn.net", "wgpubkey": "4NPDmW5UOOvg2E23GoiItImBHW3LmtPBIVfgeoEC0SI=", "stream": true, "port_forward": true, "ips": [ "45.139.48.242" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "server_name": "HR#23", "hostname": "node-hr-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.144.130" ] }, { "vpn": "wireguard", "country": "Croatia", "city": "Zagreb", "server_name": "HR#23", "hostname": "node-hr-03.protonvpn.net", "wgpubkey": "APelgiFZBkgKjoTRkuM9h+68pOfvuNYyb5LF9xO/7ls=", "stream": true, "port_forward": true, "ips": [ "79.127.144.130" ] }, { "vpn": "openvpn", "country": "Croatia", "city": "Zagreb", "server_name": "HR#3", "hostname": "node-hr-01.protonvpn.net", "tcp": true, "udp": true, "ips": [ "178.218.167.210" ] }, { "vpn": "wireguard", "country": "Croatia", "city": "Zagreb", "server_name": "HR#3", "hostname": "node-hr-01.protonvpn.net", "wgpubkey": "arg6ngFb3Q1rfe7tsfWsRhv4Tg0EWwYFYBxMjDuCOW8=", "ips": [ "178.218.167.210" ] }, { "vpn": "openvpn", "country": "Cuba", "city": "Havana", "server_name": "CU#1", "hostname": "node-cu-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.238.155.2" ] }, { "vpn": "wireguard", "country": "Cuba", "city": "Havana", "server_name": "CU#1", "hostname": "node-cu-01.protonvpn.net", "wgpubkey": "Ob/j/byA+1/Y2Sg9YYM0/MjLquJ/HVHb1pv8eYs2axI=", "stream": true, "port_forward": true, "ips": [ "89.238.155.2" ] }, { "vpn": "openvpn", "country": "Cyprus", "city": "Limassol", "server_name": "CH-CY#2", "hostname": "node-cy-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.165" ] }, { "vpn": "wireguard", "country": "Cyprus", "city": "Limassol", "server_name": "CH-CY#2", "hostname": "node-cy-01.protonvpn.net", "wgpubkey": "e3RzM0pr0CkENa045wi0oBMzL3D6kfHbGW5rHWSOtig=", "secure_core": true, "ips": [ "62.169.136.165" ] }, { "vpn": "openvpn", "country": "Cyprus", "city": "Limassol", "server_name": "CY#1", "hostname": "node-cy-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "85.132.252.34" ] }, { "vpn": "wireguard", "country": "Cyprus", "city": "Limassol", "server_name": "CY#1", "hostname": "node-cy-01.protonvpn.net", "wgpubkey": "e3RzM0pr0CkENa045wi0oBMzL3D6kfHbGW5rHWSOtig=", "stream": true, "port_forward": true, "ips": [ "85.132.252.34" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "server_name": "CH-CZ#2", "hostname": "node-cz-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.217" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "server_name": "CH-CZ#2", "hostname": "node-cz-04.protonvpn.net", "wgpubkey": "oNctPLp48sX2jk6U9hoER6QT4aGp6TEAUydA6VuA8h8=", "secure_core": true, "ips": [ "62.169.136.217" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#113", "hostname": "node-cz-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "62.93.165.209" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#113", "hostname": "node-cz-07.protonvpn.net", "wgpubkey": "yZ57EDYj6D+CEfNVEDptLwgFxpuNsazT3j2jhrJpj1s=", "stream": true, "port_forward": true, "ips": [ "62.93.165.209" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#38", "hostname": "node-cz-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.129.18" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#38", "hostname": "node-cz-05.protonvpn.net", "wgpubkey": "sDVKmYDevvGvpKNei9f2SDbx5FMFi6FqBmuRYG/EFg8=", "stream": true, "port_forward": true, "ips": [ "146.70.129.18" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#45", "hostname": "node-cz-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.235.33" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#45", "hostname": "node-cz-04.protonvpn.net", "wgpubkey": "oNctPLp48sX2jk6U9hoER6QT4aGp6TEAUydA6VuA8h8=", "stream": true, "ips": [ "149.102.235.33" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#65", "hostname": "node-cz-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.154.1" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "server_name": "CZ#65", "hostname": "node-cz-06.protonvpn.net", "wgpubkey": "GtUSbKTkClOZx5jI6lj2dQlxQP2MjfNcS8K3NM8bUE8=", "stream": true, "port_forward": true, "ips": [ "79.127.154.1" ] }, { "vpn": "openvpn", "country": "Czech Republic", "city": "Prague", "server_name": "IS-CZ#1", "hostname": "node-cz-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.225" ] }, { "vpn": "wireguard", "country": "Czech Republic", "city": "Prague", "server_name": "IS-CZ#1", "hostname": "node-cz-05.protonvpn.net", "wgpubkey": "sDVKmYDevvGvpKNei9f2SDbx5FMFi6FqBmuRYG/EFg8=", "secure_core": true, "ips": [ "185.159.158.225" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "CH-DK#2", "hostname": "node-dk-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.37" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "CH-DK#2", "hostname": "node-dk-03.protonvpn.net", "wgpubkey": "vOwLnR7lMrKeONP0Idl2S5vUonggF8KpKQ66jx+QJnc=", "secure_core": true, "ips": [ "62.169.136.37" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "CH-DK#2", "hostname": "node-dk-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.239" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "CH-DK#2", "hostname": "node-dk-05.protonvpn.net", "wgpubkey": "sbjnjFtxUz4dxYfNL7WOVf1StMjjAhkiPLCPtVtlhRI=", "secure_core": true, "ips": [ "62.169.136.239" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "CH-DK#2", "hostname": "node-dk-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.238" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "CH-DK#2", "hostname": "node-dk-06.protonvpn.net", "wgpubkey": "d3VXpY1SJGxlx8Cq3trvJBkZvilHF6BdSynqphx+iw8=", "secure_core": true, "ips": [ "62.169.136.238" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#102", "hostname": "node-dk-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.50.217.161" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#102", "hostname": "node-dk-07.protonvpn.net", "wgpubkey": "9WowgFUh2itRfPh2SoaJsJHvxzXBZuD+xqdmBAf2CB4=", "stream": true, "ips": [ "149.50.217.161" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#116", "hostname": "node-dk-08.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.111.109.1" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#116", "hostname": "node-dk-08.protonvpn.net", "wgpubkey": "+6VseaiwdWLFSlaTgwafQM9D9DsT1aanqywtgf7XdC8=", "stream": true, "port_forward": true, "ips": [ "185.111.109.1" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#153", "hostname": "node-dk-09.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.88.109.34" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#153", "hostname": "node-dk-09.protonvpn.net", "wgpubkey": "Vwqy4HMGPvkGaZXyYTNFUBJ8M5Qyo+d/ia+J4Np3Azk=", "stream": true, "port_forward": true, "ips": [ "149.88.109.34" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#60", "hostname": "node-dk-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.29.107.162" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#60", "hostname": "node-dk-05.protonvpn.net", "wgpubkey": "sbjnjFtxUz4dxYfNL7WOVf1StMjjAhkiPLCPtVtlhRI=", "stream": true, "port_forward": true, "ips": [ "193.29.107.162" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#68", "hostname": "node-dk-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.29.107.98" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "DK#68", "hostname": "node-dk-06.protonvpn.net", "wgpubkey": "d3VXpY1SJGxlx8Cq3trvJBkZvilHF6BdSynqphx+iw8=", "stream": true, "port_forward": true, "ips": [ "193.29.107.98" ] }, { "vpn": "openvpn", "country": "Denmark", "city": "Copenhagen", "server_name": "IS-DK#1", "hostname": "node-dk-07.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.237" ] }, { "vpn": "wireguard", "country": "Denmark", "city": "Copenhagen", "server_name": "IS-DK#1", "hostname": "node-dk-07.protonvpn.net", "wgpubkey": "9WowgFUh2itRfPh2SoaJsJHvxzXBZuD+xqdmBAf2CB4=", "secure_core": true, "ips": [ "185.159.158.237" ] }, { "vpn": "openvpn", "country": "Dominican Republic", "city": "Santo Domingo", "server_name": "DO#12", "hostname": "node-do-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.238.155.130" ] }, { "vpn": "wireguard", "country": "Dominican Republic", "city": "Santo Domingo", "server_name": "DO#12", "hostname": "node-do-01.protonvpn.net", "wgpubkey": "17uOfuUCuJc6+xcg9qG2IJNZ2cjF7D55a2vEhYlkE0E=", "stream": true, "port_forward": true, "ips": [ "89.238.155.130" ] }, { "vpn": "openvpn", "country": "Ecuador", "city": "Quito", "server_name": "EC#1", "hostname": "node-ec-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.50.103" ] }, { "vpn": "wireguard", "country": "Ecuador", "city": "Quito", "server_name": "EC#1", "hostname": "node-ec-01.protonvpn.net", "wgpubkey": "dLPbOg/+D3oFCz5iiUVB9ILPOVx9vBB0CCVtXiTPDGE=", "stream": true, "port_forward": true, "ips": [ "138.199.50.103" ] }, { "vpn": "openvpn", "country": "Ecuador", "city": "Quito", "server_name": "IS-EC#1", "hostname": "node-ec-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.202" ] }, { "vpn": "wireguard", "country": "Ecuador", "city": "Quito", "server_name": "IS-EC#1", "hostname": "node-ec-01.protonvpn.net", "wgpubkey": "dLPbOg/+D3oFCz5iiUVB9ILPOVx9vBB0CCVtXiTPDGE=", "secure_core": true, "ips": [ "185.159.158.202" ] }, { "vpn": "openvpn", "country": "Egypt", "city": "Cairo", "server_name": "EG#1", "hostname": "node-eg-01.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.122.82" ] }, { "vpn": "wireguard", "country": "Egypt", "city": "Cairo", "server_name": "EG#1", "hostname": "node-eg-01.protonvpn.net", "wgpubkey": "DUtOX4QuHcmlBk7bI5eoCSp8RLqV7NPIU8pywn1w0k0=", "port_forward": true, "ips": [ "188.214.122.82" ] }, { "vpn": "openvpn", "country": "Egypt", "city": "Cairo", "server_name": "EG#14", "hostname": "eg-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.212" ] }, { "vpn": "wireguard", "country": "Egypt", "city": "Cairo", "server_name": "EG#14", "hostname": "eg-02.protonvpn.net", "wgpubkey": "fD8gErK2xl/yI01WCOl78xNFGuEXdZjr/MYN3qzH03I=", "stream": true, "port_forward": true, "ips": [ "79.135.105.212" ] }, { "vpn": "openvpn", "country": "Egypt", "city": "Cairo", "server_name": "EG#18", "hostname": "eg-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.56" ] }, { "vpn": "wireguard", "country": "Egypt", "city": "Cairo", "server_name": "EG#18", "hostname": "eg-03.protonvpn.net", "wgpubkey": "GxD51LjvoeTiIlBb2GVh/VO2aXAfxpdPAqZd580A2iE=", "port_forward": true, "ips": [ "74.118.126.56" ] }, { "vpn": "openvpn", "country": "Egypt", "city": "Cairo", "server_name": "SE-EG#1", "hostname": "node-eg-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.84" ] }, { "vpn": "wireguard", "country": "Egypt", "city": "Cairo", "server_name": "SE-EG#1", "hostname": "node-eg-01.protonvpn.net", "wgpubkey": "DUtOX4QuHcmlBk7bI5eoCSp8RLqV7NPIU8pywn1w0k0=", "secure_core": true, "ips": [ "185.159.156.84" ] }, { "vpn": "openvpn", "country": "El Salvador", "city": "San Salvador", "server_name": "SV#10", "hostname": "sv-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.146.1" ] }, { "vpn": "wireguard", "country": "El Salvador", "city": "San Salvador", "server_name": "SV#10", "hostname": "sv-01.protonvpn.net", "wgpubkey": "6FYsfDoKLUN09h9FxloEkmUaMdbVcFzX5YpHa9mfr3k=", "stream": true, "port_forward": true, "ips": [ "45.83.146.1" ] }, { "vpn": "openvpn", "country": "El Salvador", "city": "San Salvador", "server_name": "SV#28", "hostname": "sv-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.45.224.2" ] }, { "vpn": "wireguard", "country": "El Salvador", "city": "San Salvador", "server_name": "SV#28", "hostname": "sv-02.protonvpn.net", "wgpubkey": "fGu8NVCtiQjkFpJwU0HTkF7zUQtmw4VOZmozXkCPbRU=", "stream": true, "port_forward": true, "ips": [ "89.45.224.2" ] }, { "vpn": "openvpn", "country": "Eritrea", "city": "Asmara", "server_name": "ER#5", "hostname": "er-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.60" ] }, { "vpn": "wireguard", "country": "Eritrea", "city": "Asmara", "server_name": "ER#5", "hostname": "er-03.protonvpn.net", "wgpubkey": "KHtGOw1XcbWhGzH2tKhkGD4Qnr1BTTSqofVhd+iDMTk=", "port_forward": true, "ips": [ "74.118.126.60" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "server_name": "CH-EE#2", "hostname": "node-ee-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.106" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "server_name": "CH-EE#2", "hostname": "node-ee-01.protonvpn.net", "wgpubkey": "fHGPlsNkuvuyLoqKp/Yfh3R31jdGN5JWRZ5cE1aW/UM=", "secure_core": true, "ips": [ "62.169.136.106" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "server_name": "CH-EE#2", "hostname": "node-ee-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.28" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "server_name": "CH-EE#2", "hostname": "node-ee-02.protonvpn.net", "wgpubkey": "dq6F8vkRFuDM8jw4rSm+d4q21K8gAS8/6qgDSwdIFEk=", "secure_core": true, "ips": [ "79.135.104.28" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "server_name": "EE#13", "hostname": "node-ee-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.153.31.114" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "server_name": "EE#13", "hostname": "node-ee-02.protonvpn.net", "wgpubkey": "dq6F8vkRFuDM8jw4rSm+d4q21K8gAS8/6qgDSwdIFEk=", "stream": true, "port_forward": true, "ips": [ "95.153.31.114" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "server_name": "EE#23", "hostname": "node-ee-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "165.231.183.2" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "server_name": "EE#23", "hostname": "node-ee-01.protonvpn.net", "wgpubkey": "fHGPlsNkuvuyLoqKp/Yfh3R31jdGN5JWRZ5cE1aW/UM=", "stream": true, "port_forward": true, "ips": [ "165.231.183.2" ] }, { "vpn": "openvpn", "country": "Estonia", "city": "Tallinn", "server_name": "SE-EE#1", "hostname": "node-ee-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.49" ] }, { "vpn": "wireguard", "country": "Estonia", "city": "Tallinn", "server_name": "SE-EE#1", "hostname": "node-ee-01.protonvpn.net", "wgpubkey": "fHGPlsNkuvuyLoqKp/Yfh3R31jdGN5JWRZ5cE1aW/UM=", "secure_core": true, "ips": [ "185.159.156.49" ] }, { "vpn": "openvpn", "country": "Ethiopia", "city": "Addis Ababa", "server_name": "ET#5", "hostname": "et-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.64" ] }, { "vpn": "wireguard", "country": "Ethiopia", "city": "Addis Ababa", "server_name": "ET#5", "hostname": "et-03.protonvpn.net", "wgpubkey": "CoCz1EdSogtrq/0elCnI//1N5z2z0JIm4mJaYR1fFz8=", "port_forward": true, "ips": [ "74.118.126.64" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "CH-FI#2", "hostname": "node-fi-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.107" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "CH-FI#2", "hostname": "node-fi-01.protonvpn.net", "wgpubkey": "z0xd29K3h6taRG+nGSvkgPXXzAOt+2V69dZTtjGoajs=", "secure_core": true, "ips": [ "62.169.136.107" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "CH-FI#2", "hostname": "node-fi-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.69" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "CH-FI#2", "hostname": "node-fi-03.protonvpn.net", "wgpubkey": "ievGDrxV0dKcjO7EM662c1Ziy0PVct0Ujse3CT4NQQw=", "secure_core": true, "ips": [ "79.135.104.69" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "FI#1", "hostname": "node-fi-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "194.34.132.55" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "FI#1", "hostname": "node-fi-01.protonvpn.net", "wgpubkey": "z0xd29K3h6taRG+nGSvkgPXXzAOt+2V69dZTtjGoajs=", "stream": true, "ips": [ "194.34.132.55" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "FI#13", "hostname": "node-fi-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.90.60.210" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "FI#13", "hostname": "node-fi-03.protonvpn.net", "wgpubkey": "ievGDrxV0dKcjO7EM662c1Ziy0PVct0Ujse3CT4NQQw=", "stream": true, "port_forward": true, "ips": [ "185.90.60.210" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "FI#32", "hostname": "node-fi-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.221.162" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "FI#32", "hostname": "node-fi-04.protonvpn.net", "wgpubkey": "N3IkjWjh9PFh3Wo0srltI6X8pm9EJbc3hTu0sFfxSwE=", "stream": true, "port_forward": true, "ips": [ "130.195.221.162" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "FI#5", "hostname": "node-fi-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "196.196.203.202" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "FI#5", "hostname": "node-fi-02.protonvpn.net", "wgpubkey": "cdx8bADYVWBlHkg6Ekl6k2y0kjkYNFagN2ttPC128HU=", "stream": true, "ips": [ "196.196.203.202" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.27" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.28" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-01.protonvpn.net", "wgpubkey": "z0xd29K3h6taRG+nGSvkgPXXzAOt+2V69dZTtjGoajs=", "secure_core": true, "ips": [ "185.159.156.27" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-01.protonvpn.net", "wgpubkey": "z0xd29K3h6taRG+nGSvkgPXXzAOt+2V69dZTtjGoajs=", "secure_core": true, "ips": [ "185.159.156.28" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.92" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-02.protonvpn.net", "wgpubkey": "cdx8bADYVWBlHkg6Ekl6k2y0kjkYNFagN2ttPC128HU=", "secure_core": true, "ips": [ "185.159.156.92" ] }, { "vpn": "openvpn", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.148" ] }, { "vpn": "wireguard", "country": "Finland", "city": "Helsinki", "server_name": "SE-FI#1", "hostname": "node-fi-04.protonvpn.net", "wgpubkey": "N3IkjWjh9PFh3Wo0srltI6X8pm9EJbc3hTu0sFfxSwE=", "secure_core": true, "ips": [ "185.159.156.148" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "server_name": "FR#184", "hostname": "node-fr-23.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.245.129" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "server_name": "FR#184", "hostname": "node-fr-23.protonvpn.net", "wgpubkey": "m8vo9+NTxgkGJ1eV2nP9AyanXxeSlztAhIhQWDYPfnc=", "stream": true, "ips": [ "149.102.245.129" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "server_name": "FR#232", "hostname": "node-fr-24.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.245.156" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "server_name": "FR#232", "hostname": "node-fr-24.protonvpn.net", "wgpubkey": "DG6UsR8aCBawKEw9FQoGDBIxJHinM7oedppLYZFxA0o=", "stream": true, "ips": [ "149.102.245.156" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "server_name": "FR#463", "hostname": "node-fr-34.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "178.249.212.171" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "server_name": "FR#463", "hostname": "node-fr-34.protonvpn.net", "wgpubkey": "Ou/0tyFcrxK5luNgXS7nCv2FNbY1Yv7cu4e8YKwTJzw=", "stream": true, "port_forward": true, "ips": [ "178.249.212.171" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "server_name": "FR#480", "hostname": "node-fr-35.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "178.249.212.168" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "server_name": "FR#480", "hostname": "node-fr-35.protonvpn.net", "wgpubkey": "XAP3L0aI77wHPQv5Um+o8MlHlXWaVGzOrwDoaFpDSh4=", "stream": true, "port_forward": true, "ips": [ "178.249.212.168" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "server_name": "FR#532", "hostname": "node-fr-37.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "178.249.212.169" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "server_name": "FR#532", "hostname": "node-fr-37.protonvpn.net", "wgpubkey": "2vrf95gxs2oA4+FKWthu0cKLFvYhLI9+FtAqSmZ3sQ8=", "stream": true, "port_forward": true, "ips": [ "178.249.212.169" ] }, { "vpn": "openvpn", "country": "France", "city": "Marseille", "server_name": "FR#9", "hostname": "node-fr-32.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.79.104.2" ] }, { "vpn": "wireguard", "country": "France", "city": "Marseille", "server_name": "FR#9", "hostname": "node-fr-32.protonvpn.net", "wgpubkey": "pb/PKE3OKegozt5mnfdkTr2u4/eluJb+qRiMthaUkT4=", "stream": true, "port_forward": true, "ips": [ "217.79.104.2" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-15.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.219" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-15.protonvpn.net", "wgpubkey": "pSxXjpwlHAXXGJ2s3aRpAFLTNJXz60HKYWqKJqClo3Q=", "secure_core": true, "ips": [ "62.169.136.219" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-16.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.220" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-16.protonvpn.net", "wgpubkey": "Z/l/+DAz1YilevRfmEMMjNbzYOVCB0sOJc3vVKhQ/gw=", "secure_core": true, "ips": [ "62.169.136.220" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-17.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.221" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-17.protonvpn.net", "wgpubkey": "mbgw7Sxzok7Px1T/cTLDvWEdbU8bWWS00aOhAJy2omQ=", "secure_core": true, "ips": [ "62.169.136.221" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-18.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.222" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-18.protonvpn.net", "wgpubkey": "JsWZdbNQ38Enz3AYGJLI6HVF5I5RqfrIkkcwsznAGSs=", "secure_core": true, "ips": [ "62.169.136.222" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-19.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.223" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-19.protonvpn.net", "wgpubkey": "XAlwDb8B3OHpzlLp4Rj1BtfCdPIPSm1FuYVYof7k3EA=", "secure_core": true, "ips": [ "62.169.136.223" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-20.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.224" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-20.protonvpn.net", "wgpubkey": "510n8TGQa8ljjuv+qIc01BSfapR6tNvcfF/WLqamRiI=", "secure_core": true, "ips": [ "62.169.136.224" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-21.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.225" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-21.protonvpn.net", "wgpubkey": "zeGY3uQTDqTiaxp6vGqFzXck1TPNnzY+JZ2iNI2BrRU=", "secure_core": true, "ips": [ "62.169.136.225" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-22.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.226" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "CH-FR#2", "hostname": "node-fr-22.protonvpn.net", "wgpubkey": "iPDwM6fotjFv+lwrXT5GT55pkovH673toteabkR+OjY=", "secure_core": true, "ips": [ "62.169.136.226" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#13-TOR", "hostname": "fr-13-tor.protonvpn.net", "tcp": true, "udp": true, "tor": true, "ips": [ "45.128.134.199" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#13-TOR", "hostname": "fr-13-tor.protonvpn.net", "wgpubkey": "rVMcE/5JmvHci9tJMaMmUtQS274yCMeO3fW8UnwGJEM=", "tor": true, "ips": [ "45.128.134.199" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#132", "hostname": "node-fr-18.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.194.50" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#132", "hostname": "node-fr-18.protonvpn.net", "wgpubkey": "JsWZdbNQ38Enz3AYGJLI6HVF5I5RqfrIkkcwsznAGSs=", "stream": true, "port_forward": true, "ips": [ "146.70.194.50" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#136", "hostname": "node-fr-19.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.194.66" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#136", "hostname": "node-fr-19.protonvpn.net", "wgpubkey": "XAlwDb8B3OHpzlLp4Rj1BtfCdPIPSm1FuYVYof7k3EA=", "stream": true, "port_forward": true, "ips": [ "146.70.194.66" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#236", "hostname": "node-fr-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.128.134.194" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#236", "hostname": "node-fr-07.protonvpn.net", "wgpubkey": "KG3FkqwD08/FBctMtWMWjaEMkUZS3qdcjztiUSWBCVc=", "stream": true, "port_forward": true, "ips": [ "45.128.134.194" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#332", "hostname": "node-fr-28.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.134.28" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#332", "hostname": "node-fr-28.protonvpn.net", "wgpubkey": "QgghXOxbJ82g8g0bQn3Q+ZDuxzyAbLEHwxSvt3ViWmo=", "stream": true, "port_forward": true, "ips": [ "79.127.134.28" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#388", "hostname": "node-fr-30.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.169.1" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#388", "hostname": "node-fr-30.protonvpn.net", "wgpubkey": "73brgycS3YnRLfa2pZCHiXjIDJv6L091uSEDzFW88UI=", "stream": true, "port_forward": true, "ips": [ "79.127.169.1" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#432", "hostname": "node-fr-31.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.169.31" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#432", "hostname": "node-fr-31.protonvpn.net", "wgpubkey": "Syib8+Iw6m03YnFKZ6PcGuSEo8TT01DookzZ7DMkmQQ=", "stream": true, "port_forward": true, "ips": [ "79.127.169.31" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#588", "hostname": "node-fr-39.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.169.89" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#588", "hostname": "node-fr-39.protonvpn.net", "wgpubkey": "W4XqVNXMdnhtiRxWNzWThy3f7hRoT9NTx/HYu/jTaRU=", "stream": true, "port_forward": true, "ips": [ "79.127.169.89" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#632", "hostname": "node-fr-41.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.169.91" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#632", "hostname": "node-fr-41.protonvpn.net", "wgpubkey": "vCL5qcZD5QKJLZlcDKUR4+APreS/38Hf2F6jZrgo71w=", "stream": true, "port_forward": true, "ips": [ "79.127.169.91" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "FR#688", "hostname": "node-fr-42.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.169.92" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "FR#688", "hostname": "node-fr-42.protonvpn.net", "wgpubkey": "G4xmvDmLhjs1uHjj7BjPjup1Iya3oqqnwtWFS9KeBls=", "stream": true, "port_forward": true, "ips": [ "79.127.169.92" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-25.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.245" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-25.protonvpn.net", "wgpubkey": "fEUJZ0KAOb0U8O4+wNYYlVBgtN6AOS2bbXyM07Dnvxk=", "secure_core": true, "ips": [ "185.159.158.245" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-26.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.246" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-26.protonvpn.net", "wgpubkey": "wYsaKyJteQ1gYoJZAZT0FettXDOidPhQZwl0DhaabF0=", "secure_core": true, "ips": [ "185.159.158.246" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-27.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.247" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-27.protonvpn.net", "wgpubkey": "QT4M4/y1I4Bp/nbyFDKffSLcVDmD3KubmJ3AjjwjLEU=", "secure_core": true, "ips": [ "185.159.158.247" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-30.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.76" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "IS-FR#1", "hostname": "node-fr-30.protonvpn.net", "wgpubkey": "73brgycS3YnRLfa2pZCHiXjIDJv6L091uSEDzFW88UI=", "secure_core": true, "ips": [ "185.159.158.76" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-07.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.68" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-07.protonvpn.net", "wgpubkey": "KG3FkqwD08/FBctMtWMWjaEMkUZS3qdcjztiUSWBCVc=", "secure_core": true, "ips": [ "185.159.156.68" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-13.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.93" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-13.protonvpn.net", "wgpubkey": "V9f3hsjREcRebCDIoKJ6rTPqR/g89maWZSua6H73B1w=", "secure_core": true, "ips": [ "185.159.156.93" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-14.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.94" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-14.protonvpn.net", "wgpubkey": "QkRTXcTgRJGTjSFe/Qaa8l6hi7NbITvGFRSdhUpMvSw=", "secure_core": true, "ips": [ "185.159.156.94" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-29.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.160" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-29.protonvpn.net", "wgpubkey": "VEtFeCo88R26OwlJ+F1hwNOPhewYNJHL+S078L477Gk=", "secure_core": true, "ips": [ "185.159.156.160" ] }, { "vpn": "openvpn", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-31.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.161" ] }, { "vpn": "wireguard", "country": "France", "city": "Paris", "server_name": "SE-FR#1", "hostname": "node-fr-31.protonvpn.net", "wgpubkey": "Syib8+Iw6m03YnFKZ6PcGuSEo8TT01DookzZ7DMkmQQ=", "secure_core": true, "ips": [ "185.159.156.161" ] }, { "vpn": "openvpn", "country": "Georgia", "city": "Tbilisi", "server_name": "GE#12", "hostname": "node-ge-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.249.72.130" ] }, { "vpn": "wireguard", "country": "Georgia", "city": "Tbilisi", "server_name": "GE#12", "hostname": "node-ge-04.protonvpn.net", "wgpubkey": "gzOHAosXglyJvyz6GUd0yB2VpqtVAdA2qibp0PTh20U=", "stream": true, "port_forward": true, "ips": [ "89.249.72.130" ] }, { "vpn": "openvpn", "country": "Georgia", "city": "Tbilisi", "server_name": "GE#32", "hostname": "node-ge-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.53.236" ] }, { "vpn": "wireguard", "country": "Georgia", "city": "Tbilisi", "server_name": "GE#32", "hostname": "node-ge-03.protonvpn.net", "wgpubkey": "7A19/lMrfmpFZARivC7FS8DcGxMn5uUq9LcOqFjzlDo=", "stream": true, "port_forward": true, "ips": [ "138.199.53.236" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "server_name": "DE#187", "hostname": "node-de-24.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.138.216.130" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "server_name": "DE#187", "hostname": "node-de-24.protonvpn.net", "wgpubkey": "MOLPnnM2MSq7s7KqAgpm+AWpmzFAtuE46qBFHeLg5Tk=", "stream": true, "port_forward": true, "ips": [ "217.138.216.130" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "server_name": "DE#221", "hostname": "node-de-25.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.138.216.98" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "server_name": "DE#221", "hostname": "node-de-25.protonvpn.net", "wgpubkey": "vFExvD05bttJUYX5qltzXk4L8hA2Tr2kGRMElb6a9GA=", "stream": true, "port_forward": true, "ips": [ "217.138.216.98" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "server_name": "DE#23", "hostname": "node-de-27.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.29.106.18" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "server_name": "DE#23", "hostname": "node-de-27.protonvpn.net", "wgpubkey": "UY9MW2eKopDJSqT5a+y+idpQVx6jBfnWklRhxaTt/QA=", "stream": true, "port_forward": true, "ips": [ "193.29.106.18" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Berlin", "server_name": "DE#521", "hostname": "node-de-15.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.36.76.130" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Berlin", "server_name": "DE#521", "hostname": "node-de-15.protonvpn.net", "wgpubkey": "9xUSjs4KYUv0ySbhrYjwN/49TpHfmIcI/2KdGkOEGz0=", "stream": true, "port_forward": true, "ips": [ "89.36.76.130" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-16.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.184" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-16.protonvpn.net", "wgpubkey": "XcWEb0DMaFBex2HD2DVUStifh6wBZe9ELo2N/KLlMHc=", "secure_core": true, "ips": [ "62.169.136.184" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-17.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.183" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-17.protonvpn.net", "wgpubkey": "9+CorlxrTsQR7qjIOVKsEkk8Z7UUS5WT3R1ccF7a0ic=", "secure_core": true, "ips": [ "62.169.136.183" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-18.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.57" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-18.protonvpn.net", "wgpubkey": "XEhzlc2pX8uDChBR65mlzijG6KaoatbiEND8mRdjVD8=", "secure_core": true, "ips": [ "62.169.136.57" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-19.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.58" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "CH-DE#2", "hostname": "node-de-19.protonvpn.net", "wgpubkey": "gW9yJRNQgnWPUB0qbRjRGrnvbYOhPqypmp1cW961XEM=", "secure_core": true, "ips": [ "62.169.136.58" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "DE#331", "hostname": "node-de-19.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.88.19.238" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "DE#331", "hostname": "node-de-19.protonvpn.net", "wgpubkey": "gW9yJRNQgnWPUB0qbRjRGrnvbYOhPqypmp1cW961XEM=", "stream": true, "ips": [ "149.88.19.238" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "DE#435", "hostname": "node-de-13.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "194.126.177.7" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "DE#435", "hostname": "node-de-13.protonvpn.net", "wgpubkey": "fvHmPj3wAKolN80+/KJ3a/DFjMToCsr3iPGwX8+og1g=", "stream": true, "port_forward": true, "ips": [ "194.126.177.7" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "DE#468", "hostname": "node-de-16.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "194.126.177.13" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "DE#468", "hostname": "node-de-16.protonvpn.net", "wgpubkey": "XcWEb0DMaFBex2HD2DVUStifh6wBZe9ELo2N/KLlMHc=", "stream": true, "port_forward": true, "ips": [ "194.126.177.13" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "DE#53-TOR", "hostname": "de-53-tor.protonvpn.net", "tcp": true, "udp": true, "tor": true, "ips": [ "194.126.177.9" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "DE#53-TOR", "hostname": "de-53-tor.protonvpn.net", "wgpubkey": "xBNmGnjDcqdq86B09QpwMBoxhZlgqEE1y9aTZG+RMEc=", "tor": true, "ips": [ "194.126.177.9" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "DE#635", "hostname": "node-de-30.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.88.24.129" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "DE#635", "hostname": "node-de-30.protonvpn.net", "wgpubkey": "XVhgEmVfTwllba68JLfzHVCw2Jr5RQsRwHB3JrcbRHE=", "stream": true, "ips": [ "149.88.24.129" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "DE#731", "hostname": "node-de-34.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.141.55" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "DE#731", "hostname": "node-de-34.protonvpn.net", "wgpubkey": "+dCx4oMFIiAKJB9byW8M5SQQNXXGwgY2NxRhNwhS2C8=", "stream": true, "port_forward": true, "ips": [ "79.127.141.55" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "DE#768", "hostname": "node-de-36.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.141.53" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "DE#768", "hostname": "node-de-36.protonvpn.net", "wgpubkey": "3OmDkvs7FoqiYtV9rzMUdxcWkNXH/loCVZaiPJH18mI=", "stream": true, "port_forward": true, "ips": [ "79.127.141.53" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-12.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.178" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-12.protonvpn.net", "wgpubkey": "JC6QcZKfheALT/vjCz9ozYVC9AVjqv0rrxfrS8FWVQk=", "secure_core": true, "ips": [ "185.159.158.178" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-13.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.179" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-13.protonvpn.net", "wgpubkey": "fvHmPj3wAKolN80+/KJ3a/DFjMToCsr3iPGwX8+og1g=", "secure_core": true, "ips": [ "185.159.158.179" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-14.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.180" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-14.protonvpn.net", "wgpubkey": "E+bqV5VyoZ35D3IMdlqdTovZ+YOI0PbGFBZ+3DsRTiE=", "secure_core": true, "ips": [ "185.159.158.180" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-25.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.119" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-25.protonvpn.net", "wgpubkey": "vFExvD05bttJUYX5qltzXk4L8hA2Tr2kGRMElb6a9GA=", "secure_core": true, "ips": [ "185.159.158.119" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-26.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.241" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-26.protonvpn.net", "wgpubkey": "C+u+eQw5yWI2APCfVJwW6Ovj3g4IrTOfe+tMZnNz43s=", "secure_core": true, "ips": [ "185.159.158.241" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-30.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.250" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "IS-DE#1", "hostname": "node-de-30.protonvpn.net", "wgpubkey": "XVhgEmVfTwllba68JLfzHVCw2Jr5RQsRwHB3JrcbRHE=", "secure_core": true, "ips": [ "185.159.158.250" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "SE-DE#1", "hostname": "node-de-15.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.98" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "SE-DE#1", "hostname": "node-de-15.protonvpn.net", "wgpubkey": "9xUSjs4KYUv0ySbhrYjwN/49TpHfmIcI/2KdGkOEGz0=", "secure_core": true, "ips": [ "185.159.156.98" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Frankfurt", "server_name": "SE-DE#1", "hostname": "node-de-24.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.29" ] }, { "vpn": "wireguard", "country": "Germany", "city": "Frankfurt", "server_name": "SE-DE#1", "hostname": "node-de-24.protonvpn.net", "wgpubkey": "MOLPnnM2MSq7s7KqAgpm+AWpmzFAtuE46qBFHeLg5Tk=", "secure_core": true, "ips": [ "185.159.156.29" ] }, { "vpn": "openvpn", "country": "Ghana", "city": "Accra", "server_name": "GH#1", "hostname": "gh-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "74.118.126.72" ] }, { "vpn": "wireguard", "country": "Ghana", "city": "Accra", "server_name": "GH#1", "hostname": "gh-01.protonvpn.net", "wgpubkey": "2LwyM7ETzLXiCwXkKiBWCsIQGMlBX5StmyPiyy4x3Ek=", "stream": true, "port_forward": true, "ips": [ "74.118.126.72" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "server_name": "CH-GR#2", "hostname": "node-gr-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.65" ] }, { "vpn": "wireguard", "country": "Greece", "city": "Athens", "server_name": "CH-GR#2", "hostname": "node-gr-01.protonvpn.net", "wgpubkey": "DTaJG0Ww2G2Gtv7GVlkiOIv9cv8r9yQ0ghNPQf7kDAw=", "secure_core": true, "ips": [ "62.169.136.65" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "server_name": "GR#14", "hostname": "node-gr-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.92.33.162" ] }, { "vpn": "wireguard", "country": "Greece", "city": "Athens", "server_name": "GR#14", "hostname": "node-gr-02.protonvpn.net", "wgpubkey": "BM3CQJ3Vo8L7aOeeyqADlN2tGcn2VPxZ+gnlKk5gLlg=", "stream": true, "port_forward": true, "ips": [ "45.92.33.162" ] }, { "vpn": "openvpn", "country": "Greece", "city": "Athens", "server_name": "GR#38", "hostname": "node-gr-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.22.85.193" ] }, { "vpn": "wireguard", "country": "Greece", "city": "Athens", "server_name": "GR#38", "hostname": "node-gr-03.protonvpn.net", "wgpubkey": "Aa/1qhvtTi4czuoUMrbb921EWl8tCPUMajJlzJCqfRY=", "stream": true, "ips": [ "149.22.85.193" ] }, { "vpn": "openvpn", "country": "Guatemala", "city": "Guatemala City", "server_name": "GT#10", "hostname": "node-gt-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.238.174.2" ] }, { "vpn": "wireguard", "country": "Guatemala", "city": "Guatemala City", "server_name": "GT#10", "hostname": "node-gt-01.protonvpn.net", "wgpubkey": "UBnjj4fW9ZR7bGnxN7JOD9G9AOwkYWl2gADZRHljEHI=", "stream": true, "port_forward": true, "ips": [ "89.238.174.2" ] }, { "vpn": "openvpn", "country": "Honduras", "city": "Tegucigalpa", "server_name": "HN#12", "hostname": "node-hn-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.238.174.130" ] }, { "vpn": "wireguard", "country": "Honduras", "city": "Tegucigalpa", "server_name": "HN#12", "hostname": "node-hn-01.protonvpn.net", "wgpubkey": "W+Jm9aOU/Z0Oz0bqK9BsoafbUgWDeygnDSwTJNQP8wE=", "stream": true, "port_forward": true, "ips": [ "89.238.174.130" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "server_name": "CH-HK#2", "hostname": "node-hk-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.232" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "server_name": "CH-HK#2", "hostname": "node-hk-06.protonvpn.net", "wgpubkey": "/AEriTfHYyrhW+bj1cDy9RroL4j4o1tv9sw4m+aB8lA=", "secure_core": true, "ips": [ "62.169.136.232" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#27-TOR", "hostname": "hk-27-tor.protonvpn.net", "tcp": true, "udp": true, "tor": true, "ips": [ "156.146.45.139" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#27-TOR", "hostname": "hk-27-tor.protonvpn.net", "wgpubkey": "69aqlYVoz2XbbnHQi5iglZ3ISvD6HHTWeRAHMrqDPA0=", "tor": true, "ips": [ "156.146.45.139" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#33", "hostname": "node-hk-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.113.114" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#33", "hostname": "node-hk-05.protonvpn.net", "wgpubkey": "giBCbR12im6jWSvwEQ0mJ1PH8NUhRFUDedozBSYC8n4=", "stream": true, "port_forward": true, "ips": [ "146.70.113.114" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#42", "hostname": "node-hk-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.113.98" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#42", "hostname": "node-hk-06.protonvpn.net", "wgpubkey": "/AEriTfHYyrhW+bj1cDy9RroL4j4o1tv9sw4m+aB8lA=", "stream": true, "port_forward": true, "ips": [ "146.70.113.98" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#52", "hostname": "node-hk-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "156.146.45.129" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "server_name": "HK#52", "hostname": "node-hk-04.protonvpn.net", "wgpubkey": "b04WYLiUOie4OkYbneVXdqnmoGKZyU7Vpfb9N+Qf31c=", "stream": true, "port_forward": true, "ips": [ "156.146.45.129" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "server_name": "IS-HK#1", "hostname": "node-hk-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.195" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "server_name": "IS-HK#1", "hostname": "node-hk-04.protonvpn.net", "wgpubkey": "b04WYLiUOie4OkYbneVXdqnmoGKZyU7Vpfb9N+Qf31c=", "secure_core": true, "ips": [ "185.159.158.195" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "server_name": "IS-HK#1", "hostname": "node-hk-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.220" ] }, { "vpn": "wireguard", "country": "Hong Kong", "city": "Hong Kong", "server_name": "IS-HK#1", "hostname": "node-hk-05.protonvpn.net", "wgpubkey": "giBCbR12im6jWSvwEQ0mJ1PH8NUhRFUDedozBSYC8n4=", "secure_core": true, "ips": [ "185.159.158.220" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "server_name": "CH-HU#2", "hostname": "node-hu-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.242" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "server_name": "CH-HU#2", "hostname": "node-hu-03.protonvpn.net", "wgpubkey": "AyifXfoAYFImnhwHKZpIvl4Mf0O1ecysYyInnaY13kQ=", "secure_core": true, "ips": [ "62.169.136.242" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "server_name": "CH-HU#2", "hostname": "node-hu-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.241" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "server_name": "CH-HU#2", "hostname": "node-hu-04.protonvpn.net", "wgpubkey": "JhYnH6WPDoqd5kldH4Zd1pQLj9mBDxRwNt4uuMI0eRo=", "secure_core": true, "ips": [ "62.169.136.241" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "server_name": "HU#14", "hostname": "node-hu-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.120.210" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "server_name": "HU#14", "hostname": "node-hu-03.protonvpn.net", "wgpubkey": "AyifXfoAYFImnhwHKZpIvl4Mf0O1ecysYyInnaY13kQ=", "stream": true, "port_forward": true, "ips": [ "146.70.120.210" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "server_name": "HU#28", "hostname": "node-hu-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.120.146" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "server_name": "HU#28", "hostname": "node-hu-04.protonvpn.net", "wgpubkey": "JhYnH6WPDoqd5kldH4Zd1pQLj9mBDxRwNt4uuMI0eRo=", "stream": true, "port_forward": true, "ips": [ "146.70.120.146" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "server_name": "HU#38", "hostname": "node-hu-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.182.65" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "server_name": "HU#38", "hostname": "node-hu-05.protonvpn.net", "wgpubkey": "lw2MLTnvUaAK0PtleqqbbhjR6cjyhJZ+iZOzkRRulzc=", "stream": true, "port_forward": true, "ips": [ "79.127.182.65" ] }, { "vpn": "openvpn", "country": "Hungary", "city": "Budapest", "server_name": "IS-HU#1", "hostname": "node-hu-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.165" ] }, { "vpn": "wireguard", "country": "Hungary", "city": "Budapest", "server_name": "IS-HU#1", "hostname": "node-hu-05.protonvpn.net", "wgpubkey": "lw2MLTnvUaAK0PtleqqbbhjR6cjyhJZ+iZOzkRRulzc=", "secure_core": true, "ips": [ "185.159.158.165" ] }, { "vpn": "openvpn", "country": "Iceland", "city": "Reykjavik", "server_name": "IS#10", "hostname": "node-is-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.159.158.1" ] }, { "vpn": "wireguard", "country": "Iceland", "city": "Reykjavik", "server_name": "IS#10", "hostname": "node-is-01.protonvpn.net", "wgpubkey": "yKbYe2XwbeNN9CuPZcwMF/lJp6a62NEGiHCCfpfxrnE=", "stream": true, "port_forward": true, "ips": [ "185.159.158.1" ] }, { "vpn": "openvpn", "country": "Iceland", "city": "Reykjavik", "server_name": "IS#24", "hostname": "node-is-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.159.158.2" ] }, { "vpn": "wireguard", "country": "Iceland", "city": "Reykjavik", "server_name": "IS#24", "hostname": "node-is-02.protonvpn.net", "wgpubkey": "nnG3a0fTkyAfCSRWNXR32Z3qFP2/Jk0ATux1IszyWmc=", "stream": true, "port_forward": true, "ips": [ "185.159.158.2" ] }, { "vpn": "openvpn", "country": "India", "city": "Mumbai", "server_name": "CH-IN#2", "hostname": "node-in-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.82" ] }, { "vpn": "wireguard", "country": "India", "city": "Mumbai", "server_name": "CH-IN#2", "hostname": "node-in-05.protonvpn.net", "wgpubkey": "QnqJI0C2xQZrKfZLrBaCHa2h3TZ9CBt6sCuzg3ue4X4=", "secure_core": true, "ips": [ "62.169.136.82" ] }, { "vpn": "openvpn", "country": "India", "city": "Mumbai", "server_name": "CH-IN#2", "hostname": "node-in-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.56" ] }, { "vpn": "wireguard", "country": "India", "city": "Mumbai", "server_name": "CH-IN#2", "hostname": "node-in-06.protonvpn.net", "wgpubkey": "xlqneuKmrOMTCwrLwiqimcfhHwfzC3gfbYzsgP7cNTM=", "secure_core": true, "ips": [ "62.169.136.56" ] }, { "vpn": "openvpn", "country": "India", "city": "Mumbai", "server_name": "IN#13", "hostname": "node-in-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.142.18" ] }, { "vpn": "wireguard", "country": "India", "city": "Mumbai", "server_name": "IN#13", "hostname": "node-in-05.protonvpn.net", "wgpubkey": "QnqJI0C2xQZrKfZLrBaCHa2h3TZ9CBt6sCuzg3ue4X4=", "stream": true, "port_forward": true, "ips": [ "146.70.142.18" ] }, { "vpn": "openvpn", "country": "India", "city": "Mumbai", "server_name": "IN#26", "hostname": "node-in-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.142.82" ] }, { "vpn": "wireguard", "country": "India", "city": "Mumbai", "server_name": "IN#26", "hostname": "node-in-06.protonvpn.net", "wgpubkey": "xlqneuKmrOMTCwrLwiqimcfhHwfzC3gfbYzsgP7cNTM=", "stream": true, "port_forward": true, "ips": [ "146.70.142.82" ] }, { "vpn": "openvpn", "country": "India", "city": "Mumbai", "server_name": "IS-IN#1", "hostname": "node-in-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.234" ] }, { "vpn": "wireguard", "country": "India", "city": "Mumbai", "server_name": "IS-IN#1", "hostname": "node-in-06.protonvpn.net", "wgpubkey": "xlqneuKmrOMTCwrLwiqimcfhHwfzC3gfbYzsgP7cNTM=", "secure_core": true, "ips": [ "185.159.158.234" ] }, { "vpn": "openvpn", "country": "India", "city": "Mumbai", "server_name": "SE-IN#1", "hostname": "node-in-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.128" ] }, { "vpn": "wireguard", "country": "India", "city": "Mumbai", "server_name": "SE-IN#1", "hostname": "node-in-05.protonvpn.net", "wgpubkey": "QnqJI0C2xQZrKfZLrBaCHa2h3TZ9CBt6sCuzg3ue4X4=", "secure_core": true, "ips": [ "185.159.156.128" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta", "server_name": "ID#12", "hostname": "id-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.14.19" ] }, { "vpn": "wireguard", "country": "Indonesia", "city": "Jakarta", "server_name": "ID#12", "hostname": "id-02.protonvpn.net", "wgpubkey": "n1CXZzndn2AZaB60AqCCm1ksR0aZQoL6FGwk7UgI9xc=", "stream": true, "port_forward": true, "ips": [ "146.70.14.19" ] }, { "vpn": "openvpn", "country": "Indonesia", "city": "Jakarta", "server_name": "ID#26", "hostname": "node-id-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.120.66.226" ] }, { "vpn": "wireguard", "country": "Indonesia", "city": "Jakarta", "server_name": "ID#26", "hostname": "node-id-03.protonvpn.net", "wgpubkey": "xlyjovIxX3vLWzcB9jUrYRpniIi8cpsrwES97HS3JRM=", "stream": true, "port_forward": true, "ips": [ "103.120.66.226" ] }, { "vpn": "openvpn", "country": "Iraq", "city": "Baghdad", "server_name": "IQ#5", "hostname": "iq-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.96" ] }, { "vpn": "wireguard", "country": "Iraq", "city": "Baghdad", "server_name": "IQ#5", "hostname": "iq-03.protonvpn.net", "wgpubkey": "FAvDjg7XOLNADYch9OZG2df9SL56buTe1VFRw5X6rCc=", "port_forward": true, "ips": [ "74.118.126.96" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "CH-IE#2", "hostname": "node-ie-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.153" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "CH-IE#2", "hostname": "node-ie-03.protonvpn.net", "wgpubkey": "AFp36cKCIznWgRchU9fE2G9kPK6zcdS+7S/u4drPU1g=", "secure_core": true, "ips": [ "62.169.136.153" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IE#102", "hostname": "node-ie-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.145.95" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IE#102", "hostname": "node-ie-06.protonvpn.net", "wgpubkey": "c4WdLWaxHyFyj2I20yN7Fnw2OiBYkmnhN7xvuLRC73Q=", "stream": true, "port_forward": true, "ips": [ "79.127.145.95" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IE#21", "hostname": "node-ie-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.48.2" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IE#21", "hostname": "node-ie-03.protonvpn.net", "wgpubkey": "AFp36cKCIznWgRchU9fE2G9kPK6zcdS+7S/u4drPU1g=", "stream": true, "port_forward": true, "ips": [ "146.70.48.2" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IE#25", "hostname": "node-ie-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.145.65" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IE#25", "hostname": "node-ie-04.protonvpn.net", "wgpubkey": "YWMbt8hivy0dAHCuK4wFqKFZ54BhlsrLYR07xJzPAQc=", "stream": true, "port_forward": true, "ips": [ "79.127.145.65" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IE#4", "hostname": "node-ie-01.protonvpn.net", "tcp": true, "udp": true, "ips": [ "5.157.13.2" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IE#4", "hostname": "node-ie-01.protonvpn.net", "wgpubkey": "CmoYq7BrV1SGjUd52MlU/aNIzVT8qXxE4Ch1yaVm8Fo=", "ips": [ "5.157.13.2" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IE#70", "hostname": "node-ie-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.145.94" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IE#70", "hostname": "node-ie-05.protonvpn.net", "wgpubkey": "FQckzm04zGq6QOWh/nmPbi23jfCA1el5JPCYMGaAfzQ=", "stream": true, "port_forward": true, "ips": [ "79.127.145.94" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IS-IE#1", "hostname": "node-ie-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.120" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IS-IE#1", "hostname": "node-ie-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.118" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IS-IE#1", "hostname": "node-ie-01.protonvpn.net", "wgpubkey": "CmoYq7BrV1SGjUd52MlU/aNIzVT8qXxE4Ch1yaVm8Fo=", "secure_core": true, "ips": [ "185.159.158.120" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IS-IE#1", "hostname": "node-ie-01.protonvpn.net", "wgpubkey": "CmoYq7BrV1SGjUd52MlU/aNIzVT8qXxE4Ch1yaVm8Fo=", "secure_core": true, "ips": [ "185.159.158.118" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "server_name": "IS-IE#1", "hostname": "node-ie-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.221" ] }, { "vpn": "wireguard", "country": "Ireland", "city": "Dublin", "server_name": "IS-IE#1", "hostname": "node-ie-03.protonvpn.net", "wgpubkey": "AFp36cKCIznWgRchU9fE2G9kPK6zcdS+7S/u4drPU1g=", "secure_core": true, "ips": [ "185.159.158.221" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "server_name": "IL#14", "hostname": "node-il-04.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "169.150.226.161" ] }, { "vpn": "wireguard", "country": "Israel", "city": "Tel Aviv", "server_name": "IL#14", "hostname": "node-il-04.protonvpn.net", "wgpubkey": "6IPYGbtvg79F4rmEffmQtDXQD/vBnz+qoq0xpGNpIBk=", "port_forward": true, "ips": [ "169.150.226.161" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "server_name": "IS-IL#1", "hostname": "node-il-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.194" ] }, { "vpn": "wireguard", "country": "Israel", "city": "Tel Aviv", "server_name": "IS-IL#1", "hostname": "node-il-03.protonvpn.net", "wgpubkey": "fuzsEMv8BUmBY+Izb8+tN9Z1xaAD7/Cazj96hL8BHC8=", "secure_core": true, "ips": [ "185.159.158.194" ] }, { "vpn": "openvpn", "country": "Israel", "city": "Tel Aviv", "server_name": "SE-IL#1", "hostname": "node-il-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.124" ] }, { "vpn": "wireguard", "country": "Israel", "city": "Tel Aviv", "server_name": "SE-IL#1", "hostname": "node-il-04.protonvpn.net", "wgpubkey": "6IPYGbtvg79F4rmEffmQtDXQD/vBnz+qoq0xpGNpIBk=", "secure_core": true, "ips": [ "185.159.156.124" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "server_name": "CH-IT#2", "hostname": "node-it-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.237" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "server_name": "CH-IT#2", "hostname": "node-it-04.protonvpn.net", "wgpubkey": "QAx4kzh5ejS9RksrRPqv8u/d0eY3WMrMyvykPJZTN3M=", "secure_core": true, "ips": [ "62.169.136.237" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "server_name": "CH-IT#2", "hostname": "node-it-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.235" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "server_name": "CH-IT#2", "hostname": "node-it-05.protonvpn.net", "wgpubkey": "Eq21XF3A63IbiEDBdIj5T2uKXtHZDj7mfiJIXVcOQXk=", "secure_core": true, "ips": [ "62.169.136.235" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "server_name": "CH-IT#2", "hostname": "node-it-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.234" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "server_name": "CH-IT#2", "hostname": "node-it-06.protonvpn.net", "wgpubkey": "WeqHIUm2kUqZVMcr+6r5qxgM1FT9N/s/BAbEBPF/O0Q=", "secure_core": true, "ips": [ "62.169.136.234" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "server_name": "IT#17", "hostname": "node-it-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.182.34" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "server_name": "IT#17", "hostname": "node-it-04.protonvpn.net", "wgpubkey": "QAx4kzh5ejS9RksrRPqv8u/d0eY3WMrMyvykPJZTN3M=", "stream": true, "port_forward": true, "ips": [ "146.70.182.34" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "server_name": "IT#33", "hostname": "node-it-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.182.18" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "server_name": "IT#33", "hostname": "node-it-05.protonvpn.net", "wgpubkey": "Eq21XF3A63IbiEDBdIj5T2uKXtHZDj7mfiJIXVcOQXk=", "stream": true, "port_forward": true, "ips": [ "146.70.182.18" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "server_name": "IT#42", "hostname": "node-it-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.182.2" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "server_name": "IT#42", "hostname": "node-it-06.protonvpn.net", "wgpubkey": "WeqHIUm2kUqZVMcr+6r5qxgM1FT9N/s/BAbEBPF/O0Q=", "stream": true, "port_forward": true, "ips": [ "146.70.182.2" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "server_name": "IT#53", "hostname": "node-it-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.237.129" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Milan", "server_name": "IT#53", "hostname": "node-it-07.protonvpn.net", "wgpubkey": "+PFYUIjcyPinyV/8l0AJZMB+RYDjn7nWoKxZ+9vqaQ0=", "stream": true, "ips": [ "149.102.237.129" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Palermo", "server_name": "IT#66", "hostname": "node-it-08.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.22.91.161" ] }, { "vpn": "wireguard", "country": "Italy", "city": "Palermo", "server_name": "IT#66", "hostname": "node-it-08.protonvpn.net", "wgpubkey": "4D4PkMrszUx3+Rj4qLZIH1r7s6VAjS28sl34VG5+JyE=", "stream": true, "ips": [ "149.22.91.161" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Osaka", "server_name": "JP#202", "hostname": "node-jp-14.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.14.71.6" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Osaka", "server_name": "JP#202", "hostname": "node-jp-14.protonvpn.net", "wgpubkey": "lDqI02+FFU6CeisxCSKxVgi28TKT9SowZybo1M4abEU=", "stream": true, "port_forward": true, "ips": [ "45.14.71.6" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "CH-JP#2", "hostname": "node-jp-12.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.80" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "CH-JP#2", "hostname": "node-jp-12.protonvpn.net", "wgpubkey": "7FslkahrdLwGbv4QSX5Cft5CtQLmBUlpWC382SSF7Hw=", "secure_core": true, "ips": [ "62.169.136.80" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "CH-JP#2", "hostname": "node-jp-29.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.208" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "CH-JP#2", "hostname": "node-jp-29.protonvpn.net", "wgpubkey": "d38wbEHG3sJG+0s34lCGtYU2AwZ9E/WrP3qM9gL7Xi8=", "secure_core": true, "ips": [ "62.169.136.208" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP#163", "hostname": "node-jp-30.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.87.213.210" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP#163", "hostname": "node-jp-30.protonvpn.net", "wgpubkey": "dMSVWPppIq7F2mVK99Le8G83r+b18Jx07spFvwmrPwg=", "stream": true, "port_forward": true, "ips": [ "45.87.213.210" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP#180", "hostname": "node-jp-33.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.125.235.20" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP#180", "hostname": "node-jp-33.protonvpn.net", "wgpubkey": "df2l8V11sRgmazhJY7S4RgoVu+vDSJ7fDyYjZVC9EHk=", "stream": true, "port_forward": true, "ips": [ "103.125.235.20" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP#263", "hostname": "node-jp-50.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.21.213" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP#263", "hostname": "node-jp-50.protonvpn.net", "wgpubkey": "0YPlw7E2YLT8xRYgY5KCX6tXRlIhM3D0Fa7MPL+DAXw=", "stream": true, "port_forward": true, "ips": [ "138.199.21.213" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP#280", "hostname": "node-jp-51.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.21.214" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP#280", "hostname": "node-jp-51.protonvpn.net", "wgpubkey": "BkgDHEcC60DJjSseQB+/IkApYytVIMYa2vcOTqde0xQ=", "stream": true, "port_forward": true, "ips": [ "138.199.21.214" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP#363", "hostname": "node-jp-53.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "212.102.51.120" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP#363", "hostname": "node-jp-53.protonvpn.net", "wgpubkey": "YxYHv0ukRTnrMlwzbJxCs4UNqsuvBKz6VpkWZGAl3kM=", "stream": true, "port_forward": true, "ips": [ "212.102.51.120" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP#367", "hostname": "node-jp-54.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "212.102.51.121" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP#367", "hostname": "node-jp-54.protonvpn.net", "wgpubkey": "bL8o1lpoGhrUjZ5y+hkTHtoQw9KMmbjbzFalNnc1Xi8=", "stream": true, "port_forward": true, "ips": [ "212.102.51.121" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP-FREE#20", "hostname": "node-jp-35.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "212.102.51.1" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP-FREE#20", "hostname": "node-jp-35.protonvpn.net", "wgpubkey": "jXayHq4Z5KQC1woRwm6ymLFZot/+158IWDT++u5d2Qc=", "free": true, "ips": [ "212.102.51.1" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "JP-FREE#24", "hostname": "node-jp-39.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "212.102.51.28" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "JP-FREE#24", "hostname": "node-jp-39.protonvpn.net", "wgpubkey": "9k38UMd5ufDVYu/im3M4N+kLy8ahfAT6NqAFdJePHyU=", "free": true, "ips": [ "212.102.51.28" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "SE-JP#1", "hostname": "node-jp-12.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.37" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "SE-JP#1", "hostname": "node-jp-12.protonvpn.net", "wgpubkey": "7FslkahrdLwGbv4QSX5Cft5CtQLmBUlpWC382SSF7Hw=", "secure_core": true, "ips": [ "185.159.156.37" ] }, { "vpn": "openvpn", "country": "Japan", "city": "Tokyo", "server_name": "SE-JP#1", "hostname": "node-jp-14.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.56" ] }, { "vpn": "wireguard", "country": "Japan", "city": "Tokyo", "server_name": "SE-JP#1", "hostname": "node-jp-14.protonvpn.net", "wgpubkey": "lDqI02+FFU6CeisxCSKxVgi28TKT9SowZybo1M4abEU=", "secure_core": true, "ips": [ "185.159.156.56" ] }, { "vpn": "openvpn", "country": "Jordan", "city": "Amman", "server_name": "JO#10", "hostname": "jo-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.104" ] }, { "vpn": "wireguard", "country": "Jordan", "city": "Amman", "server_name": "JO#10", "hostname": "jo-03.protonvpn.net", "wgpubkey": "LRbycrAdgsZ4vjV906N6bGJPhR0lzBiM3KYOmEEMFk4=", "port_forward": true, "ips": [ "74.118.126.104" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "city": "Astana", "server_name": "KZ#10", "hostname": "node-kz-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.138.11.2" ] }, { "vpn": "wireguard", "country": "Kazakhstan", "city": "Astana", "server_name": "KZ#10", "hostname": "node-kz-03.protonvpn.net", "wgpubkey": "T3xWif2tkTCksRTMJ5rybIUxFAGRtN0DTJUB7bkZeWg=", "stream": true, "port_forward": true, "ips": [ "217.138.11.2" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "city": "Astana", "server_name": "KZ#25", "hostname": "kz-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.80" ] }, { "vpn": "wireguard", "country": "Kazakhstan", "city": "Astana", "server_name": "KZ#25", "hostname": "kz-02.protonvpn.net", "wgpubkey": "BeSF4AZ+TyRVH9uKPv+h3wsE5VxKUCKI1lwnCZ9DQFU=", "stream": true, "port_forward": true, "ips": [ "79.135.105.80" ] }, { "vpn": "openvpn", "country": "Kenya", "city": "Nairobi", "server_name": "KE#5", "hostname": "ke-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.108" ] }, { "vpn": "wireguard", "country": "Kenya", "city": "Nairobi", "server_name": "KE#5", "hostname": "ke-03.protonvpn.net", "wgpubkey": "RkAD/FzM/P0hJ7kCVUcbq9apozsgyoBTbCxhnR94+Ho=", "port_forward": true, "ips": [ "74.118.126.108" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "server_name": "KR#16", "hostname": "node-kr-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.110.55.2" ] }, { "vpn": "wireguard", "country": "Korea", "city": "Seoul", "server_name": "KR#16", "hostname": "node-kr-03.protonvpn.net", "wgpubkey": "kwmJ9x2fBnD1PyYM9alhOW835krOfgVCr6ArMLA1pGk=", "stream": true, "port_forward": true, "ips": [ "79.110.55.2" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "server_name": "KR#26", "hostname": "node-kr-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "141.98.213.194" ] }, { "vpn": "wireguard", "country": "Korea", "city": "Seoul", "server_name": "KR#26", "hostname": "node-kr-04.protonvpn.net", "wgpubkey": "xt9F1mkgYqn7egJQnDILEyPrBVBlXZS7X4Yt2qwXNQU=", "stream": true, "port_forward": true, "ips": [ "141.98.213.194" ] }, { "vpn": "openvpn", "country": "Korea", "city": "Seoul", "server_name": "SE-KR#2", "hostname": "node-kr-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.87" ] }, { "vpn": "wireguard", "country": "Korea", "city": "Seoul", "server_name": "SE-KR#2", "hostname": "node-kr-03.protonvpn.net", "wgpubkey": "kwmJ9x2fBnD1PyYM9alhOW835krOfgVCr6ArMLA1pGk=", "secure_core": true, "ips": [ "185.159.156.87" ] }, { "vpn": "openvpn", "country": "Kuwait", "city": "Kuwait City", "server_name": "KW#5", "hostname": "kw-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.116" ] }, { "vpn": "wireguard", "country": "Kuwait", "city": "Kuwait City", "server_name": "KW#5", "hostname": "kw-03.protonvpn.net", "wgpubkey": "Ekxfsh904su7Q2mxh87MZX16rqsGSxXY1z/06PoiMWc=", "port_forward": true, "ips": [ "74.118.126.116" ] }, { "vpn": "openvpn", "country": "Lao People's Democratic Republic", "city": "Vientiane", "server_name": "LA#10", "hostname": "node-la-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "109.111.197.2" ] }, { "vpn": "wireguard", "country": "Lao People's Democratic Republic", "city": "Vientiane", "server_name": "LA#10", "hostname": "node-la-01.protonvpn.net", "wgpubkey": "SyASI3fcxtRnBSu/JX6s1z2COcFEh1BnjuOAhdZpdkg=", "stream": true, "port_forward": true, "ips": [ "109.111.197.2" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "server_name": "CH-LV#2", "hostname": "node-lv-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.61" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "server_name": "CH-LV#2", "hostname": "node-lv-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.81" ] }, { "vpn": "wireguard", "country": "Latvia", "city": "Riga", "server_name": "CH-LV#2", "hostname": "node-lv-01.protonvpn.net", "wgpubkey": "Kpf5yweL4i6lC7Tx4AeVExvJ7zwwP/SyNiP5sdHyBDA=", "secure_core": true, "ips": [ "62.169.136.61" ] }, { "vpn": "wireguard", "country": "Latvia", "city": "Riga", "server_name": "CH-LV#2", "hostname": "node-lv-01.protonvpn.net", "wgpubkey": "Kpf5yweL4i6lC7Tx4AeVExvJ7zwwP/SyNiP5sdHyBDA=", "secure_core": true, "ips": [ "62.169.136.81" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "server_name": "LV#1", "hostname": "node-lv-01.protonvpn.net", "tcp": true, "udp": true, "ips": [ "196.240.54.114" ] }, { "vpn": "wireguard", "country": "Latvia", "city": "Riga", "server_name": "LV#1", "hostname": "node-lv-01.protonvpn.net", "wgpubkey": "Kpf5yweL4i6lC7Tx4AeVExvJ7zwwP/SyNiP5sdHyBDA=", "ips": [ "196.240.54.114" ] }, { "vpn": "openvpn", "country": "Latvia", "city": "Riga", "server_name": "LV#11", "hostname": "node-lv-02.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "85.203.39.226" ] }, { "vpn": "wireguard", "country": "Latvia", "city": "Riga", "server_name": "LV#11", "hostname": "node-lv-02.protonvpn.net", "wgpubkey": "X+TnM1PwewbKon/eJBH5Lt5eG5R76N+NQq+/ZFMppXM=", "port_forward": true, "ips": [ "85.203.39.226" ] }, { "vpn": "openvpn", "country": "Libya", "city": "Tripoli", "server_name": "LY#5", "hostname": "ly-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.132" ] }, { "vpn": "wireguard", "country": "Libya", "city": "Tripoli", "server_name": "LY#5", "hostname": "ly-03.protonvpn.net", "wgpubkey": "X5P6s2jwJfDeN+6W7RSuOy4sbGayJQOTAvt11lVJ+Go=", "port_forward": true, "ips": [ "74.118.126.132" ] }, { "vpn": "openvpn", "country": "Lithuania", "city": "Siauliai", "server_name": "LT#38", "hostname": "node-lt-01b.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.151.45.4" ] }, { "vpn": "wireguard", "country": "Lithuania", "city": "Siauliai", "server_name": "LT#38", "hostname": "node-lt-01b.protonvpn.net", "wgpubkey": "bRGHR+5TEOvd2KR2dJJm9nOH1bboFu2omY4pW2EVZH8=", "stream": true, "port_forward": true, "ips": [ "45.151.45.4" ] }, { "vpn": "openvpn", "country": "Lithuania", "city": "Vilnius", "server_name": "CH-LT#2", "hostname": "node-lt-01b.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.110" ] }, { "vpn": "wireguard", "country": "Lithuania", "city": "Vilnius", "server_name": "CH-LT#2", "hostname": "node-lt-01b.protonvpn.net", "wgpubkey": "bRGHR+5TEOvd2KR2dJJm9nOH1bboFu2omY4pW2EVZH8=", "secure_core": true, "ips": [ "62.169.136.110" ] }, { "vpn": "openvpn", "country": "Lithuania", "city": "Vilnius", "server_name": "LT#11", "hostname": "node-lt-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.243.2" ] }, { "vpn": "wireguard", "country": "Lithuania", "city": "Vilnius", "server_name": "LT#11", "hostname": "node-lt-02.protonvpn.net", "wgpubkey": "BqyPHId2xAJj+iblt82NpDvvFu4BjhHqi2bYBKB20QE=", "stream": true, "port_forward": true, "ips": [ "130.195.243.2" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "server_name": "CH-LU#2", "hostname": "node-lu-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.9" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "server_name": "CH-LU#2", "hostname": "node-lu-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.48" ] }, { "vpn": "wireguard", "country": "Luxembourg", "city": "Luxembourg", "server_name": "CH-LU#2", "hostname": "node-lu-04.protonvpn.net", "wgpubkey": "buYqE3X8Wf8X/v5NtHVXYgLk45+2og8MVEbgQAkEyBw=", "secure_core": true, "ips": [ "62.169.136.9" ] }, { "vpn": "wireguard", "country": "Luxembourg", "city": "Luxembourg", "server_name": "CH-LU#2", "hostname": "node-lu-04.protonvpn.net", "wgpubkey": "buYqE3X8Wf8X/v5NtHVXYgLk45+2og8MVEbgQAkEyBw=", "secure_core": true, "ips": [ "79.135.104.48" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "server_name": "LU#12", "hostname": "node-lu-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "5.253.204.194" ] }, { "vpn": "wireguard", "country": "Luxembourg", "city": "Luxembourg", "server_name": "LU#12", "hostname": "node-lu-05.protonvpn.net", "wgpubkey": "5LDaU9dVpG9EKd9fcfWskFqbbPy/HudT8QGt0Eq4JB4=", "stream": true, "port_forward": true, "ips": [ "5.253.204.194" ] }, { "vpn": "openvpn", "country": "Luxembourg", "city": "Luxembourg", "server_name": "LU#17", "hostname": "node-lu-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "5.253.204.162" ] }, { "vpn": "wireguard", "country": "Luxembourg", "city": "Luxembourg", "server_name": "LU#17", "hostname": "node-lu-04.protonvpn.net", "wgpubkey": "buYqE3X8Wf8X/v5NtHVXYgLk45+2og8MVEbgQAkEyBw=", "stream": true, "port_forward": true, "ips": [ "5.253.204.162" ] }, { "vpn": "openvpn", "country": "Macedonia", "city": "Skopje", "server_name": "CH-MK#2", "hostname": "node-mk-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.150" ] }, { "vpn": "wireguard", "country": "Macedonia", "city": "Skopje", "server_name": "CH-MK#2", "hostname": "node-mk-01.protonvpn.net", "wgpubkey": "odwcNO9B/wAekASQJpvKtBRO1NGRsZAKuuhAM75UYF4=", "secure_core": true, "ips": [ "62.169.136.150" ] }, { "vpn": "openvpn", "country": "Macedonia", "city": "Skopje", "server_name": "MK#01", "hostname": "node-mk-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "185.229.25.116" ] }, { "vpn": "wireguard", "country": "Macedonia", "city": "Skopje", "server_name": "MK#01", "hostname": "node-mk-01.protonvpn.net", "wgpubkey": "odwcNO9B/wAekASQJpvKtBRO1NGRsZAKuuhAM75UYF4=", "stream": true, "ips": [ "185.229.25.116" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Johor Bahru", "server_name": "MY#33", "hostname": "node-my-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "37.0.12.226" ] }, { "vpn": "wireguard", "country": "Malaysia", "city": "Johor Bahru", "server_name": "MY#33", "hostname": "node-my-01.protonvpn.net", "wgpubkey": "q1kKuYwINzdtZixXob7kFce9AtP0O5fbeR2z7XALbiw=", "stream": true, "port_forward": true, "ips": [ "37.0.12.226" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "server_name": "CH-MY#2", "hostname": "node-my-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.95" ] }, { "vpn": "wireguard", "country": "Malaysia", "city": "Kuala Lumpur", "server_name": "CH-MY#2", "hostname": "node-my-01.protonvpn.net", "wgpubkey": "q1kKuYwINzdtZixXob7kFce9AtP0O5fbeR2z7XALbiw=", "secure_core": true, "ips": [ "62.169.136.95" ] }, { "vpn": "openvpn", "country": "Malaysia", "city": "Kuala Lumpur", "server_name": "MY#12", "hostname": "my-09.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.126.1" ] }, { "vpn": "wireguard", "country": "Malaysia", "city": "Kuala Lumpur", "server_name": "MY#12", "hostname": "my-09.protonvpn.net", "wgpubkey": "JMGP8LdMl8N5Q8lXt25cPpvMcWvzoVjP/bAZ+88LUCM=", "stream": true, "port_forward": true, "ips": [ "45.83.126.1" ] }, { "vpn": "openvpn", "country": "Malta", "city": "Valletta", "server_name": "IS-MT#1", "hostname": "node-mt-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.204" ] }, { "vpn": "wireguard", "country": "Malta", "city": "Valletta", "server_name": "IS-MT#1", "hostname": "node-mt-01.protonvpn.net", "wgpubkey": "fX8h7YY6jz+Brn6LpO7Om+Zdp00HbpUKyyC7Hpc2Fz8=", "secure_core": true, "ips": [ "185.159.158.204" ] }, { "vpn": "openvpn", "country": "Malta", "city": "Valletta", "server_name": "MT#1", "hostname": "node-mt-01.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "178.249.212.161" ] }, { "vpn": "wireguard", "country": "Malta", "city": "Valletta", "server_name": "MT#1", "hostname": "node-mt-01.protonvpn.net", "wgpubkey": "fX8h7YY6jz+Brn6LpO7Om+Zdp00HbpUKyyC7Hpc2Fz8=", "port_forward": true, "ips": [ "178.249.212.161" ] }, { "vpn": "openvpn", "country": "Mauritania", "city": "Nouakchott", "server_name": "MR#11", "hostname": "mr-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.139.1" ] }, { "vpn": "wireguard", "country": "Mauritania", "city": "Nouakchott", "server_name": "MR#11", "hostname": "mr-01.protonvpn.net", "wgpubkey": "D3koDcX6PBuFCk4BRcBdMdutViAhPTiCi2mho7ei6gE=", "stream": true, "port_forward": true, "ips": [ "45.83.139.1" ] }, { "vpn": "openvpn", "country": "Mauritania", "city": "Nouakchott", "server_name": "MR#29", "hostname": "mr-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.144" ] }, { "vpn": "wireguard", "country": "Mauritania", "city": "Nouakchott", "server_name": "MR#29", "hostname": "mr-03.protonvpn.net", "wgpubkey": "Nc+yZG/HP7rcmzGX/vq4TFapROjWMKCV8nUYRTDKQjw=", "port_forward": true, "ips": [ "74.118.126.144" ] }, { "vpn": "openvpn", "country": "Mauritius", "city": "Port Louis", "server_name": "MU#29", "hostname": "mu-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.152" ] }, { "vpn": "wireguard", "country": "Mauritius", "city": "Port Louis", "server_name": "MU#29", "hostname": "mu-03.protonvpn.net", "wgpubkey": "7qe93pOVa2viu1iuY0BN3dKpRLSjR8LaXKtm44izdUo=", "port_forward": true, "ips": [ "74.118.126.152" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Mexico City", "server_name": "CH-MX#2", "hostname": "node-mx-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.218" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Mexico City", "server_name": "CH-MX#2", "hostname": "node-mx-03.protonvpn.net", "wgpubkey": "tHwmpVZsh4yfoA9/vWbacF6cWcXUKE9wuDP5bz66oh8=", "secure_core": true, "ips": [ "62.169.136.218" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Mexico City", "server_name": "MX#10", "hostname": "node-mx-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.50.107" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Mexico City", "server_name": "MX#10", "hostname": "node-mx-03.protonvpn.net", "wgpubkey": "tHwmpVZsh4yfoA9/vWbacF6cWcXUKE9wuDP5bz66oh8=", "stream": true, "port_forward": true, "ips": [ "138.199.50.107" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Mexico City", "server_name": "MX#28", "hostname": "mx-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.252.113.9" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Mexico City", "server_name": "MX#28", "hostname": "mx-04.protonvpn.net", "wgpubkey": "G/3o3VMavYShMnCn6wN1XLNKrAzUYmK7NAEXqmpTCgo=", "stream": true, "port_forward": true, "ips": [ "84.252.113.9" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Mexico City", "server_name": "MX-FREE#3", "hostname": "node-mx-07.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.102.224.33" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Mexico City", "server_name": "MX-FREE#3", "hostname": "node-mx-07.protonvpn.net", "wgpubkey": "rNyiLhJsBGoHd0A6Yrzt6c5DHuD3urE5+ZN3DZITfD8=", "free": true, "ips": [ "149.102.224.33" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Mexico City", "server_name": "MX-FREE#7", "hostname": "node-mx-11.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.88.17.182" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Mexico City", "server_name": "MX-FREE#7", "hostname": "node-mx-11.protonvpn.net", "wgpubkey": "G1H7jHJjOxnNXy0GPQNRT5ikSESyagGePfG1COP+4Hs=", "free": true, "ips": [ "149.88.17.182" ] }, { "vpn": "openvpn", "country": "Mexico", "city": "Querétaro", "server_name": "MX#49", "hostname": "node-mx-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.180.1" ] }, { "vpn": "wireguard", "country": "Mexico", "city": "Querétaro", "server_name": "MX#49", "hostname": "node-mx-04.protonvpn.net", "wgpubkey": "1xu8nfLw2vwZzNJrxH0clvo37vfGHsUCk4QHeG2WijM=", "stream": true, "port_forward": true, "ips": [ "79.127.180.1" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "server_name": "MD#18", "hostname": "node-md-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.240.2" ] }, { "vpn": "wireguard", "country": "Moldova", "city": "Chisinau", "server_name": "MD#18", "hostname": "node-md-03.protonvpn.net", "wgpubkey": "CwSobiC0UppggXzFVgwdWSBOeUvL7gnE3HZdhz7P9h8=", "stream": true, "port_forward": true, "ips": [ "130.195.240.2" ] }, { "vpn": "openvpn", "country": "Moldova", "city": "Chisinau", "server_name": "MD#45", "hostname": "node-md-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "185.163.44.137" ] }, { "vpn": "wireguard", "country": "Moldova", "city": "Chisinau", "server_name": "MD#45", "hostname": "node-md-02.protonvpn.net", "wgpubkey": "Os6z+mP8fCp+EWHXuXs3IULqkVO/fWLrln/eNRAeKh4=", "stream": true, "ips": [ "185.163.44.137" ] }, { "vpn": "openvpn", "country": "Mongolia", "city": "Ulaanbaatar", "server_name": "MN#11", "hostname": "node-mn-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "37.191.127.2" ] }, { "vpn": "wireguard", "country": "Mongolia", "city": "Ulaanbaatar", "server_name": "MN#11", "hostname": "node-mn-01.protonvpn.net", "wgpubkey": "Zf4BR7HRngHhqg534op2mFjQw/RLE2uQgjM57wZplV0=", "stream": true, "port_forward": true, "ips": [ "37.191.127.2" ] }, { "vpn": "openvpn", "country": "Montenegro", "city": "Podgorica", "server_name": "ME#25", "hostname": "me-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.88" ] }, { "vpn": "wireguard", "country": "Montenegro", "city": "Podgorica", "server_name": "ME#25", "hostname": "me-02.protonvpn.net", "wgpubkey": "B6PI6//tZOVseLmGCau3oqgfPUnZh1cXSttr1HqpZXA=", "stream": true, "port_forward": true, "ips": [ "79.135.105.88" ] }, { "vpn": "openvpn", "country": "Morocco", "city": "Casablanca", "server_name": "MA#18", "hostname": "node-ma-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.217.2" ] }, { "vpn": "wireguard", "country": "Morocco", "city": "Casablanca", "server_name": "MA#18", "hostname": "node-ma-02.protonvpn.net", "wgpubkey": "xvndUmxpaIkjQx7io9PWBkj+hkacfQWJKPmrhaliXEU=", "stream": true, "port_forward": true, "ips": [ "130.195.217.2" ] }, { "vpn": "openvpn", "country": "Morocco", "city": "Rabat", "server_name": "MA#13", "hostname": "ma-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "74.118.126.136" ] }, { "vpn": "wireguard", "country": "Morocco", "city": "Rabat", "server_name": "MA#13", "hostname": "ma-02.protonvpn.net", "wgpubkey": "tDBv3kVV/1qtUB1qMf+olC+JRGMEt06YSwMjWbUs4xk=", "stream": true, "port_forward": true, "ips": [ "74.118.126.136" ] }, { "vpn": "openvpn", "country": "Mozambique", "city": "Maputo", "server_name": "MZ#12", "hostname": "mz-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.9.36.1" ] }, { "vpn": "wireguard", "country": "Mozambique", "city": "Maputo", "server_name": "MZ#12", "hostname": "mz-01.protonvpn.net", "wgpubkey": "5wpOQU+U6T0g42rDXFcP/SWgzSigjH7tgQ322+r6AWo=", "stream": true, "port_forward": true, "ips": [ "193.9.36.1" ] }, { "vpn": "openvpn", "country": "Myanmar", "city": "Yangon", "server_name": "CH-MM#2", "hostname": "node-mm-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.210" ] }, { "vpn": "wireguard", "country": "Myanmar", "city": "Yangon", "server_name": "CH-MM#2", "hostname": "node-mm-01.protonvpn.net", "wgpubkey": "gbUzD44E0V5eUqGbYKo+NM/sVt1KJwQjS2TxPYQPK18=", "secure_core": true, "ips": [ "62.169.136.210" ] }, { "vpn": "openvpn", "country": "Myanmar", "city": "Yangon", "server_name": "MM#01", "hostname": "node-mm-01.protonvpn.net", "tcp": true, "udp": true, "ips": [ "138.199.60.87" ] }, { "vpn": "wireguard", "country": "Myanmar", "city": "Yangon", "server_name": "MM#01", "hostname": "node-mm-01.protonvpn.net", "wgpubkey": "gbUzD44E0V5eUqGbYKo+NM/sVt1KJwQjS2TxPYQPK18=", "ips": [ "138.199.60.87" ] }, { "vpn": "openvpn", "country": "Nepal", "city": "Kathmandu", "server_name": "NP#13", "hostname": "np-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.125.1" ] }, { "vpn": "wireguard", "country": "Nepal", "city": "Kathmandu", "server_name": "NP#13", "hostname": "np-01.protonvpn.net", "wgpubkey": "5YAEl39mdRYD9IWXIuyfwzAhLzoFjpQvrk/WZgsD+Vs=", "stream": true, "port_forward": true, "ips": [ "45.83.125.1" ] }, { "vpn": "openvpn", "country": "Nepal", "city": "Kathmandu", "server_name": "NP#27", "hostname": "np-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.252.2" ] }, { "vpn": "wireguard", "country": "Nepal", "city": "Kathmandu", "server_name": "NP#27", "hostname": "np-02.protonvpn.net", "wgpubkey": "bRufNqCofhlIFDlowt3R7PCAPbsVJg5aFbRkeSkuCGw=", "stream": true, "port_forward": true, "ips": [ "146.70.252.2" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-165.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.197" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-165.protonvpn.net", "wgpubkey": "+veOJwVuUpP9QAx4q3krdh4pTBgOyqew1TTTDnyITRg=", "secure_core": true, "ips": [ "62.169.136.197" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-166.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.198" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-166.protonvpn.net", "wgpubkey": "WTKsVAtA2WFjJQmOQTsdvasBOG1vxmbJrnu0f0cpVSk=", "secure_core": true, "ips": [ "62.169.136.198" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-167.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.199" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-167.protonvpn.net", "wgpubkey": "MdCt0zxKeG5K8yECIBFYeXwrS40E2QC03cCH1BWCVVY=", "secure_core": true, "ips": [ "62.169.136.199" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-168.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.91" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-168.protonvpn.net", "wgpubkey": "s2Eo2xDw/yvvLjltF8VJT84k+T1K1+veCEE9uKC6gjo=", "secure_core": true, "ips": [ "62.169.136.91" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-204.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.236" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-204.protonvpn.net", "wgpubkey": "Zee6nAIrhwMYEHBolukyS/ir3FK76KRf0OE8FGtKUnI=", "secure_core": true, "ips": [ "62.169.136.236" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-209.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.96" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-209.protonvpn.net", "wgpubkey": "YgGdHIXeCQgBc4nXKJ4vct8S0fPqBpTgk4I8gh3uMEg=", "secure_core": true, "ips": [ "62.169.136.96" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-211.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.103" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "CH-NL#2", "hostname": "node-nl-211.protonvpn.net", "wgpubkey": "3P4ocB2/quwPDO74RB/tUx8VSqeDWPfGs5NrhL/qnFc=", "secure_core": true, "ips": [ "62.169.136.103" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "IS-NL#1", "hostname": "node-nl-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.55" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "IS-NL#1", "hostname": "node-nl-01.protonvpn.net", "wgpubkey": "127jo9F8kpNz/SQfhY2o5I8HB7X0VLMJVSaMGGuJowQ=", "secure_core": true, "ips": [ "185.159.158.55" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "IS-NL#1", "hostname": "node-nl-214.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.249" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "IS-NL#1", "hostname": "node-nl-214.protonvpn.net", "wgpubkey": "nPCWC0rx9ZXEkzh7dxMUTO5/HUqDaLaD827Yp1sJCQU=", "secure_core": true, "ips": [ "185.159.158.249" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "IS-NL#1", "hostname": "node-nl-221.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.144" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "IS-NL#1", "hostname": "node-nl-221.protonvpn.net", "wgpubkey": "/BgbOnOQQB6wbe3jgXLYCwUBPI26BDf5zq6CyH3CzWk=", "secure_core": true, "ips": [ "185.159.158.144" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#316", "hostname": "node-nl-209.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.107.44.110" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#316", "hostname": "node-nl-209.protonvpn.net", "wgpubkey": "YgGdHIXeCQgBc4nXKJ4vct8S0fPqBpTgk4I8gh3uMEg=", "stream": true, "port_forward": true, "ips": [ "185.107.44.110" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#412", "hostname": "node-nl-168.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "212.92.104.225" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#412", "hostname": "node-nl-168.protonvpn.net", "wgpubkey": "s2Eo2xDw/yvvLjltF8VJT84k+T1K1+veCEE9uKC6gjo=", "stream": true, "port_forward": true, "ips": [ "212.92.104.225" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#512", "hostname": "node-nl-215.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.69.224.3" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#512", "hostname": "node-nl-215.protonvpn.net", "wgpubkey": "9E5iMJSAG7GKxLXJ+AmiE66vfxx41V7aknXCHmvbqlk=", "stream": true, "port_forward": true, "ips": [ "103.69.224.3" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#612", "hostname": "node-nl-218.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "46.29.25.4" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#612", "hostname": "node-nl-218.protonvpn.net", "wgpubkey": "jSrxQTLrvNPkljpa+F0OZT53mgTTwQA65oTMkqf382A=", "stream": true, "port_forward": true, "ips": [ "46.29.25.4" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#712", "hostname": "node-nl-221.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "46.29.25.6" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#712", "hostname": "node-nl-221.protonvpn.net", "wgpubkey": "/BgbOnOQQB6wbe3jgXLYCwUBPI26BDf5zq6CyH3CzWk=", "stream": true, "port_forward": true, "ips": [ "46.29.25.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#843", "hostname": "node-nl-309.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.196.67" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#843", "hostname": "node-nl-309.protonvpn.net", "wgpubkey": "JrE+gkEbcY1NU5Hhgc6lAGsP7YJmLykA1h2nSLfUJiM=", "stream": true, "port_forward": true, "ips": [ "169.150.196.67" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#943", "hostname": "node-nl-313.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.196.155" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL#943", "hostname": "node-nl-313.protonvpn.net", "wgpubkey": "PWmBrKma8F9Iy2HYbO3uCipW3sXJfESGJUQh08rTeR4=", "stream": true, "port_forward": true, "ips": [ "169.150.196.155" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL-FREE#125", "hostname": "node-nl-161.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "185.107.56.49" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL-FREE#125", "hostname": "node-nl-161.protonvpn.net", "wgpubkey": "miiJL4putHojjkN0tOnNHu1/ae8rxvrBPCF47mqWnko=", "free": true, "ips": [ "185.107.56.49" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL-FREE#129", "hostname": "node-nl-169.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "89.38.99.72" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "NL-FREE#129", "hostname": "node-nl-169.protonvpn.net", "wgpubkey": "Wj4jupUpBGVmyMmpME1qw1s2wAxDbygPfz2+ATVGC3c=", "free": true, "ips": [ "89.38.99.72" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-216.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.133" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-216.protonvpn.net", "wgpubkey": "D8Sqlj3TYwwnTkycV08HAlxcXXS3Ura4oamz8rB5ImM=", "secure_core": true, "ips": [ "185.159.156.133" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-217.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.168" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-217.protonvpn.net", "wgpubkey": "mLIAiran5fjJgw78ygzH22z6GdVhbVnfqE4SV9eXmzY=", "secure_core": true, "ips": [ "185.159.156.168" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-218.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.169" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-218.protonvpn.net", "wgpubkey": "jSrxQTLrvNPkljpa+F0OZT53mgTTwQA65oTMkqf382A=", "secure_core": true, "ips": [ "185.159.156.169" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-219.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.170" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-219.protonvpn.net", "wgpubkey": "afmlPt2O8Y+u4ykaOpMoO6q1JkbArZsaoFcpNXudXCg=", "secure_core": true, "ips": [ "185.159.156.170" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-220.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.171" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-220.protonvpn.net", "wgpubkey": "lK9RKsf9y5/jehblqhoSGV7FtlErG7QqLy13G3IV2Ao=", "secure_core": true, "ips": [ "185.159.156.171" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-28.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.72" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-28.protonvpn.net", "wgpubkey": "oVHQPMeCCfPpGhPjEKAFG94wrSmn5MR/kGOThxcefVU=", "secure_core": true, "ips": [ "185.159.156.72" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-29.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.73" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-29.protonvpn.net", "wgpubkey": "9jkx1qC/7bNkn5rlOfxblxoN11MGZFYobwbWXZ7Sql8=", "secure_core": true, "ips": [ "185.159.156.73" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-30.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.74" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-30.protonvpn.net", "wgpubkey": "zG1tc+Jr58YDfUPu8l8yyk7b7ljC4m/Ncb/1AOY2oBM=", "secure_core": true, "ips": [ "185.159.156.74" ] }, { "vpn": "openvpn", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-53.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.91" ] }, { "vpn": "wireguard", "country": "Netherlands", "city": "Amsterdam", "server_name": "SE-NL#1", "hostname": "node-nl-53.protonvpn.net", "wgpubkey": "/i7jCNpcqVBUkY07gVlILN4nFdvZHmxvreAOgLGoZGg=", "secure_core": true, "ips": [ "185.159.156.91" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "server_name": "CH-NZ#2", "hostname": "node-nz-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.97" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "server_name": "CH-NZ#2", "hostname": "node-nz-03.protonvpn.net", "wgpubkey": "/QKfRMQaQKdQ4UAwmQc8KKShfc3Mjl1HcKiiGEoWwTU=", "secure_core": true, "ips": [ "62.169.136.97" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "server_name": "CH-NZ#2", "hostname": "node-nz-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.213" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "server_name": "CH-NZ#2", "hostname": "node-nz-04.protonvpn.net", "wgpubkey": "8Rm0uoG0H9BcSuA67/5gBv8tJgFZXNLm4sqEtkB9Nmw=", "secure_core": true, "ips": [ "62.169.136.213" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#16", "hostname": "node-nz-03.protonvpn.net", "tcp": true, "udp": true, "ips": [ "116.90.74.178" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#16", "hostname": "node-nz-03.protonvpn.net", "wgpubkey": "/QKfRMQaQKdQ4UAwmQc8KKShfc3Mjl1HcKiiGEoWwTU=", "ips": [ "116.90.74.178" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#22", "hostname": "node-nz-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.75.11.18" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#22", "hostname": "node-nz-04.protonvpn.net", "wgpubkey": "8Rm0uoG0H9BcSuA67/5gBv8tJgFZXNLm4sqEtkB9Nmw=", "stream": true, "port_forward": true, "ips": [ "103.75.11.18" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#36", "hostname": "node-nz-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.75.11.130" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#36", "hostname": "node-nz-05.protonvpn.net", "wgpubkey": "K0IdhKiVr1DZOWL/tc3ojKLzkdfkcdXbdqfXCRz3bHk=", "stream": true, "port_forward": true, "ips": [ "103.75.11.130" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#47", "hostname": "node-nz-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.75.11.178" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#47", "hostname": "node-nz-06.protonvpn.net", "wgpubkey": "o42XUMTr94SmEvM+1vGWvSwgn9eieVsnOIjO9l1PPWg=", "stream": true, "port_forward": true, "ips": [ "103.75.11.178" ] }, { "vpn": "openvpn", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#63", "hostname": "node-nz-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "103.75.11.162" ] }, { "vpn": "wireguard", "country": "New Zealand", "city": "Auckland", "server_name": "NZ#63", "hostname": "node-nz-07.protonvpn.net", "wgpubkey": "RIMZBHphjnM+2drxU3WGaOapL6j26rJleTGx1GpCG1A=", "stream": true, "port_forward": true, "ips": [ "103.75.11.162" ] }, { "vpn": "openvpn", "country": "Nigeria", "city": "Abuja", "server_name": "NG#1", "hostname": "node-es-07.protonvpn.net", "tcp": true, "udp": true, "ips": [ "185.76.11.27" ] }, { "vpn": "wireguard", "country": "Nigeria", "city": "Abuja", "server_name": "NG#1", "hostname": "node-es-07.protonvpn.net", "wgpubkey": "xmy2vCo/o3h9gltwlNc5M79hwqOwlJmeHHp00Y/SSQU=", "ips": [ "185.76.11.27" ] }, { "vpn": "openvpn", "country": "Nigeria", "city": "Lagos", "server_name": "NG#14", "hostname": "node-ng-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.149.65" ] }, { "vpn": "wireguard", "country": "Nigeria", "city": "Lagos", "server_name": "NG#14", "hostname": "node-ng-01.protonvpn.net", "wgpubkey": "X96XImRSoyqbsbWe7YvV2yK8oqwJpFfcvov+INdKfjA=", "stream": true, "port_forward": true, "ips": [ "79.127.149.65" ] }, { "vpn": "openvpn", "country": "Nigeria", "city": "Lagos", "server_name": "SE-NG#1", "hostname": "node-es-07.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.88" ] }, { "vpn": "wireguard", "country": "Nigeria", "city": "Lagos", "server_name": "SE-NG#1", "hostname": "node-es-07.protonvpn.net", "wgpubkey": "xmy2vCo/o3h9gltwlNc5M79hwqOwlJmeHHp00Y/SSQU=", "secure_core": true, "ips": [ "185.159.156.88" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "CH-NO#2", "hostname": "node-no-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.245" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "CH-NO#2", "hostname": "node-no-05.protonvpn.net", "wgpubkey": "KOITt3KQ72LHPbpVp7kp4cQo/qw2qvKPrN732UTWWFw=", "secure_core": true, "ips": [ "62.169.136.245" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "CH-NO#2", "hostname": "node-no-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.240" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "CH-NO#2", "hostname": "node-no-06.protonvpn.net", "wgpubkey": "sSbgwNAoZtBVWlg6ZLnFDrXTM3YFTpPVKgE4DtzSUw0=", "secure_core": true, "ips": [ "62.169.136.240" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "IS-NO#1", "hostname": "node-no-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.145" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "IS-NO#1", "hostname": "node-no-03.protonvpn.net", "wgpubkey": "lY0yD6apqGWIPE/O4FbCysYpveUm0YkflOKrQf8Xhw0=", "secure_core": true, "ips": [ "185.159.158.145" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "NO#13", "hostname": "node-no-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "84.247.50.178" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "NO#13", "hostname": "node-no-03.protonvpn.net", "wgpubkey": "lY0yD6apqGWIPE/O4FbCysYpveUm0YkflOKrQf8Xhw0=", "stream": true, "ips": [ "84.247.50.178" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "NO#23", "hostname": "node-no-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "146.70.170.18" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "NO#23", "hostname": "node-no-05.protonvpn.net", "wgpubkey": "KOITt3KQ72LHPbpVp7kp4cQo/qw2qvKPrN732UTWWFw=", "stream": true, "ips": [ "146.70.170.18" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "NO#33", "hostname": "node-no-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "146.70.170.2" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "NO#33", "hostname": "node-no-06.protonvpn.net", "wgpubkey": "sSbgwNAoZtBVWlg6ZLnFDrXTM3YFTpPVKgE4DtzSUw0=", "stream": true, "ips": [ "146.70.170.2" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "NO#46", "hostname": "node-no-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.205.129" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "NO#46", "hostname": "node-no-07.protonvpn.net", "wgpubkey": "/0vWJERpbXUXRThD8pnWYfZ3HrEaRTp5ZBcE2YQw7TI=", "stream": true, "port_forward": true, "ips": [ "95.173.205.129" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "NO-FREE#10", "hostname": "node-no-17.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "95.173.205.161" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "NO-FREE#10", "hostname": "node-no-17.protonvpn.net", "wgpubkey": "N9uq1Vwlu7tHTzG13/P/Plo8m4HJLeal8rdHeD96MxE=", "free": true, "ips": [ "95.173.205.161" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "NO-FREE#5", "hostname": "node-no-12.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "95.173.205.167" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "NO-FREE#5", "hostname": "node-no-12.protonvpn.net", "wgpubkey": "2s+PN1/EcGL6LAK7YamHOYqL0waTlwc43+RR6+hxORQ=", "free": true, "ips": [ "95.173.205.167" ] }, { "vpn": "openvpn", "country": "Norway", "city": "Oslo", "server_name": "NO-FREE#6", "hostname": "node-no-13.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "95.173.205.165" ] }, { "vpn": "wireguard", "country": "Norway", "city": "Oslo", "server_name": "NO-FREE#6", "hostname": "node-no-13.protonvpn.net", "wgpubkey": "84dSFrHWsJr34E8GWyXZsxFourH7+vbjUoJWlZmS13I=", "free": true, "ips": [ "95.173.205.165" ] }, { "vpn": "openvpn", "country": "Oman", "city": "Muscat", "server_name": "OM#10", "hostname": "om-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "74.118.126.172" ] }, { "vpn": "wireguard", "country": "Oman", "city": "Muscat", "server_name": "OM#10", "hostname": "om-03.protonvpn.net", "wgpubkey": "xaNomULH8zj9tHv5IZexfXwY2m3IOwA/44fG1AzK50U=", "stream": true, "port_forward": true, "ips": [ "74.118.126.172" ] }, { "vpn": "openvpn", "country": "Pakistan", "city": "Karachi", "server_name": "PK#32", "hostname": "node-pk-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.113.171.2" ] }, { "vpn": "wireguard", "country": "Pakistan", "city": "Karachi", "server_name": "PK#32", "hostname": "node-pk-02.protonvpn.net", "wgpubkey": "EpJawyrVNWloAqYl21MB/plXPNcikWbGHHl3u/X1vVY=", "stream": true, "port_forward": true, "ips": [ "217.113.171.2" ] }, { "vpn": "openvpn", "country": "Panama", "city": "Panama City", "server_name": "PA#1", "hostname": "node-pa-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "51.179.177.2" ] }, { "vpn": "wireguard", "country": "Panama", "city": "Panama City", "server_name": "PA#1", "hostname": "node-pa-01.protonvpn.net", "wgpubkey": "6jX1FeITy7tgIVzMC8SzQqzY0fNkYY+YYelJbhBBEG4=", "stream": true, "port_forward": true, "ips": [ "51.179.177.2" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Lima", "server_name": "IS-PE#1", "hostname": "node-pe-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.209" ] }, { "vpn": "wireguard", "country": "Peru", "city": "Lima", "server_name": "IS-PE#1", "hostname": "node-pe-04.protonvpn.net", "wgpubkey": "nU424h7OX5hXUFFY850oxpmxOoAMSBZ60pDOyj+z/WA=", "secure_core": true, "ips": [ "185.159.158.209" ] }, { "vpn": "openvpn", "country": "Peru", "city": "Lima", "server_name": "PE#25", "hostname": "node-pe-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.50.105" ] }, { "vpn": "wireguard", "country": "Peru", "city": "Lima", "server_name": "PE#25", "hostname": "node-pe-04.protonvpn.net", "wgpubkey": "nU424h7OX5hXUFFY850oxpmxOoAMSBZ60pDOyj+z/WA=", "stream": true, "port_forward": true, "ips": [ "138.199.50.105" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "server_name": "PH#1", "hostname": "node-ph-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "188.214.125.162" ] }, { "vpn": "wireguard", "country": "Philippines", "city": "Manila", "server_name": "PH#1", "hostname": "node-ph-01.protonvpn.net", "wgpubkey": "YHiExIkSK5Jqk/P6zO3UIDmf4B5NgClT2hqOXYCxD0g=", "stream": true, "port_forward": true, "ips": [ "188.214.125.162" ] }, { "vpn": "openvpn", "country": "Philippines", "city": "Manila", "server_name": "SE-PH#1", "hostname": "node-ph-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.86" ] }, { "vpn": "wireguard", "country": "Philippines", "city": "Manila", "server_name": "SE-PH#1", "hostname": "node-ph-01.protonvpn.net", "wgpubkey": "YHiExIkSK5Jqk/P6zO3UIDmf4B5NgClT2hqOXYCxD0g=", "secure_core": true, "ips": [ "185.159.156.86" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "CH-PL#2", "hostname": "node-pl-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.214" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "CH-PL#2", "hostname": "node-pl-05.protonvpn.net", "wgpubkey": "5dROtTBUwKT7gIZDyva2PaxOSfXlQbG3Ny4YKQNUiFE=", "secure_core": true, "ips": [ "62.169.136.214" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "CH-PL#2", "hostname": "node-pl-06.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.243" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "CH-PL#2", "hostname": "node-pl-06.protonvpn.net", "wgpubkey": "bIMk4w3SJ9OLWqlwgCB+umYlRoaLQRk1Te4rUVjVLEI=", "secure_core": true, "ips": [ "62.169.136.243" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "IS-PL#1", "hostname": "node-pl-07.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.224" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "IS-PL#1", "hostname": "node-pl-07.protonvpn.net", "wgpubkey": "HKjdcdOwD434Dvj7wzN+j/TpchEVcwLm4mq0fuj1tT4=", "secure_core": true, "ips": [ "185.159.158.224" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "IS-PL#1", "hostname": "node-pl-16.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.74" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "IS-PL#1", "hostname": "node-pl-16.protonvpn.net", "wgpubkey": "HlHKazUN3qvpm2F340jsIfQEU7e6K2pxCHRrMPPUhxw=", "secure_core": true, "ips": [ "185.159.158.74" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL#167", "hostname": "node-pl-20.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.186.162" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL#167", "hostname": "node-pl-20.protonvpn.net", "wgpubkey": "KznxV9pTmP4JF+UzKuA0qT84msLBXHiznaH3XRbq3hI=", "stream": true, "port_forward": true, "ips": [ "79.127.186.162" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL#263", "hostname": "node-pl-23.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.186.165" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL#263", "hostname": "node-pl-23.protonvpn.net", "wgpubkey": "HHSEAw01hRxWiesolxYPU8n86ZmbsKSM+zmCk2OPc24=", "stream": true, "port_forward": true, "ips": [ "79.127.186.165" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL#280", "hostname": "node-pl-24.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.186.164" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL#280", "hostname": "node-pl-24.protonvpn.net", "wgpubkey": "SfUu22F4oN8aDNaZ/O7pNvAorDTREV2Xrx8vT1engn4=", "stream": true, "port_forward": true, "ips": [ "79.127.186.164" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL#60", "hostname": "node-pl-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.161.178" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL#60", "hostname": "node-pl-06.protonvpn.net", "wgpubkey": "bIMk4w3SJ9OLWqlwgCB+umYlRoaLQRk1Te4rUVjVLEI=", "stream": true, "port_forward": true, "ips": [ "146.70.161.178" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL#64", "hostname": "node-pl-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.161.162" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL#64", "hostname": "node-pl-07.protonvpn.net", "wgpubkey": "HKjdcdOwD434Dvj7wzN+j/TpchEVcwLm4mq0fuj1tT4=", "stream": true, "port_forward": true, "ips": [ "146.70.161.162" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL#8", "hostname": "node-pl-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.244.17" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL#8", "hostname": "node-pl-05.protonvpn.net", "wgpubkey": "5dROtTBUwKT7gIZDyva2PaxOSfXlQbG3Ny4YKQNUiFE=", "stream": true, "ips": [ "149.102.244.17" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL#83", "hostname": "node-pl-15.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.186.193" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL#83", "hostname": "node-pl-15.protonvpn.net", "wgpubkey": "wpfRQRhJirL++QclFH6SDhc+TuJJB4UxbCABy7A1tS4=", "stream": true, "port_forward": true, "ips": [ "79.127.186.193" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "PL-FREE#13", "hostname": "node-pl-12.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.102.244.112" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "PL-FREE#13", "hostname": "node-pl-12.protonvpn.net", "wgpubkey": "zear23pwkz4A+s8Q3KiCW8el4SrYYzv/lSgd4+xrVEU=", "free": true, "ips": [ "149.102.244.112" ] }, { "vpn": "openvpn", "country": "Poland", "city": "Warsaw", "server_name": "SE-PL#1", "hostname": "node-pl-15.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.159" ] }, { "vpn": "wireguard", "country": "Poland", "city": "Warsaw", "server_name": "SE-PL#1", "hostname": "node-pl-15.protonvpn.net", "wgpubkey": "wpfRQRhJirL++QclFH6SDhc+TuJJB4UxbCABy7A1tS4=", "secure_core": true, "ips": [ "185.159.156.159" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "server_name": "CH-PT#2", "hostname": "node-pt-02b.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.113" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "server_name": "CH-PT#2", "hostname": "node-pt-02b.protonvpn.net", "wgpubkey": "RbDaajNuhOJ2QWdraMp06PER6/F9TIHZXM+RUBH7tTM=", "secure_core": true, "ips": [ "62.169.136.113" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "server_name": "IS-PT#1", "hostname": "node-pt-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.168" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "server_name": "IS-PT#1", "hostname": "node-pt-04.protonvpn.net", "wgpubkey": "8MfHyTOaBiGQReIY+hOW3WL5j9M6zNkRGyvYyGx+q3k=", "secure_core": true, "ips": [ "185.159.158.168" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "server_name": "PT#22", "hostname": "node-pt-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.88.20.129" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "server_name": "PT#22", "hostname": "node-pt-03.protonvpn.net", "wgpubkey": "p/sg7scJ5PshmIss9E/I2Y/dwM1EeEpqoE+YnR7JpWU=", "stream": true, "port_forward": true, "ips": [ "149.88.20.129" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "server_name": "PT#26", "hostname": "node-pt-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.131.193" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "server_name": "PT#26", "hostname": "node-pt-04.protonvpn.net", "wgpubkey": "8MfHyTOaBiGQReIY+hOW3WL5j9M6zNkRGyvYyGx+q3k=", "stream": true, "port_forward": true, "ips": [ "79.127.131.193" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "server_name": "PT#53", "hostname": "node-pt-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.131.222" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "server_name": "PT#53", "hostname": "node-pt-05.protonvpn.net", "wgpubkey": "fkBdrgo6NaOI9ICRd+i2mDbieKUzEXkj4vX3ItZ+5lM=", "stream": true, "port_forward": true, "ips": [ "79.127.131.222" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "server_name": "PT#8", "hostname": "node-pt-02b.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "195.158.248.226" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "server_name": "PT#8", "hostname": "node-pt-02b.protonvpn.net", "wgpubkey": "RbDaajNuhOJ2QWdraMp06PER6/F9TIHZXM+RUBH7tTM=", "stream": true, "port_forward": true, "ips": [ "195.158.248.226" ] }, { "vpn": "openvpn", "country": "Portugal", "city": "Lisbon", "server_name": "SE-PT#1", "hostname": "node-pt-02b.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.58" ] }, { "vpn": "wireguard", "country": "Portugal", "city": "Lisbon", "server_name": "SE-PT#1", "hostname": "node-pt-02b.protonvpn.net", "wgpubkey": "RbDaajNuhOJ2QWdraMp06PER6/F9TIHZXM+RUBH7tTM=", "secure_core": true, "ips": [ "185.159.156.58" ] }, { "vpn": "openvpn", "country": "Puerto Rico", "city": "San Juan", "server_name": "IS-PR#1", "hostname": "node-pr-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.181" ] }, { "vpn": "wireguard", "country": "Puerto Rico", "city": "San Juan", "server_name": "IS-PR#1", "hostname": "node-pr-01.protonvpn.net", "wgpubkey": "bwxgdI9Jo1QCuw9g9VvfenOBrPouBxFkdnQgRjHvrSU=", "secure_core": true, "ips": [ "185.159.158.181" ] }, { "vpn": "openvpn", "country": "Puerto Rico", "city": "San Juan", "server_name": "PR#1", "hostname": "node-pr-01.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "138.199.50.97" ] }, { "vpn": "wireguard", "country": "Puerto Rico", "city": "San Juan", "server_name": "PR#1", "hostname": "node-pr-01.protonvpn.net", "wgpubkey": "bwxgdI9Jo1QCuw9g9VvfenOBrPouBxFkdnQgRjHvrSU=", "port_forward": true, "ips": [ "138.199.50.97" ] }, { "vpn": "openvpn", "country": "Qatar", "city": "Doha", "server_name": "QA#13", "hostname": "qa-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.136.1" ] }, { "vpn": "wireguard", "country": "Qatar", "city": "Doha", "server_name": "QA#13", "hostname": "qa-01.protonvpn.net", "wgpubkey": "0DYsPBZXQBQqQKE1Pjdubulw6lwC6x63ktwb2XUUCyk=", "stream": true, "port_forward": true, "ips": [ "45.83.136.1" ] }, { "vpn": "openvpn", "country": "Qatar", "city": "Doha", "server_name": "QA#37", "hostname": "qa-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.180" ] }, { "vpn": "wireguard", "country": "Qatar", "city": "Doha", "server_name": "QA#37", "hostname": "qa-03.protonvpn.net", "wgpubkey": "xrGDdtygwWiSm/co9DRnNygwIm129VxyTohEtU9fbDE=", "port_forward": true, "ips": [ "74.118.126.180" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "CH-RO#2", "hostname": "node-ro-08.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.11" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "CH-RO#2", "hostname": "node-ro-08.protonvpn.net", "wgpubkey": "oXJDkB7ARwfgC1j8nJMTPz1s8zHDy72V3UxgERs9YjI=", "secure_core": true, "ips": [ "62.169.136.11" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO#132", "hostname": "node-ro-22.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.199.73" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO#132", "hostname": "node-ro-22.protonvpn.net", "wgpubkey": "BWrkIM+s6ieEf96TA8/rn9wV840hB6oQi4ZDKX2UKHc=", "stream": true, "port_forward": true, "ips": [ "169.150.199.73" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO#136", "hostname": "node-ro-23.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.199.72" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO#136", "hostname": "node-ro-23.protonvpn.net", "wgpubkey": "KRwb4KFWDwj/t+favbfFYRduVaejsh4kHAKYBooH+HU=", "stream": true, "port_forward": true, "ips": [ "169.150.199.72" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO#180", "hostname": "node-ro-25.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.199.71" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO#180", "hostname": "node-ro-25.protonvpn.net", "wgpubkey": "UYPTrrxLSDkGrkkUweDPLKBqoRAQy8tCNvvrfKlT32g=", "stream": true, "port_forward": true, "ips": [ "169.150.199.71" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO#232", "hostname": "node-ro-27.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.199.69" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO#232", "hostname": "node-ro-27.protonvpn.net", "wgpubkey": "4r8o8KBBWhQClzl9DFYlXGRMH2wJpTVIDqWULi7YBFw=", "stream": true, "port_forward": true, "ips": [ "169.150.199.69" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO#24", "hostname": "node-ro-08.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.181.100.178" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO#24", "hostname": "node-ro-08.protonvpn.net", "wgpubkey": "oXJDkB7ARwfgC1j8nJMTPz1s8zHDy72V3UxgERs9YjI=", "stream": true, "port_forward": true, "ips": [ "185.181.100.178" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO#71", "hostname": "node-ro-21.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.102.239.33" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO#71", "hostname": "node-ro-21.protonvpn.net", "wgpubkey": "HjhCrnvmceOnQ5qwYT8jWwwaKY7J2YsGjoRvRe8pdkc=", "stream": true, "port_forward": true, "ips": [ "149.102.239.33" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO#92", "hostname": "node-ro-20.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.163.110.98" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO#92", "hostname": "node-ro-20.protonvpn.net", "wgpubkey": "FdY0VoOXLg/D8DVsvv4CcvsvHyXvv9W09uy1Sy9A0XE=", "stream": true, "port_forward": true, "ips": [ "185.163.110.98" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#23", "hostname": "node-ro-12.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "146.70.246.98" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#23", "hostname": "node-ro-12.protonvpn.net", "wgpubkey": "ehwHh3WXBDwFxqTs4Oa8aZZYjOnd3NwjbMArKRwTqzs=", "free": true, "ips": [ "146.70.246.98" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#24", "hostname": "node-ro-13.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "146.70.246.114" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#24", "hostname": "node-ro-13.protonvpn.net", "wgpubkey": "dgVvjsBPhkKantancTMGlcd10ikyQjCtSTG2muBjvHA=", "free": true, "ips": [ "146.70.246.114" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#25", "hostname": "node-ro-14.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "185.45.15.34" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#25", "hostname": "node-ro-14.protonvpn.net", "wgpubkey": "AQMQis3/N2TP377PKH0D6DjEhu0pLanSK6dCbYE7q3U=", "free": true, "ips": [ "185.45.15.34" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#26", "hostname": "node-ro-15.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "185.252.220.146" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "RO-FREE#26", "hostname": "node-ro-15.protonvpn.net", "wgpubkey": "Io8cLLfUyY9INwZ26X+thOzpMGRim0ek1VzZ19RpM2o=", "free": true, "ips": [ "185.252.220.146" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "SE-RO#1", "hostname": "node-ro-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.81" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "SE-RO#1", "hostname": "node-ro-02.protonvpn.net", "wgpubkey": "5Zfe5nMk+zqZKkvorCiUwTqVidCwTG2UREvUTyswDmo=", "secure_core": true, "ips": [ "185.159.156.81" ] }, { "vpn": "openvpn", "country": "Romania", "city": "Bucharest", "server_name": "SE-RO#1", "hostname": "node-ro-20.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.157" ] }, { "vpn": "wireguard", "country": "Romania", "city": "Bucharest", "server_name": "SE-RO#1", "hostname": "node-ro-20.protonvpn.net", "wgpubkey": "FdY0VoOXLg/D8DVsvv4CcvsvHyXvv9W09uy1Sy9A0XE=", "secure_core": true, "ips": [ "185.159.156.157" ] }, { "vpn": "openvpn", "country": "Russian Federation", "city": "Moscow", "server_name": "RU#41", "hostname": "node-ru-06.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.231.2" ] }, { "vpn": "wireguard", "country": "Russian Federation", "city": "Moscow", "server_name": "RU#41", "hostname": "node-ru-06.protonvpn.net", "wgpubkey": "OYsPkwZXR/gHUnffnNjBhtnlWdMiOh3m/ncFDPP2Ln0=", "stream": true, "port_forward": true, "ips": [ "146.70.231.2" ] }, { "vpn": "openvpn", "country": "Rwanda", "city": "Kigali", "server_name": "RW#12", "hostname": "rw-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.9.37.1" ] }, { "vpn": "wireguard", "country": "Rwanda", "city": "Kigali", "server_name": "RW#12", "hostname": "rw-01.protonvpn.net", "wgpubkey": "OLnq8K4KJCbq7mDPE2Aso3I+sAfWAgMwXZ5Ep09h/l0=", "stream": true, "port_forward": true, "ips": [ "193.9.37.1" ] }, { "vpn": "openvpn", "country": "Rwanda", "city": "Kigali", "server_name": "RW#26", "hostname": "rw-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.129" ] }, { "vpn": "wireguard", "country": "Rwanda", "city": "Kigali", "server_name": "RW#26", "hostname": "rw-02.protonvpn.net", "wgpubkey": "rKdrh59Ol+ERIXvMDf9zbRZAVWXVx52XrhZngiyjjSs=", "stream": true, "port_forward": true, "ips": [ "79.135.105.129" ] }, { "vpn": "openvpn", "country": "Saudi Arabia", "city": "Riyadh", "server_name": "SA#17", "hostname": "sa-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.184" ] }, { "vpn": "wireguard", "country": "Saudi Arabia", "city": "Riyadh", "server_name": "SA#17", "hostname": "sa-03.protonvpn.net", "wgpubkey": "qxjQRgvcaS3/mDSIcy0jC/cO071eFsW3emfuFJhF/nU=", "port_forward": true, "ips": [ "74.118.126.184" ] }, { "vpn": "openvpn", "country": "Senegal", "city": "Dakar", "server_name": "SN#12", "hostname": "sn-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.144.1" ] }, { "vpn": "wireguard", "country": "Senegal", "city": "Dakar", "server_name": "SN#12", "hostname": "sn-01.protonvpn.net", "wgpubkey": "x1ndx/KPvv3Mo4JMWISwuWvdIgIueb2XRCytvo0gY0Q=", "stream": true, "port_forward": true, "ips": [ "45.83.144.1" ] }, { "vpn": "openvpn", "country": "Senegal", "city": "Dakar", "server_name": "SN#33", "hostname": "sn-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.200" ] }, { "vpn": "wireguard", "country": "Senegal", "city": "Dakar", "server_name": "SN#33", "hostname": "sn-03.protonvpn.net", "wgpubkey": "lEQ7OoU0gJVKGe1ZRxHZVKU0k8eg9d5axUZkcUpnKXQ=", "port_forward": true, "ips": [ "74.118.126.200" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "server_name": "CH-RS#2", "hostname": "node-rs-01b.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.27" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "server_name": "CH-RS#2", "hostname": "node-rs-01b.protonvpn.net", "wgpubkey": "5H/Al8MzQNlRehSUbEIRH/rZbfRNdMk04/XgK3hhkwE=", "secure_core": true, "ips": [ "62.169.136.27" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "server_name": "RS#14", "hostname": "node-rs-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.146.222.226" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "server_name": "RS#14", "hostname": "node-rs-02.protonvpn.net", "wgpubkey": "Urm+zMLHBP105h7X9Qm/Ir+38vMnz8kiEoee9H/FLQE=", "stream": true, "port_forward": true, "ips": [ "45.146.222.226" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "server_name": "RS#24", "hostname": "node-rs-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.221.130" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "server_name": "RS#24", "hostname": "node-rs-03.protonvpn.net", "wgpubkey": "ts8WajtirB+oQIkcma/cIZ+IO+yO02Q4Ld+j5TmbBU8=", "stream": true, "port_forward": true, "ips": [ "146.70.221.130" ] }, { "vpn": "openvpn", "country": "Serbia", "city": "Belgrade", "server_name": "RS#3", "hostname": "node-rs-01b.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "37.46.115.5" ] }, { "vpn": "wireguard", "country": "Serbia", "city": "Belgrade", "server_name": "RS#3", "hostname": "node-rs-01b.protonvpn.net", "wgpubkey": "5H/Al8MzQNlRehSUbEIRH/rZbfRNdMk04/XgK3hhkwE=", "stream": true, "port_forward": true, "ips": [ "37.46.115.5" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "CH-SG#2", "hostname": "node-sg-14.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.187" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "CH-SG#2", "hostname": "node-sg-14.protonvpn.net", "wgpubkey": "rKXFNhvVY+l4GE0STa1u3Yn/2hptVI6Dms/brS341zg=", "secure_core": true, "ips": [ "62.169.136.187" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SE-SG#1", "hostname": "node-sg-15.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.126" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SE-SG#1", "hostname": "node-sg-15.protonvpn.net", "wgpubkey": "06SGCCwQ/ftEmlj5x8wX0Df5Rbi66tkFcvrwe/AuuDc=", "secure_core": true, "ips": [ "185.159.156.126" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG#120", "hostname": "node-sg-30.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.50.211.165" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG#120", "hostname": "node-sg-30.protonvpn.net", "wgpubkey": "nwlXvRGPmqXIlMFt5MAO6KoVHmgTk2AZbPMXXkDaxQM=", "stream": true, "port_forward": true, "ips": [ "149.50.211.165" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG#171", "hostname": "node-sg-32.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.50.211.167" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG#171", "hostname": "node-sg-32.protonvpn.net", "wgpubkey": "oVsO/TZLrakikD2HQGNRZM964r9LoPfdNluThuIcHXo=", "stream": true, "port_forward": true, "ips": [ "149.50.211.167" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG#192", "hostname": "node-sg-33.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.50.211.166" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG#192", "hostname": "node-sg-33.protonvpn.net", "wgpubkey": "MsgCxkI8hLSpeEh9ttQjx7FT9Hu/R3WEUyF0YomZlCE=", "stream": true, "port_forward": true, "ips": [ "149.50.211.166" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG#220", "hostname": "node-sg-34.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.50.211.169" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG#220", "hostname": "node-sg-34.protonvpn.net", "wgpubkey": "TrhdyC23yM5oNjMN1YCDdqrgrQZpT0ZqFBU4yU8l3D4=", "stream": true, "port_forward": true, "ips": [ "149.50.211.169" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG#271", "hostname": "node-sg-35.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.50.211.168" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG#271", "hostname": "node-sg-35.protonvpn.net", "wgpubkey": "60KxPwj1NBzj0awNS6vDNrrOiehjzCwPwXNTh/k0zg0=", "stream": true, "port_forward": true, "ips": [ "149.50.211.168" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG#84", "hostname": "node-sg-15.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "138.199.60.85" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG#84", "hostname": "node-sg-15.protonvpn.net", "wgpubkey": "06SGCCwQ/ftEmlj5x8wX0Df5Rbi66tkFcvrwe/AuuDc=", "stream": true, "ips": [ "138.199.60.85" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG#88", "hostname": "node-sg-16.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.29.194" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG#88", "hostname": "node-sg-16.protonvpn.net", "wgpubkey": "WFvkM9OCh1IFqlTgxy/mxcw/PRVxKS9T9JxkMxi+yiI=", "stream": true, "port_forward": true, "ips": [ "146.70.29.194" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#14", "hostname": "node-sg-38.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "103.216.221.68" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#14", "hostname": "node-sg-38.protonvpn.net", "wgpubkey": "sze+UvjxRhaUuBHVPEf7XwPcgu6Y715XljvHmKGiZkw=", "free": true, "ips": [ "103.216.221.68" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#18", "hostname": "node-sg-42.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "103.216.221.72" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#18", "hostname": "node-sg-42.protonvpn.net", "wgpubkey": "whEECgH2k+DQjnLR/Vf/Chm7pLsxCnTd9fzCRcWFqzM=", "free": true, "ips": [ "103.216.221.72" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#3", "hostname": "node-sg-19.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.50.211.139" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#3", "hostname": "node-sg-19.protonvpn.net", "wgpubkey": "9lzYRM9SNjGGkYjc0FcYCWFO9ZWEFRwHboW6RLeUnBU=", "free": true, "ips": [ "149.50.211.139" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#6", "hostname": "node-sg-22.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.50.211.134" ] }, { "vpn": "wireguard", "country": "Singapore", "city": "Singapore", "server_name": "SG-FREE#6", "hostname": "node-sg-22.protonvpn.net", "wgpubkey": "AMrYsHq/kc8SLUxR5Z9OXuNCcF9YvsOl9Ch60hc+Q2U=", "free": true, "ips": [ "149.50.211.134" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.85" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.62" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-01.protonvpn.net", "wgpubkey": "kxtiQsbblJPBJcrw8p2SdtJ8auswUd5PxHIGXNxkvFw=", "secure_core": true, "ips": [ "62.169.136.85" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-01.protonvpn.net", "wgpubkey": "kxtiQsbblJPBJcrw8p2SdtJ8auswUd5PxHIGXNxkvFw=", "secure_core": true, "ips": [ "62.169.136.62" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.57" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-02.protonvpn.net", "wgpubkey": "kVySpobi4m6sAQgjYTxgYxhcddzXOz5YZLHyIm0oa3g=", "secure_core": true, "ips": [ "79.135.104.57" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.107" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "server_name": "CH-SK#2", "hostname": "node-sk-03.protonvpn.net", "wgpubkey": "6JuZ/DlzL0P+zXowYtTyKZUux3qZg9GhL0ubKs86808=", "secure_core": true, "ips": [ "79.135.104.107" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "server_name": "SK#13", "hostname": "node-sk-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.245.85.130" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "server_name": "SK#13", "hostname": "node-sk-02.protonvpn.net", "wgpubkey": "kVySpobi4m6sAQgjYTxgYxhcddzXOz5YZLHyIm0oa3g=", "stream": true, "port_forward": true, "ips": [ "185.245.85.130" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "server_name": "SK#37", "hostname": "node-sk-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.34.193" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "server_name": "SK#37", "hostname": "node-sk-03.protonvpn.net", "wgpubkey": "6JuZ/DlzL0P+zXowYtTyKZUux3qZg9GhL0ubKs86808=", "stream": true, "port_forward": true, "ips": [ "138.199.34.193" ] }, { "vpn": "openvpn", "country": "Slovakia", "city": "Bratislava", "server_name": "SK#4", "hostname": "node-sk-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "196.245.151.210" ] }, { "vpn": "wireguard", "country": "Slovakia", "city": "Bratislava", "server_name": "SK#4", "hostname": "node-sk-01.protonvpn.net", "wgpubkey": "kxtiQsbblJPBJcrw8p2SdtJ8auswUd5PxHIGXNxkvFw=", "stream": true, "ips": [ "196.245.151.210" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Ljubljana", "server_name": "CH-SI#2", "hostname": "node-si-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.93" ] }, { "vpn": "wireguard", "country": "Slovenia", "city": "Ljubljana", "server_name": "CH-SI#2", "hostname": "node-si-01.protonvpn.net", "wgpubkey": "OyElFysx9UjgoZri1lIj9epltqS13lH5m6wO2UTgl0M=", "secure_core": true, "ips": [ "62.169.136.93" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Ljubljana", "server_name": "SI#20", "hostname": "node-si-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.245.3" ] }, { "vpn": "wireguard", "country": "Slovenia", "city": "Ljubljana", "server_name": "SI#20", "hostname": "node-si-02.protonvpn.net", "wgpubkey": "oQtv5z3q1d85QjjJUkB2vhl5P9VX/zXiHMcxdrejwH4=", "stream": true, "port_forward": true, "ips": [ "130.195.245.3" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Ljubljana", "server_name": "SI#38", "hostname": "node-si-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.245.2" ] }, { "vpn": "wireguard", "country": "Slovenia", "city": "Ljubljana", "server_name": "SI#38", "hostname": "node-si-03.protonvpn.net", "wgpubkey": "Fvi1fzRzkkesESo2kgriu+RWXiLm9Fjz2M7twuejoCM=", "stream": true, "port_forward": true, "ips": [ "130.195.245.2" ] }, { "vpn": "openvpn", "country": "Slovenia", "city": "Ljubljana", "server_name": "SI#4", "hostname": "node-si-01.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "195.80.150.226" ] }, { "vpn": "wireguard", "country": "Slovenia", "city": "Ljubljana", "server_name": "SI#4", "hostname": "node-si-01.protonvpn.net", "wgpubkey": "OyElFysx9UjgoZri1lIj9epltqS13lH5m6wO2UTgl0M=", "port_forward": true, "ips": [ "195.80.150.226" ] }, { "vpn": "openvpn", "country": "Somalia", "city": "Mogadishu", "server_name": "SO#29", "hostname": "so-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.204" ] }, { "vpn": "wireguard", "country": "Somalia", "city": "Mogadishu", "server_name": "SO#29", "hostname": "so-03.protonvpn.net", "wgpubkey": "7GJWeRRZ1GPsXVWGtO9TaodpNC7BM9iQWBCSqj9hKk0=", "port_forward": true, "ips": [ "74.118.126.204" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "server_name": "CH-ZA#1", "hostname": "node-za-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.24" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "server_name": "CH-ZA#1", "hostname": "node-za-02.protonvpn.net", "wgpubkey": "1h8FnAD81TOAUrOdslmvS9v2LbzXcQscVMKwtX7zOAU=", "secure_core": true, "ips": [ "79.135.104.24" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "server_name": "CH-ZA#1", "hostname": "node-za-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "79.135.104.100" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "server_name": "CH-ZA#1", "hostname": "node-za-03.protonvpn.net", "wgpubkey": "d7pHvygRIG3UQLZiUM0yj0mv8BBPl6irs6P4ZEwYnBA=", "secure_core": true, "ips": [ "79.135.104.100" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "server_name": "ZA#1", "hostname": "za-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "188.214.158.34" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "server_name": "ZA#1", "hostname": "za-03.protonvpn.net", "wgpubkey": "Jf5zkNRF4ttQcb9cJn389EPyC8K80DYWmNhSL4LTUzs=", "stream": true, "port_forward": true, "ips": [ "188.214.158.34" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "server_name": "ZA#26", "hostname": "node-za-02.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "178.249.212.163" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "server_name": "ZA#26", "hostname": "node-za-02.protonvpn.net", "wgpubkey": "1h8FnAD81TOAUrOdslmvS9v2LbzXcQscVMKwtX7zOAU=", "port_forward": true, "ips": [ "178.249.212.163" ] }, { "vpn": "openvpn", "country": "South Africa", "city": "Johannesburg", "server_name": "ZA#36", "hostname": "node-za-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "196.197.28.130" ] }, { "vpn": "wireguard", "country": "South Africa", "city": "Johannesburg", "server_name": "ZA#36", "hostname": "node-za-03.protonvpn.net", "wgpubkey": "d7pHvygRIG3UQLZiUM0yj0mv8BBPl6irs6P4ZEwYnBA=", "stream": true, "port_forward": true, "ips": [ "196.197.28.130" ] }, { "vpn": "openvpn", "country": "South Sudan", "city": "Juba", "server_name": "SS#10", "hostname": "ss-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.9.38.1" ] }, { "vpn": "wireguard", "country": "South Sudan", "city": "Juba", "server_name": "SS#10", "hostname": "ss-01.protonvpn.net", "wgpubkey": "6w+L6nVRGKs0ndhIDxOqNhSNjxofgUg1TdcGsJ60+jY=", "stream": true, "port_forward": true, "ips": [ "193.9.38.1" ] }, { "vpn": "openvpn", "country": "South Sudan", "city": "Juba", "server_name": "SS#29", "hostname": "ss-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.208" ] }, { "vpn": "wireguard", "country": "South Sudan", "city": "Juba", "server_name": "SS#29", "hostname": "ss-03.protonvpn.net", "wgpubkey": "VRAR5f5hYjfaTXA6w8GwNBxCv/h2O1DptGxtITrHABA=", "port_forward": true, "ips": [ "74.118.126.208" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Barcelona", "server_name": "ES#101", "hostname": "node-es-08.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.250.66" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Barcelona", "server_name": "ES#101", "hostname": "node-es-08.protonvpn.net", "wgpubkey": "tEz96jcHEtBtZOmwMK7Derw0AOih8usKFM+n4Svhr1E=", "stream": true, "port_forward": true, "ips": [ "130.195.250.66" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Barcelona", "server_name": "ES#119", "hostname": "node-es-09.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.250.98" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Barcelona", "server_name": "ES#119", "hostname": "node-es-09.protonvpn.net", "wgpubkey": "XkiKln3Se1dUvLL9s803TbYkfFNJtb051iGcGs1jgSk=", "stream": true, "port_forward": true, "ips": [ "130.195.250.98" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "CH-ES#2", "hostname": "node-es-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.43" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "CH-ES#2", "hostname": "node-es-03.protonvpn.net", "wgpubkey": "MK3425tJbRhEz+1xQLxlL+l6GNl52zKNwo5V0fHEwj4=", "secure_core": true, "ips": [ "62.169.136.43" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "ES#150", "hostname": "node-es-10.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.139.129" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "ES#150", "hostname": "node-es-10.protonvpn.net", "wgpubkey": "cFQgn6VKZphGOdOGHux2xUf/QBWSExfg6koDuU68k28=", "stream": true, "port_forward": true, "ips": [ "79.127.139.129" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "ES#205", "hostname": "node-es-12.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.139.162" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "ES#205", "hostname": "node-es-12.protonvpn.net", "wgpubkey": "O9rOw9pRnpgTR7aNRUN0fum8IYKeyf+qfhpWc7UxzXI=", "stream": true, "port_forward": true, "ips": [ "79.127.139.162" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "ES#250", "hostname": "node-es-14.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.139.160" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "ES#250", "hostname": "node-es-14.protonvpn.net", "wgpubkey": "nOh5MNR/ZXnURE31nMIyrrx/A2N1qDX5Z26cAZt5qyI=", "stream": true, "port_forward": true, "ips": [ "79.127.139.160" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "ES#301", "hostname": "node-es-17.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.139.163" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "ES#301", "hostname": "node-es-17.protonvpn.net", "wgpubkey": "fjpIfflMshQ3cS/yvtkNuyG3YyJ+Y0YvJFRUQ3bIBn8=", "stream": true, "port_forward": true, "ips": [ "79.127.139.163" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "ES#43", "hostname": "node-es-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "185.76.11.17" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "ES#43", "hostname": "node-es-04.protonvpn.net", "wgpubkey": "roOsz9dJeKKVt6E3EIEKXQfZsmhSfsqOceZWiuGLIgg=", "stream": true, "ips": [ "185.76.11.17" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "IS-ES#1", "hostname": "node-es-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.148" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "IS-ES#1", "hostname": "node-es-04.protonvpn.net", "wgpubkey": "roOsz9dJeKKVt6E3EIEKXQfZsmhSfsqOceZWiuGLIgg=", "secure_core": true, "ips": [ "185.159.158.148" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "IS-ES#1", "hostname": "node-es-05.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.149" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "IS-ES#1", "hostname": "node-es-05.protonvpn.net", "wgpubkey": "We2ZxSzO//srj1br7S2+o8d14qegEf4PKdqKJ46N+34=", "secure_core": true, "ips": [ "185.159.158.149" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "IS-ES#1", "hostname": "node-es-11.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.77" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "IS-ES#1", "hostname": "node-es-11.protonvpn.net", "wgpubkey": "8PG6wZzij1kPTYivtEh4bNbTrP/WOVQBja9g2+8/i3A=", "secure_core": true, "ips": [ "185.159.158.77" ] }, { "vpn": "openvpn", "country": "Spain", "city": "Madrid", "server_name": "SE-ES#1", "hostname": "node-es-10.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.162" ] }, { "vpn": "wireguard", "country": "Spain", "city": "Madrid", "server_name": "SE-ES#1", "hostname": "node-es-10.protonvpn.net", "wgpubkey": "cFQgn6VKZphGOdOGHux2xUf/QBWSExfg6koDuU68k28=", "secure_core": true, "ips": [ "185.159.156.162" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "city": "Colombo", "server_name": "LK#11", "hostname": "lk-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.127.1" ] }, { "vpn": "wireguard", "country": "Sri Lanka", "city": "Colombo", "server_name": "LK#11", "hostname": "lk-01.protonvpn.net", "wgpubkey": "oRzehP9dEG9yLVfUnjFB9C8/aThS4MeD5eQvv2fJfT4=", "stream": true, "port_forward": true, "ips": [ "45.83.127.1" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "city": "Colombo", "server_name": "LK#25", "hostname": "lk-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.229.3" ] }, { "vpn": "wireguard", "country": "Sri Lanka", "city": "Colombo", "server_name": "LK#25", "hostname": "lk-02.protonvpn.net", "wgpubkey": "BANSdi/DJoHqfHV92KRViGm1XvsVOZR9pHHEBI9FAy0=", "stream": true, "port_forward": true, "ips": [ "146.70.229.3" ] }, { "vpn": "openvpn", "country": "Sudan", "city": "Khartoum", "server_name": "SD#29", "hostname": "sd-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.188" ] }, { "vpn": "wireguard", "country": "Sudan", "city": "Khartoum", "server_name": "SD#29", "hostname": "sd-03.protonvpn.net", "wgpubkey": "E+bJHhRM2AyyngLUKTD+UWN+YDabwNwN2OU1j8dSFGg=", "port_forward": true, "ips": [ "74.118.126.188" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#121", "hostname": "node-se-11.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "31.13.191.66" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#121", "hostname": "node-se-11.protonvpn.net", "wgpubkey": "aMcaRUQ6oupa2a3ia+ZxiP6wO4CZ+8pEhsM5cYR920g=", "stream": true, "port_forward": true, "ips": [ "31.13.191.66" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#178", "hostname": "node-se-13.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.208.158" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#178", "hostname": "node-se-13.protonvpn.net", "wgpubkey": "oU38B513VDJGkoIpyMEVmP26F5OtmmxL3TBU8EmeCDo=", "stream": true, "port_forward": true, "ips": [ "169.150.208.158" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#221", "hostname": "node-se-14.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.208.216" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#221", "hostname": "node-se-14.protonvpn.net", "wgpubkey": "e22Hrj6u2lgkKCfRkh9QesuD4HyrXVbQChCa7QHTDwg=", "stream": true, "port_forward": true, "ips": [ "169.150.208.216" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#274", "hostname": "node-se-16.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "169.150.208.129" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#274", "hostname": "node-se-16.protonvpn.net", "wgpubkey": "ZTN8RD430lQr0cGBcCvdxohUtK/j9I2RnX0hT9ymK2s=", "stream": true, "port_forward": true, "ips": [ "169.150.208.129" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#31-TOR", "hostname": "se-09-tor.protonvpn.net", "tcp": true, "udp": true, "tor": true, "ips": [ "185.159.156.90" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#31-TOR", "hostname": "se-09-tor.protonvpn.net", "wgpubkey": "jnw7R6t43/63SOFCw9jf6y3a5exG9a+2fcYN3Cir6Qo=", "tor": true, "ips": [ "185.159.156.90" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#321", "hostname": "node-se-18.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "62.93.166.121" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#321", "hostname": "node-se-18.protonvpn.net", "wgpubkey": "xDQLfB3I7BbEUAImiYKQlPEMoZBBYJCpNroycYyy7C0=", "stream": true, "port_forward": true, "ips": [ "62.93.166.121" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#378", "hostname": "node-se-20.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "62.93.166.122" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#378", "hostname": "node-se-20.protonvpn.net", "wgpubkey": "IjsYenMdJFqbaNdVDx9t9NROTkA4EHBpXVejC36E1Wk=", "stream": true, "port_forward": true, "ips": [ "62.93.166.122" ] }, { "vpn": "openvpn", "country": "Sweden", "city": "Stockholm", "server_name": "SE#48", "hostname": "node-se-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.50.216.238" ] }, { "vpn": "wireguard", "country": "Sweden", "city": "Stockholm", "server_name": "SE#48", "hostname": "node-se-07.protonvpn.net", "wgpubkey": "4mgCsg3Rox11k6YWGwToB1kshzqbQ8Iu1HuOZhNtYQg=", "stream": true, "ips": [ "149.50.216.238" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#18-TOR", "hostname": "ch-09-tor.protonvpn.net", "tcp": true, "udp": true, "tor": true, "ips": [ "185.159.157.176" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#18-TOR", "hostname": "ch-09-tor.protonvpn.net", "wgpubkey": "A6ZEPLYJle6Bz+dcRIX/1uNm0DRfOs47H1x8EwUeFnY=", "tor": true, "ips": [ "185.159.157.176" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#262", "hostname": "node-ch-17.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.88.27.206" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#262", "hostname": "node-ch-17.protonvpn.net", "wgpubkey": "i0qamQHx9/DRrre/4C+ocY6NVbGSfQBZzRcXYnTEHW0=", "stream": true, "ips": [ "149.88.27.206" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#362", "hostname": "node-ch-07.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.159.157.24" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#362", "hostname": "node-ch-07.protonvpn.net", "wgpubkey": "8vYnuuYtKfsKKnnX6HSKXviMj6bl3P260rRbPcC8d3Q=", "stream": true, "port_forward": true, "ips": [ "185.159.157.24" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#385", "hostname": "node-ch-14.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.104.12" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#385", "hostname": "node-ch-14.protonvpn.net", "wgpubkey": "Hd3hdhX18q6tnET4x77hg/xou3o/tdf7iEgLTqtRwVY=", "stream": true, "port_forward": true, "ips": [ "79.135.104.12" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#466", "hostname": "node-ch-26.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.226.194" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#466", "hostname": "node-ch-26.protonvpn.net", "wgpubkey": "JuU8atNk6x75cZiCI8TuYnnDfFs4MUSZZomSWKKl1Rs=", "stream": true, "port_forward": true, "ips": [ "146.70.226.194" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#566", "hostname": "node-ch-29.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.184.158" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#566", "hostname": "node-ch-29.protonvpn.net", "wgpubkey": "FFj4mVAwo5puyuimT7xsEdQqXwqQmuA0DBjQJpQmSg0=", "stream": true, "port_forward": true, "ips": [ "79.127.184.158" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#581", "hostname": "node-ch-30.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.184.187" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#581", "hostname": "node-ch-30.protonvpn.net", "wgpubkey": "4+ETM62cJu71rZDmgNpJsB8YH/bvHkOrB79kXR6LKkU=", "stream": true, "port_forward": true, "ips": [ "79.127.184.187" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#666", "hostname": "node-ch-33.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.97.30" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#666", "hostname": "node-ch-33.protonvpn.net", "wgpubkey": "5eYGRRWBbAnS4T786L+bANahjE2Fv7Zg5faPw0JLAj0=", "stream": true, "port_forward": true, "ips": [ "89.222.97.30" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#766", "hostname": "node-ch-37.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.96.1" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#766", "hostname": "node-ch-37.protonvpn.net", "wgpubkey": "pzBOn/wT1A/bBr0xa/7hJ5o9rX58Lb3pUxipBdC8DV4=", "stream": true, "port_forward": true, "ips": [ "89.222.96.1" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#781", "hostname": "node-ch-38.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.96.216" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#781", "hostname": "node-ch-38.protonvpn.net", "wgpubkey": "4H0WxTs+esuKZMAo9Mshe1Z2fCnqDbvL6gsISC4nCHM=", "stream": true, "port_forward": true, "ips": [ "89.222.96.216" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH#937", "hostname": "node-ch-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "62.169.136.3" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH#937", "hostname": "node-ch-03.protonvpn.net", "wgpubkey": "/2s0IUkblISt/0BMI2KenKgJopsQDCbHhgQvipGxwmY=", "stream": true, "port_forward": true, "ips": [ "62.169.136.3" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH-FREE#3", "hostname": "node-ch-11.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "138.199.6.178" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH-FREE#3", "hostname": "node-ch-11.protonvpn.net", "wgpubkey": "YpOUROUnumcF/snGX8zka0nThnvHesceJAYUSbZL1XQ=", "free": true, "ips": [ "138.199.6.178" ] }, { "vpn": "openvpn", "country": "Switzerland", "city": "Zurich", "server_name": "CH-FREE#7", "hostname": "node-ch-21.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.88.27.234" ] }, { "vpn": "wireguard", "country": "Switzerland", "city": "Zurich", "server_name": "CH-FREE#7", "hostname": "node-ch-21.protonvpn.net", "wgpubkey": "XPVCz7LndzqWe7y3+WSo51hvNOX8nX5CTwVTWhzg8g8=", "free": true, "ips": [ "149.88.27.234" ] }, { "vpn": "openvpn", "country": "Syrian Arab Republic", "city": "Damascus", "server_name": "SY#10", "hostname": "sy-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.212" ] }, { "vpn": "wireguard", "country": "Syrian Arab Republic", "city": "Damascus", "server_name": "SY#10", "hostname": "sy-03.protonvpn.net", "wgpubkey": "lA34jzJPyZIjR4FxgEy2KarVEEkFcGT3AmOO2k+X3Co=", "port_forward": true, "ips": [ "74.118.126.212" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taichung", "server_name": "TW#13", "hostname": "node-tw-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "2.58.241.66" ] }, { "vpn": "wireguard", "country": "Taiwan", "city": "Taichung", "server_name": "TW#13", "hostname": "node-tw-03.protonvpn.net", "wgpubkey": "4YvW6/5LP4g/WmaLc1EDfOno+IyN6r+87gQEqGz2Gz4=", "port_forward": true, "ips": [ "2.58.241.66" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "server_name": "CH-TW#2", "hostname": "node-tw-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.141" ] }, { "vpn": "wireguard", "country": "Taiwan", "city": "Taipei", "server_name": "CH-TW#2", "hostname": "node-tw-03.protonvpn.net", "wgpubkey": "4YvW6/5LP4g/WmaLc1EDfOno+IyN6r+87gQEqGz2Gz4=", "secure_core": true, "ips": [ "62.169.136.141" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "server_name": "SE-TW#01", "hostname": "node-tw-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.82" ] }, { "vpn": "wireguard", "country": "Taiwan", "city": "Taipei", "server_name": "SE-TW#01", "hostname": "node-tw-04.protonvpn.net", "wgpubkey": "jodLwKl2kl5scwLUIZQYGoKBsqTRAtv6ltsofBc6WD4=", "secure_core": true, "ips": [ "185.159.156.82" ] }, { "vpn": "openvpn", "country": "Taiwan", "city": "Taipei", "server_name": "TW#21", "hostname": "node-tw-04.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.106.178" ] }, { "vpn": "wireguard", "country": "Taiwan", "city": "Taipei", "server_name": "TW#21", "hostname": "node-tw-04.protonvpn.net", "wgpubkey": "jodLwKl2kl5scwLUIZQYGoKBsqTRAtv6ltsofBc6WD4=", "port_forward": true, "ips": [ "188.214.106.178" ] }, { "vpn": "openvpn", "country": "Tajikistan", "city": "Dushanbe", "server_name": "TJ#1", "hostname": "tj-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.184" ] }, { "vpn": "wireguard", "country": "Tajikistan", "city": "Dushanbe", "server_name": "TJ#1", "hostname": "tj-02.protonvpn.net", "wgpubkey": "8ahXDMFoH2p5xPFnp269PjUoCvbVwzEIavkLC3b4Cig=", "stream": true, "port_forward": true, "ips": [ "79.135.105.184" ] }, { "vpn": "openvpn", "country": "Tanzania", "city": "Dodoma", "server_name": "TZ#5", "hostname": "tz-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "74.118.126.228" ] }, { "vpn": "wireguard", "country": "Tanzania", "city": "Dodoma", "server_name": "TZ#5", "hostname": "tz-03.protonvpn.net", "wgpubkey": "P7w7u88a2+C1pD5UOsaeKAnZoFO62Puii/ZML8bliyA=", "stream": true, "port_forward": true, "ips": [ "74.118.126.228" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "server_name": "CH-TH#2", "hostname": "node-th-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.13" ] }, { "vpn": "wireguard", "country": "Thailand", "city": "Bangkok", "server_name": "CH-TH#2", "hostname": "node-th-02.protonvpn.net", "wgpubkey": "g8TJ1UuDPkuddHzTPWY5ANq2nLm7SDHNEq32iWMDxD8=", "secure_core": true, "ips": [ "62.169.136.13" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "server_name": "IS-TH#1", "hostname": "node-th-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.191" ] }, { "vpn": "wireguard", "country": "Thailand", "city": "Bangkok", "server_name": "IS-TH#1", "hostname": "node-th-01.protonvpn.net", "wgpubkey": "N4vu5ZFsvf3nbKAYnwwXvqeDwxrYOXZKbTSdknB9a1w=", "secure_core": true, "ips": [ "185.159.158.191" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "server_name": "TH#10", "hostname": "node-th-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.242.2" ] }, { "vpn": "wireguard", "country": "Thailand", "city": "Bangkok", "server_name": "TH#10", "hostname": "node-th-02.protonvpn.net", "wgpubkey": "g8TJ1UuDPkuddHzTPWY5ANq2nLm7SDHNEq32iWMDxD8=", "stream": true, "port_forward": true, "ips": [ "130.195.242.2" ] }, { "vpn": "openvpn", "country": "Thailand", "city": "Bangkok", "server_name": "TH#3", "hostname": "node-th-01.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "37.19.201.129" ] }, { "vpn": "wireguard", "country": "Thailand", "city": "Bangkok", "server_name": "TH#3", "hostname": "node-th-01.protonvpn.net", "wgpubkey": "N4vu5ZFsvf3nbKAYnwwXvqeDwxrYOXZKbTSdknB9a1w=", "port_forward": true, "ips": [ "37.19.201.129" ] }, { "vpn": "openvpn", "country": "Togo", "city": "Lomé", "server_name": "TG#11", "hostname": "tg-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.9.39.1" ] }, { "vpn": "wireguard", "country": "Togo", "city": "Lomé", "server_name": "TG#11", "hostname": "tg-01.protonvpn.net", "wgpubkey": "rc7QnuukueJDqqKMx7Z3n0zmZ+alsj9BwhOwxZiUoCU=", "stream": true, "port_forward": true, "ips": [ "193.9.39.1" ] }, { "vpn": "openvpn", "country": "Togo", "city": "Lomé", "server_name": "TG#29", "hostname": "tg-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.220" ] }, { "vpn": "wireguard", "country": "Togo", "city": "Lomé", "server_name": "TG#29", "hostname": "tg-03.protonvpn.net", "wgpubkey": "fA+ySojht4Y48mp66+hlj6klCChNdwnbYlWia4g2qGY=", "port_forward": true, "ips": [ "74.118.126.220" ] }, { "vpn": "openvpn", "country": "Tunisia", "city": "Tunis", "server_name": "TN#5", "hostname": "tn-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.224" ] }, { "vpn": "wireguard", "country": "Tunisia", "city": "Tunis", "server_name": "TN#5", "hostname": "tn-03.protonvpn.net", "wgpubkey": "XoTZl+ew/+r3bXPD0R8qE+SlDQbIpqfmY26XwNMkcHg=", "port_forward": true, "ips": [ "74.118.126.224" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "server_name": "SE-TR#1", "hostname": "node-tr-03.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.97" ] }, { "vpn": "wireguard", "country": "Turkey", "city": "Istanbul", "server_name": "SE-TR#1", "hostname": "node-tr-03.protonvpn.net", "wgpubkey": "O9PuAgDUpgObhbFQYpWMiEoynWaCSmQuGTtBjcuEk3E=", "secure_core": true, "ips": [ "185.159.156.97" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "server_name": "TR#18", "hostname": "node-tr-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "87.249.139.170" ] }, { "vpn": "wireguard", "country": "Turkey", "city": "Istanbul", "server_name": "TR#18", "hostname": "node-tr-03.protonvpn.net", "wgpubkey": "O9PuAgDUpgObhbFQYpWMiEoynWaCSmQuGTtBjcuEk3E=", "stream": true, "port_forward": true, "ips": [ "87.249.139.170" ] }, { "vpn": "openvpn", "country": "Turkey", "city": "Istanbul", "server_name": "TR#75", "hostname": "node-tr-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.216.66" ] }, { "vpn": "wireguard", "country": "Turkey", "city": "Istanbul", "server_name": "TR#75", "hostname": "node-tr-04.protonvpn.net", "wgpubkey": "QtI8q0njcsux4dz6dflWE9t+0LIGACDrxUx3iGApY1k=", "stream": true, "port_forward": true, "ips": [ "130.195.216.66" ] }, { "vpn": "openvpn", "country": "Turkmenistan", "city": "Ashgabat", "server_name": "TM#25", "hostname": "tm-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.188" ] }, { "vpn": "wireguard", "country": "Turkmenistan", "city": "Ashgabat", "server_name": "TM#25", "hostname": "tm-02.protonvpn.net", "wgpubkey": "B7cqYFdUX0QwIsA+AiDpZeRx7kcnBLCPHcZt96kpJjI=", "stream": true, "port_forward": true, "ips": [ "79.135.105.188" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "server_name": "CH-UA#2", "hostname": "node-ua-02.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.60" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "server_name": "CH-UA#2", "hostname": "node-ua-02.protonvpn.net", "wgpubkey": "eqjhoqO6K1nLiej026+RkpSTHloVrOHLlMQaB0Tl5GM=", "secure_core": true, "ips": [ "62.169.136.60" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#101", "hostname": "node-ua-05.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "156.146.50.17" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#101", "hostname": "node-ua-05.protonvpn.net", "wgpubkey": "vx4tC7xZn44VN4dyiK0yUBHRC3/cmlwwaLuPpq3rIQg=", "stream": true, "port_forward": true, "ips": [ "156.146.50.17" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#19", "hostname": "node-ua-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.88.110.33" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#19", "hostname": "node-ua-03.protonvpn.net", "wgpubkey": "BTwnvm0OR6IzwefZlzTgJMn8NhISk8DtczUk7P74NH8=", "stream": true, "ips": [ "149.88.110.33" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#44", "hostname": "node-ua-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "156.146.50.5" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#44", "hostname": "node-ua-02.protonvpn.net", "wgpubkey": "eqjhoqO6K1nLiej026+RkpSTHloVrOHLlMQaB0Tl5GM=", "stream": true, "port_forward": true, "ips": [ "156.146.50.5" ] }, { "vpn": "openvpn", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#54", "hostname": "node-ua-04.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.241.2" ] }, { "vpn": "wireguard", "country": "Ukraine", "city": "Kyiv", "server_name": "UA#54", "hostname": "node-ua-04.protonvpn.net", "wgpubkey": "DXYDBKLGzh+HGEjwdo+hXLWiRFMk4IWrrVuXyRlMSlY=", "stream": true, "port_forward": true, "ips": [ "130.195.241.2" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "server_name": "AE#21", "hostname": "node-ae-04.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "178.249.212.162" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "city": "Dubai", "server_name": "AE#21", "hostname": "node-ae-04.protonvpn.net", "wgpubkey": "fHSz7nXioLz6qt+AoapT4ylVEkHTYpafdELZUmg4W3I=", "port_forward": true, "ips": [ "178.249.212.162" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "server_name": "IS-AE#1", "hostname": "node-ae-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.232" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "city": "Dubai", "server_name": "IS-AE#1", "hostname": "node-ae-04.protonvpn.net", "wgpubkey": "fHSz7nXioLz6qt+AoapT4ylVEkHTYpafdELZUmg4W3I=", "secure_core": true, "ips": [ "185.159.158.232" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "city": "Dubai", "server_name": "SE-AE#1", "hostname": "node-ae-04.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.119" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "city": "Dubai", "server_name": "SE-AE#1", "hostname": "node-ae-04.protonvpn.net", "wgpubkey": "fHSz7nXioLz6qt+AoapT4ylVEkHTYpafdELZUmg4W3I=", "secure_core": true, "ips": [ "185.159.156.119" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Belfast", "server_name": "UK#665", "hostname": "node-uk-32.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "130.195.223.2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "Belfast", "server_name": "UK#665", "hostname": "node-uk-32.protonvpn.net", "wgpubkey": "miXyYYk4KV3yC15s2JjNe7GpLoOjYRyBXAmzRdQad1E=", "stream": true, "port_forward": true, "ips": [ "130.195.223.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Cardiff", "server_name": "UK#696", "hostname": "node-uk-33.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.130.187.2" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "Cardiff", "server_name": "UK#696", "hostname": "node-uk-33.protonvpn.net", "wgpubkey": "UGNurzj7C5GiwpoVsGyyD5msRT62V4pQ47jx4h34WWw=", "stream": true, "port_forward": true, "ips": [ "185.130.187.2" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Edinburgh", "server_name": "UK#638", "hostname": "node-uk-31.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "188.240.57.226" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "Edinburgh", "server_name": "UK#638", "hostname": "node-uk-31.protonvpn.net", "wgpubkey": "HX/4IL6C4iz2i2NGLb6OeOb+qYJHFejbYn7/oTmHDmg=", "stream": true, "port_forward": true, "ips": [ "188.240.57.226" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "CH-UK#2", "hostname": "node-uk-17.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.228" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "CH-UK#2", "hostname": "node-uk-17.protonvpn.net", "wgpubkey": "QA+TBTylpDuM0c/gbNfX7/efivIMg7P0ncLMBtTvglg=", "secure_core": true, "ips": [ "62.169.136.228" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "CH-UK#2", "hostname": "node-uk-18.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.229" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "CH-UK#2", "hostname": "node-uk-18.protonvpn.net", "wgpubkey": "7tEhXa2x1eKGbPevwzPjo5u5HLshPxwkofSII9y0v2c=", "secure_core": true, "ips": [ "62.169.136.229" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "CH-UK#2", "hostname": "node-uk-20.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.133" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "CH-UK#2", "hostname": "node-uk-20.protonvpn.net", "wgpubkey": "rASRjr/WnYDqR/aW824X2KfIxBIdS5nXQgnKly0TmBo=", "secure_core": true, "ips": [ "62.169.136.133" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-12.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.187" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-12.protonvpn.net", "wgpubkey": "lnSLhBJ3zosn36teAK1JJjn7ALiaPLq5k6YO07GnQi4=", "secure_core": true, "ips": [ "185.159.158.187" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-14.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.200" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-14.protonvpn.net", "wgpubkey": "SrT34F0BbJq2U7v8/1V1MRFUMnn7YixbhWUN01xnF2Q=", "secure_core": true, "ips": [ "185.159.158.200" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-15.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.215" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-15.protonvpn.net", "wgpubkey": "zctOjv4DH2gzXtLQy86Tp0vnT+PNpMsxecd2vUX/i0U=", "secure_core": true, "ips": [ "185.159.158.215" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-16.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.216" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-16.protonvpn.net", "wgpubkey": "WbRD+D0sEqI7tlTIycY4QVlSgv3zPWCWmx0Z+UA08gI=", "secure_core": true, "ips": [ "185.159.158.216" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-19.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.223" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-19.protonvpn.net", "wgpubkey": "uIYz5QpWqSNGRSJw0m4Py3eHR1dXQPb95sIKV8KaEC4=", "secure_core": true, "ips": [ "185.159.158.223" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-26.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.21" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-26.protonvpn.net", "wgpubkey": "MKqrC+ee7VJKIe565rrTJjPT31Dvd5m+s6yoIQ97YyU=", "secure_core": true, "ips": [ "185.159.158.21" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-27.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.22" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "IS-UK#1", "hostname": "node-uk-27.protonvpn.net", "wgpubkey": "/0vRg+ymjCXdqFf7cqZvZ19Dkv1adYR+NIOLQ+XvEgA=", "secure_core": true, "ips": [ "185.159.158.22" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-09.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.122" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-09.protonvpn.net", "wgpubkey": "lV7oTc0YRiXHOWTm6qMGIVargMQEXw5xAgS4T9WWlyo=", "secure_core": true, "ips": [ "185.159.156.122" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-10.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.123" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-10.protonvpn.net", "wgpubkey": "lMm8Gocz1SIU/eAhpBzPHIWvAxJ30Oyeaj2PvmNl/Qk=", "secure_core": true, "ips": [ "185.159.156.123" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-13.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.99" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-13.protonvpn.net", "wgpubkey": "ic5vxFWQEX5lRVwgx2vfE1xYKXQuwQi1TGDSkR0fsEY=", "secure_core": true, "ips": [ "185.159.156.99" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-28.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.139" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-28.protonvpn.net", "wgpubkey": "Nt2+ldtk/E26ew70Znlbk2IJLccJS7Hi4Mq6ohCVtDw=", "secure_core": true, "ips": [ "185.159.156.139" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-29.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.140" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-29.protonvpn.net", "wgpubkey": "tfO3E5NaGJZgUzZ/M6dfsPGlpC08UeHGRo2iYRBO+GQ=", "secure_core": true, "ips": [ "185.159.156.140" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-30.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.141" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "SE-UK#1", "hostname": "node-uk-30.protonvpn.net", "wgpubkey": "kNPJPSh9cam56piHoWP3ZVkWRgvgcuspf2X6IXhiZVU=", "secure_core": true, "ips": [ "185.159.156.141" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#230", "hostname": "node-uk-22.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.40.63.129" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#230", "hostname": "node-uk-22.protonvpn.net", "wgpubkey": "kYWXMo4RQ08rekIUo0keVmqRkfhPrB8Y288ZQ7ZMYjU=", "stream": true, "ips": [ "149.40.63.129" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#330", "hostname": "node-uk-23.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.40.48.225" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#330", "hostname": "node-uk-23.protonvpn.net", "wgpubkey": "VJHNhHnzYw3UTJb6EDY+280TkNMtlz1SShJ7wMvGmkQ=", "stream": true, "ips": [ "149.40.48.225" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#469", "hostname": "node-uk-24.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.40.48.106" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#469", "hostname": "node-uk-24.protonvpn.net", "wgpubkey": "q8eGv8tYlyBb5OIaIfm6ddI4/XmDZxYvMjGVf9L1vGU=", "stream": true, "ips": [ "149.40.48.106" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#534", "hostname": "node-uk-27.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.146.1" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#534", "hostname": "node-uk-27.protonvpn.net", "wgpubkey": "/0vRg+ymjCXdqFf7cqZvZ19Dkv1adYR+NIOLQ+XvEgA=", "stream": true, "port_forward": true, "ips": [ "79.127.146.1" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#569", "hostname": "node-uk-28.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.146.206" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#569", "hostname": "node-uk-28.protonvpn.net", "wgpubkey": "Nt2+ldtk/E26ew70Znlbk2IJLccJS7Hi4Mq6ohCVtDw=", "stream": true, "port_forward": true, "ips": [ "79.127.146.206" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#634", "hostname": "node-uk-30.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.146.156" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#634", "hostname": "node-uk-30.protonvpn.net", "wgpubkey": "kNPJPSh9cam56piHoWP3ZVkWRgvgcuspf2X6IXhiZVU=", "stream": true, "port_forward": true, "ips": [ "79.127.146.156" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#734", "hostname": "node-uk-34.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.20.17.193" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#734", "hostname": "node-uk-34.protonvpn.net", "wgpubkey": "5ytZ9XOzfgE+bRrychrd7CkNwDUSPMgTq1eWoKT1yhQ=", "stream": true, "port_forward": true, "ips": [ "84.20.17.193" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#769", "hostname": "node-uk-35.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.20.17.194" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#769", "hostname": "node-uk-35.protonvpn.net", "wgpubkey": "KJ7fhxo9K7RGa2odYgZRn3ZCgMrUC0lkCDpVNHESrjA=", "stream": true, "port_forward": true, "ips": [ "84.20.17.194" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#838", "hostname": "node-uk-37.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.20.17.196" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#838", "hostname": "node-uk-37.protonvpn.net", "wgpubkey": "q/7s87oMzmhF1ueLdaeMf/yEdTECAbGiEi174RIz4QM=", "stream": true, "port_forward": true, "ips": [ "84.20.17.196" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#865", "hostname": "node-uk-38.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.20.17.197" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#865", "hostname": "node-uk-38.protonvpn.net", "wgpubkey": "sspL1PlAkxaLb8YtQN/rgESNE2q9qBQtbYq9YqVKpEw=", "stream": true, "port_forward": true, "ips": [ "84.20.17.197" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "server_name": "UK#882", "hostname": "node-uk-39.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.20.17.198" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "London", "server_name": "UK#882", "hostname": "node-uk-39.protonvpn.net", "wgpubkey": "v6eEIcGqds6Hcsw5upuJ9H4JNdq/istQ7GoLXGSFQR0=", "stream": true, "port_forward": true, "ips": [ "84.20.17.198" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "server_name": "UK#234", "hostname": "node-uk-20.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.181.34" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "Manchester", "server_name": "UK#234", "hostname": "node-uk-20.protonvpn.net", "wgpubkey": "rASRjr/WnYDqR/aW824X2KfIxBIdS5nXQgnKly0TmBo=", "stream": true, "port_forward": true, "ips": [ "146.70.181.34" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "Manchester", "server_name": "UK#424", "hostname": "node-uk-14.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.133.130" ] }, { "vpn": "wireguard", "country": "United Kingdom", "city": "Manchester", "server_name": "UK#424", "hostname": "node-uk-14.protonvpn.net", "wgpubkey": "SrT34F0BbJq2U7v8/1V1MRFUMnn7YixbhWUN01xnF2Q=", "stream": true, "port_forward": true, "ips": [ "146.70.133.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "server_name": "US-VA#1", "hostname": "node-us-119.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.156.46.33" ] }, { "vpn": "wireguard", "country": "United States", "city": "Ashburn", "server_name": "US-VA#1", "hostname": "node-us-119.protonvpn.net", "wgpubkey": "zAIZj//t14xuriUMSlWk4/J2jox6I/JMzHL1Y3D/WUE=", "stream": true, "port_forward": true, "ips": [ "185.156.46.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "server_name": "US-VA#110", "hostname": "node-us-207.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "154.47.22.65" ] }, { "vpn": "wireguard", "country": "United States", "city": "Ashburn", "server_name": "US-VA#110", "hostname": "node-us-207.protonvpn.net", "wgpubkey": "yYcyNBfbU6SWkTLNrzK7peMXHCkG4FKg9bk2D/5yLCo=", "stream": true, "ips": [ "154.47.22.65" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "server_name": "US-VA#114", "hostname": "node-us-219.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "154.47.22.77" ] }, { "vpn": "wireguard", "country": "United States", "city": "Ashburn", "server_name": "US-VA#114", "hostname": "node-us-219.protonvpn.net", "wgpubkey": "YHSRY7kE+yE/rMDmeStrdoMVNbSnk0swQVP4KxiB0hg=", "stream": true, "ips": [ "154.47.22.77" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "server_name": "US-VA#141", "hostname": "node-us-224.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "154.47.22.90" ] }, { "vpn": "wireguard", "country": "United States", "city": "Ashburn", "server_name": "US-VA#141", "hostname": "node-us-224.protonvpn.net", "wgpubkey": "e3NMqmeAfSRFKRXou+nAvUloxcE8oz/cUtgIJ3OBFSQ=", "stream": true, "ips": [ "154.47.22.90" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "server_name": "US-VA#145", "hostname": "node-us-390.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.100.65" ] }, { "vpn": "wireguard", "country": "United States", "city": "Ashburn", "server_name": "US-VA#145", "hostname": "node-us-390.protonvpn.net", "wgpubkey": "GCg0NQPfHBU9w41/Dnlexlp4oDgfQHTGzLrg/UXozXU=", "stream": true, "port_forward": true, "ips": [ "89.222.100.65" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "server_name": "US-VA#42", "hostname": "node-us-325.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.227.1" ] }, { "vpn": "wireguard", "country": "United States", "city": "Ashburn", "server_name": "US-VA#42", "hostname": "node-us-325.protonvpn.net", "wgpubkey": "UYV/TKeeacucbQhg888LVINXmiSWR7PRcwDcqqks3Ug=", "stream": true, "ips": [ "149.102.227.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Ashburn", "server_name": "US-VA#52", "hostname": "node-us-326.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.227.30" ] }, { "vpn": "wireguard", "country": "United States", "city": "Ashburn", "server_name": "US-VA#52", "hostname": "node-us-326.protonvpn.net", "wgpubkey": "OuhID2usMSMoGAiLExUhH0lrOMJQ3v8xFWS+6G3JLRs=", "stream": true, "ips": [ "149.102.227.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-FREE#38", "hostname": "node-us-56.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "89.187.171.225" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-FREE#38", "hostname": "node-us-56.protonvpn.net", "wgpubkey": "SC3K+dUvwvU3yammLuEZ0YEVmRe+YwYvQHftqJA2fms=", "free": true, "ips": [ "89.187.171.225" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#198", "hostname": "node-us-249.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.22.94.1" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#198", "hostname": "node-us-249.protonvpn.net", "wgpubkey": "RAy+GOFz+bdG0l/wS+4J2AcpcVyUc2xbR6JR1Q8zJg4=", "stream": true, "ips": [ "149.22.94.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#222", "hostname": "node-us-69.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.187.170.135" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#222", "hostname": "node-us-69.protonvpn.net", "wgpubkey": "ce06fOftuyKP16IymSeHUNeTs4aGfA3SA033wGHrixg=", "stream": true, "port_forward": true, "ips": [ "89.187.170.135" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#29-TOR", "hostname": "us-ga-29-tor.protonvpn.net", "tcp": true, "udp": true, "tor": true, "ips": [ "89.187.171.248" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#29-TOR", "hostname": "us-ga-29-tor.protonvpn.net", "wgpubkey": "E5JWfTrD/cRf5W4shN34r83jtyMurnv+SL+BnYOk5yA=", "tor": true, "ips": [ "89.187.171.248" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#298", "hostname": "node-us-315.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "45.134.140.59" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#298", "hostname": "node-us-315.protonvpn.net", "wgpubkey": "IV0rNO3lSM0n0yEbCUtEwFnO0vPUbUNurIFnO6AxRhI=", "stream": true, "ips": [ "45.134.140.59" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#322", "hostname": "node-us-316.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.22.94.113" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#322", "hostname": "node-us-316.protonvpn.net", "wgpubkey": "vrQlzOff8/CWCDVaesXMZLfQaOE4qrdY2BJUjWeRHyA=", "stream": true, "ips": [ "149.22.94.113" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#398", "hostname": "node-us-328.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.242.59" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#398", "hostname": "node-us-328.protonvpn.net", "wgpubkey": "6z8YI8d9MQSp0Wald17JMADTNkIRVoc1ODrENTqW5EE=", "stream": true, "ips": [ "149.102.242.59" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#422", "hostname": "node-us-329.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.242.1" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#422", "hostname": "node-us-329.protonvpn.net", "wgpubkey": "Y0z4FKdn1uBNAJsUe/oIpM1JhK3hBwnnPlHJ3mvLy1Y=", "stream": true, "ips": [ "149.102.242.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#498", "hostname": "node-us-396.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.103.6" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#498", "hostname": "node-us-396.protonvpn.net", "wgpubkey": "poZ/l0/0JH3Ap4LmapUcXEsH/myhLU/DMqKy+w6cOjE=", "stream": true, "port_forward": true, "ips": [ "89.222.103.6" ] }, { "vpn": "openvpn", "country": "United States", "city": "Atlanta", "server_name": "US-GA#522", "hostname": "node-us-397.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.222.103.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "Atlanta", "server_name": "US-GA#522", "hostname": "node-us-397.protonvpn.net", "wgpubkey": "Y7GE6kEhynBm/OjDE8zzIW+eL2sLeaR2iLnq8IMIljE=", "stream": true, "port_forward": true, "ips": [ "89.222.103.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "server_name": "US-MA#101", "hostname": "node-us-408.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.160.216" ] }, { "vpn": "wireguard", "country": "United States", "city": "Boston", "server_name": "US-MA#101", "hostname": "node-us-408.protonvpn.net", "wgpubkey": "QV+zjwyGF91xEh+bC1ZJXK1B7K9wGlbsds1bkRidIEA=", "stream": true, "port_forward": true, "ips": [ "79.127.160.216" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "server_name": "US-MA#13", "hostname": "node-us-317.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.160.187" ] }, { "vpn": "wireguard", "country": "United States", "city": "Boston", "server_name": "US-MA#13", "hostname": "node-us-317.protonvpn.net", "wgpubkey": "bb/CPM+G5wt6VrDIdisuxrUNEqfH5hPxVw/+pYAOcWw=", "stream": true, "port_forward": true, "ips": [ "79.127.160.187" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "server_name": "US-MA#150", "hostname": "node-us-410.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "62.93.176.130" ] }, { "vpn": "wireguard", "country": "United States", "city": "Boston", "server_name": "US-MA#150", "hostname": "node-us-410.protonvpn.net", "wgpubkey": "xmO3O41aF4PrO+KHX0OfTDmApqWRTbuf1GBQTYSMkl8=", "stream": true, "port_forward": true, "ips": [ "62.93.176.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "server_name": "US-MA#201", "hostname": "node-us-411.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.160.244" ] }, { "vpn": "wireguard", "country": "United States", "city": "Boston", "server_name": "US-MA#201", "hostname": "node-us-411.protonvpn.net", "wgpubkey": "A+M+tGj1r0fwJ1zscj3t93XEaskJmxU8GFlGcSCukFc=", "stream": true, "port_forward": true, "ips": [ "79.127.160.244" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "server_name": "US-MA#209", "hostname": "node-us-412.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "62.93.176.131" ] }, { "vpn": "wireguard", "country": "United States", "city": "Boston", "server_name": "US-MA#209", "hostname": "node-us-412.protonvpn.net", "wgpubkey": "m3h3YZKWjbFofGG7LIPIB1SvmlNR6y4tYYZcY6+G5j8=", "stream": true, "port_forward": true, "ips": [ "62.93.176.131" ] }, { "vpn": "openvpn", "country": "United States", "city": "Boston", "server_name": "US-MA#42", "hostname": "node-us-318.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.160.158" ] }, { "vpn": "wireguard", "country": "United States", "city": "Boston", "server_name": "US-MA#42", "hostname": "node-us-318.protonvpn.net", "wgpubkey": "tTIslIExSFQA1SBJcYnAqoSU/6w3uFIruhq0mLno8Ds=", "stream": true, "port_forward": true, "ips": [ "79.127.160.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-FREE#46", "hostname": "node-us-156.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "89.187.180.55" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-FREE#46", "hostname": "node-us-156.protonvpn.net", "wgpubkey": "yB6ySO0kjqbgVWanDYKDgWoAMwM3X//nBiKXwaqmiwU=", "free": true, "ips": [ "89.187.180.55" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#1", "hostname": "node-us-320.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.136.46" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#1", "hostname": "node-us-320.protonvpn.net", "wgpubkey": "gGPru0ocjXFD71tRrDb1W7ikqABFj6lFOgwhxO51iGI=", "stream": true, "port_forward": true, "ips": [ "79.127.136.46" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#149", "hostname": "node-us-240.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "87.249.134.138" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#149", "hostname": "node-us-240.protonvpn.net", "wgpubkey": "WNLAmQkeAvdg9QRFMXq7EuwpEWWkltWwiS/DGIcjHjs=", "stream": true, "ips": [ "87.249.134.138" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#214", "hostname": "node-us-204.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "154.47.25.129" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#214", "hostname": "node-us-204.protonvpn.net", "wgpubkey": "KwU9qcRO0eamCxh/iF7pL2RAOOJezHPVqkIeANcS5Wk=", "stream": true, "ips": [ "154.47.25.129" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#249", "hostname": "node-us-130.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "89.187.180.27" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#249", "hostname": "node-us-130.protonvpn.net", "wgpubkey": "houxrsE+RottYWy4pSsRM8ZEReqN0cEzPGtYOzmjOF0=", "stream": true, "port_forward": true, "ips": [ "89.187.180.27" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#310", "hostname": "node-us-300.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.220.251" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#310", "hostname": "node-us-300.protonvpn.net", "wgpubkey": "DlBE1UCIh7mUw30hFT/akjKAd0mQn9+JC1/AHxZvxQs=", "stream": true, "port_forward": true, "ips": [ "79.127.220.251" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#349", "hostname": "node-us-304.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.136.65" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#349", "hostname": "node-us-304.protonvpn.net", "wgpubkey": "ntBhUr1CJmbVydw6cgccMFGSzEcPugiikF/l4NuDygA=", "stream": true, "port_forward": true, "ips": [ "79.127.136.65" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#510", "hostname": "node-us-364.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.187.156" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#510", "hostname": "node-us-364.protonvpn.net", "wgpubkey": "Ad0UnBi3NeIgVpM1baC8HAp6wfSli0wGS1OCmS7uYRo=", "stream": true, "port_forward": true, "ips": [ "79.127.187.156" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#514", "hostname": "node-us-365.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.136.193" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#514", "hostname": "node-us-365.protonvpn.net", "wgpubkey": "CBZYx3W31mUvgXkqqDCNts8l3rIE3sJTHLIZPPPoxCs=", "stream": true, "port_forward": true, "ips": [ "79.127.136.193" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#549", "hostname": "node-us-366.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.187.185" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#549", "hostname": "node-us-366.protonvpn.net", "wgpubkey": "MBmMFjf6WctesXSLUAHwUYJ6LG0ttkXVIahHUpZTUlA=", "stream": true, "port_forward": true, "ips": [ "79.127.187.185" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "server_name": "US-IL#610", "hostname": "node-us-389.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.136.222" ] }, { "vpn": "wireguard", "country": "United States", "city": "Chicago", "server_name": "US-IL#610", "hostname": "node-us-389.protonvpn.net", "wgpubkey": "cxkp18K1rZn0tSUKTmq9fJTGKvPq5Kby/1IbjNe3kDI=", "stream": true, "port_forward": true, "ips": [ "79.127.136.222" ] }, { "vpn": "openvpn", "country": "United States", "city": "Columbus", "server_name": "US-OH#1", "hostname": "node-us-313.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.84.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "Columbus", "server_name": "US-OH#1", "hostname": "node-us-313.protonvpn.net", "wgpubkey": "Rtsl6k9WA9t04Vt+EDUD3TlSr9+YL6YcTFwiSB1qBwA=", "stream": true, "port_forward": true, "ips": [ "146.70.84.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "server_name": "US-TX#179", "hostname": "node-us-203.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "37.19.200.26" ] }, { "vpn": "wireguard", "country": "United States", "city": "Dallas", "server_name": "US-TX#179", "hostname": "node-us-203.protonvpn.net", "wgpubkey": "vGD6tyZKW743G1OHC/F4DAuyD+gJqSv8OTlRk8iODEA=", "stream": true, "port_forward": true, "ips": [ "37.19.200.26" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "server_name": "US-TX#220", "hostname": "node-us-298.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.217.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "Dallas", "server_name": "US-TX#220", "hostname": "node-us-298.protonvpn.net", "wgpubkey": "7KAAj4pUAexy8s+S01hn1g61oyhfVpA18GrPD0Q8vnM=", "stream": true, "port_forward": true, "ips": [ "95.173.217.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "server_name": "US-TX#379", "hostname": "node-us-378.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.217.158" ] }, { "vpn": "wireguard", "country": "United States", "city": "Dallas", "server_name": "US-TX#379", "hostname": "node-us-378.protonvpn.net", "wgpubkey": "RALtlmcEaxlpjTXyVB5cK4knMAdIHQg0iA1ns60hPi4=", "stream": true, "port_forward": true, "ips": [ "95.173.217.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "server_name": "US-TX#420", "hostname": "node-us-377.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.217.187" ] }, { "vpn": "wireguard", "country": "United States", "city": "Dallas", "server_name": "US-TX#420", "hostname": "node-us-377.protonvpn.net", "wgpubkey": "St4N3LILVN7IAAqjB4kv4G+6ErWWG3DKkXnNWgjpaXY=", "stream": true, "port_forward": true, "ips": [ "95.173.217.187" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "server_name": "US-TX#520", "hostname": "node-us-443.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.217.216" ] }, { "vpn": "wireguard", "country": "United States", "city": "Dallas", "server_name": "US-TX#520", "hostname": "node-us-443.protonvpn.net", "wgpubkey": "3zL1jmt/FjUfvEdxlxtgzTUDBrTALXjAyx0Tg8/6nV0=", "stream": true, "port_forward": true, "ips": [ "95.173.217.216" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "server_name": "US-TX#63", "hostname": "node-us-238.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.217.66" ] }, { "vpn": "wireguard", "country": "United States", "city": "Dallas", "server_name": "US-TX#63", "hostname": "node-us-238.protonvpn.net", "wgpubkey": "dJWLpQaWP1hw0QLQW84B++fWtopgneOafYVZXyyUoAM=", "stream": true, "port_forward": true, "ips": [ "146.70.217.66" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#112", "hostname": "node-us-302.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.221.33" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#112", "hostname": "node-us-302.protonvpn.net", "wgpubkey": "YSj10LI8/Im58sgiA7n6Szw96GgE0p3TZv3MfbkxZH0=", "stream": true, "port_forward": true, "ips": [ "95.173.221.33" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#143", "hostname": "node-us-306.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.221.92" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#143", "hostname": "node-us-306.protonvpn.net", "wgpubkey": "jYGCeCwc2fkhmaXOBJEHPwXHRdPbAhizTiG4zK5ycBc=", "stream": true, "port_forward": true, "ips": [ "95.173.221.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#21-TOR", "hostname": "us-co-21-tor.protonvpn.net", "tcp": true, "udp": true, "tor": true, "ips": [ "84.17.63.17" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#21-TOR", "hostname": "us-co-21-tor.protonvpn.net", "wgpubkey": "wKzdG/orqK8ZHgBUaIB6RvxjuZvV2s58e+Palmqx1Co=", "tor": true, "ips": [ "84.17.63.17" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#216", "hostname": "node-us-362.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.221.187" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#216", "hostname": "node-us-362.protonvpn.net", "wgpubkey": "xNAHXhTgYJEPWDwT4g80nqfcfA6bknhNkCRfDOPMcUA=", "stream": true, "port_forward": true, "ips": [ "95.173.221.187" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#243", "hostname": "node-us-363.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "95.173.221.158" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#243", "hostname": "node-us-363.protonvpn.net", "wgpubkey": "g98KJeIEtR9wbwgVmmaQXR9rEPV+T2RJWf2UE4gB1Ss=", "stream": true, "port_forward": true, "ips": [ "95.173.221.158" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#73", "hostname": "node-us-74.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.17.63.54" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#73", "hostname": "node-us-74.protonvpn.net", "wgpubkey": "uQAr4o8x8M9aONM/nMu7DHLZCUobnRILlaTPmnD8ISw=", "stream": true, "port_forward": true, "ips": [ "84.17.63.54" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#77", "hostname": "node-us-58.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "84.17.63.8" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#77", "hostname": "node-us-58.protonvpn.net", "wgpubkey": "Yu2fgynXUAASCkkrXWj76LRriFxKMTQq+zjTzyOKG1Q=", "stream": true, "port_forward": true, "ips": [ "84.17.63.8" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "server_name": "US-CO#94", "hostname": "node-us-93.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "212.102.44.161" ] }, { "vpn": "wireguard", "country": "United States", "city": "Denver", "server_name": "US-CO#94", "hostname": "node-us-93.protonvpn.net", "wgpubkey": "KJr11pgXcjU4BTRb3gJsijwKwI1m/u6vMURUwajagyY=", "stream": true, "port_forward": true, "ips": [ "212.102.44.161" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "server_name": "US-FREE#44", "hostname": "node-us-153.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "37.19.221.196" ] }, { "vpn": "wireguard", "country": "United States", "city": "Houston", "server_name": "US-FREE#44", "hostname": "node-us-153.protonvpn.net", "wgpubkey": "4wqoqnWaoR8FLWkihmN4DVma/8lFn1fXQMRVs/4TD0A=", "free": true, "ips": [ "37.19.221.196" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "server_name": "US-FREE#45", "hostname": "node-us-154.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "37.19.221.199" ] }, { "vpn": "wireguard", "country": "United States", "city": "Houston", "server_name": "US-FREE#45", "hostname": "node-us-154.protonvpn.net", "wgpubkey": "qBUTSloO8PKGUl0ZrfTx1AZwwCwJRB+9kGD0hquFqVQ=", "free": true, "ips": [ "37.19.221.199" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "server_name": "US-FREE#47", "hostname": "node-us-155.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "37.19.221.198" ] }, { "vpn": "wireguard", "country": "United States", "city": "Houston", "server_name": "US-FREE#47", "hostname": "node-us-155.protonvpn.net", "wgpubkey": "ksK3faRBQlFLul2FcKPphBR9LYR+6/FbP1etg0T2liA=", "free": true, "ips": [ "37.19.221.198" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "SE-US#2", "hostname": "node-us-226.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.121" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "SE-US#2", "hostname": "node-us-226.protonvpn.net", "wgpubkey": "fDSDNxB7yfHbaemo7cAFMWBsEm31bVAAradL4hbBEG0=", "secure_core": true, "ips": [ "185.159.156.121" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#1057", "hostname": "node-us-434.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.34.251.135" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#1057", "hostname": "node-us-434.protonvpn.net", "wgpubkey": "fH7N5whN1gEJxOOz0vGaS5RwgToTRaFwrxbi9tLmg0k=", "stream": true, "port_forward": true, "ips": [ "149.34.251.135" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#221", "hostname": "node-us-171.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.174.82" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#221", "hostname": "node-us-171.protonvpn.net", "wgpubkey": "WORwyyPb5VRQTmKfAoemc4rp8ROmfAFHN7hi2Mv/F3Y=", "stream": true, "port_forward": true, "ips": [ "146.70.174.82" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#321", "hostname": "node-us-212.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.195.98" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#321", "hostname": "node-us-212.protonvpn.net", "wgpubkey": "5CiaJpve8E308qd7nrpacFBg6zj01SenfPOBBtf4/3A=", "stream": true, "port_forward": true, "ips": [ "146.70.195.98" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#578", "hostname": "node-us-357.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.88.30.1" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#578", "hostname": "node-us-357.protonvpn.net", "wgpubkey": "NOpx9MBniYV6+OpXxTsrFwvA5AG8jUlg2Ppn5usgECk=", "stream": true, "ips": [ "149.88.30.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#625", "hostname": "node-us-359.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.88.30.30" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#625", "hostname": "node-us-359.protonvpn.net", "wgpubkey": "+9owkp2UcdRUGMNQC2x0pM5mMPRtm39gb2lIsJ92nBU=", "stream": true, "ips": [ "149.88.30.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#678", "hostname": "node-us-384.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.228.193" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#678", "hostname": "node-us-384.protonvpn.net", "wgpubkey": "gllq5CYSNwqDgciSMo/gDAwS9b5bS1lch2eOlBdPL2E=", "stream": true, "ips": [ "149.102.228.193" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#725", "hostname": "node-us-385.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.228.85" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#725", "hostname": "node-us-385.protonvpn.net", "wgpubkey": "qY+g+un4N6jVg2Q6cSqINpwirgQTmREi0YU15j72X2g=", "stream": true, "ips": [ "149.102.228.85" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#778", "hostname": "node-us-387.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.228.29" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#778", "hostname": "node-us-387.protonvpn.net", "wgpubkey": "Az021MwJA2cczjrXE+NtxVsQaVq2apEkmccB6iE7RzU=", "stream": true, "ips": [ "149.102.228.29" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#929", "hostname": "node-us-430.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.34.251.137" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#929", "hostname": "node-us-430.protonvpn.net", "wgpubkey": "E9m7utnaVJ64+Z3zKXbxfxSMZ/CpKWa8R3mDwKczF2E=", "stream": true, "port_forward": true, "ips": [ "149.34.251.137" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#970", "hostname": "node-us-432.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.34.251.133" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-CA#970", "hostname": "node-us-432.protonvpn.net", "wgpubkey": "oU0svfLNDe0TmxiBYZCOJmdcnTomFumFztFtuO1xrFU=", "stream": true, "port_forward": true, "ips": [ "149.34.251.133" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-FREE#111", "hostname": "node-us-438.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.34.251.136" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-FREE#111", "hostname": "node-us-438.protonvpn.net", "wgpubkey": "4om6JQmpiDLuFY39hjAMtoRmc6F9auK4PIVZiZwxAAc=", "free": true, "ips": [ "149.34.251.136" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "server_name": "US-FREE#94", "hostname": "node-us-292.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.22.80.114" ] }, { "vpn": "wireguard", "country": "United States", "city": "Los Angeles", "server_name": "US-FREE#94", "hostname": "node-us-292.protonvpn.net", "wgpubkey": "0t8cQ6GkwX1CYTO8AuIwDjbBZKYFrYZjEDqkUNCBAzQ=", "free": true, "ips": [ "149.22.80.114" ] }, { "vpn": "openvpn", "country": "United States", "city": "McAllen", "server_name": "US-TX#271", "hostname": "node-us-308.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.147.3" ] }, { "vpn": "wireguard", "country": "United States", "city": "McAllen", "server_name": "US-TX#271", "hostname": "node-us-308.protonvpn.net", "wgpubkey": "STCyyen6+FW1HBHzApUVKLV2xlmr5RYWACUEIvQhUwU=", "stream": true, "port_forward": true, "ips": [ "79.127.147.3" ] }, { "vpn": "openvpn", "country": "United States", "city": "McAllen", "server_name": "US-TX#320", "hostname": "node-us-309.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.147.1" ] }, { "vpn": "wireguard", "country": "United States", "city": "McAllen", "server_name": "US-TX#320", "hostname": "node-us-309.protonvpn.net", "wgpubkey": "iGTgB8N1nKujcIQ+ehJeBoxuwlBtmkqbVRhhuPJOmTg=", "stream": true, "port_forward": true, "ips": [ "79.127.147.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "McAllen", "server_name": "US-TX#328", "hostname": "node-us-310.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.147.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "McAllen", "server_name": "US-TX#328", "hostname": "node-us-310.protonvpn.net", "wgpubkey": "GbuOJ8Dho0iXlS0+ma2teQ4RxhBALWK6RB94qA1GZDA=", "stream": true, "port_forward": true, "ips": [ "79.127.147.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Memphis", "server_name": "US-TN#12", "hostname": "node-us-311.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.8.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "Memphis", "server_name": "US-TN#12", "hostname": "node-us-311.protonvpn.net", "wgpubkey": "/kI6Rpkj4F0fDODfsd1FPoJt9CHdzVKJjP9OojRt8Fw=", "stream": true, "port_forward": true, "ips": [ "146.70.8.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FL#102", "hostname": "node-us-181.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.147.114" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FL#102", "hostname": "node-us-181.protonvpn.net", "wgpubkey": "uHxpjPRK6pzTRiHfi+4TpkVZWgL26/KZKlTV4TmItEk=", "stream": true, "port_forward": true, "ips": [ "146.70.147.114" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FL#202", "hostname": "node-us-215b.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.183.130" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FL#202", "hostname": "node-us-215b.protonvpn.net", "wgpubkey": "dH0MHycVpN4cup7zPDv7/SRErl8waxIOcbU2ASDRohk=", "stream": true, "port_forward": true, "ips": [ "146.70.183.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FL#253", "hostname": "node-us-227.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.224.162" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FL#253", "hostname": "node-us-227.protonvpn.net", "wgpubkey": "D7+AG9clQ1F/6uaY8apeoKDOKAD7p6tf65dFIVLGsHg=", "stream": true, "ips": [ "149.102.224.162" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FL#302", "hostname": "node-us-183.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.87.214.18" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FL#302", "hostname": "node-us-183.protonvpn.net", "wgpubkey": "d2QJ4qxbpm7HSiEbssGku1X+UNnZBcEWcApgS0xgI34=", "stream": true, "port_forward": true, "ips": [ "45.87.214.18" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FL#353", "hostname": "node-us-446.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "138.199.50.150" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FL#353", "hostname": "node-us-446.protonvpn.net", "wgpubkey": "gKJOcx7sYU7oePVdYNcPEPVR1x8dewyYmmBI/grfKEU=", "stream": true, "port_forward": true, "ips": [ "138.199.50.150" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FL#55", "hostname": "node-us-176.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.45.226" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FL#55", "hostname": "node-us-176.protonvpn.net", "wgpubkey": "BoAWTY6Bzcy6owGEkjeMEjENa/o/CZbkO6WPSynKdHU=", "stream": true, "port_forward": true, "ips": [ "146.70.45.226" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FREE#106", "hostname": "node-us-336.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "138.199.50.134" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FREE#106", "hostname": "node-us-336.protonvpn.net", "wgpubkey": "/iPQhCh0/kEzS60D5ysFOQHSyUAFV9sx77AckhzA9Xw=", "free": true, "ips": [ "138.199.50.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FREE#52", "hostname": "node-us-184.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "146.70.45.82" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FREE#52", "hostname": "node-us-184.protonvpn.net", "wgpubkey": "+X9DFBhm20MXz/f6H2uoApgNF+ZMmizfUXp0uW2XZiQ=", "free": true, "ips": [ "146.70.45.82" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FREE#87", "hostname": "node-us-335.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.102.224.53" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FREE#87", "hostname": "node-us-335.protonvpn.net", "wgpubkey": "q5gaJCz8PxEeE6f8P1lekbR+Q4IP1tyjStnsorQLY3k=", "free": true, "ips": [ "149.102.224.53" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FREE#88", "hostname": "node-us-337.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "138.199.50.139" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FREE#88", "hostname": "node-us-337.protonvpn.net", "wgpubkey": "gow8oSZwAXmv3bv2yaYye5b7GxZVni6gNcz8PxKvWgA=", "free": true, "ips": [ "138.199.50.139" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "server_name": "US-FREE#89", "hostname": "node-us-338.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "138.199.50.129" ] }, { "vpn": "wireguard", "country": "United States", "city": "Miami", "server_name": "US-FREE#89", "hostname": "node-us-338.protonvpn.net", "wgpubkey": "A1lZjTXsjqmvmehp9i0zV+jzl89Vf2y2fXxeMRSjp18=", "free": true, "ips": [ "138.199.50.129" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-118.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.169" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-118.protonvpn.net", "wgpubkey": "LMkFEUVVqWl1di39x+CloLdXXH/X9P/vKXeVXohvqlc=", "secure_core": true, "ips": [ "62.169.136.169" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-120.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.170" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-120.protonvpn.net", "wgpubkey": "0lVdORRneTkqH7Hh12Z5hnATz+kXmkiSwz8YHHx4Ywg=", "secure_core": true, "ips": [ "62.169.136.170" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-121.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.171" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-121.protonvpn.net", "wgpubkey": "5vyz98gHBbT8z1bdNNZdGYAW0NJIgw1pgr+E6WlJPQA=", "secure_core": true, "ips": [ "62.169.136.171" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-123.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.172" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-123.protonvpn.net", "wgpubkey": "mn8WlkJqY66j17ZbwN2DB0Nj74zG/DicuRQZtxtQsTM=", "secure_core": true, "ips": [ "62.169.136.172" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-125.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.173" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-125.protonvpn.net", "wgpubkey": "wqJcz4akzVFxx35aJ5B7G/IJ9qsRvpcGNub3rLHcqXo=", "secure_core": true, "ips": [ "62.169.136.173" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-127.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.174" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-127.protonvpn.net", "wgpubkey": "3Lz5VpqnS7wfnOWVYFNCFHl+JuuanJ/hB2TqOKQZxVI=", "secure_core": true, "ips": [ "62.169.136.174" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-129.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.175" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-129.protonvpn.net", "wgpubkey": "69bM/DJY8bKExbCqUhLKY4L1NXaYxzwi/bf/61MCBR8=", "secure_core": true, "ips": [ "62.169.136.175" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-160.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.195" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-160.protonvpn.net", "wgpubkey": "XlC8xkM0TQpsm/9c5j5u5S7wrI0VliBvXBiKji3UQzU=", "secure_core": true, "ips": [ "62.169.136.195" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-177.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.216" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-177.protonvpn.net", "wgpubkey": "2nZkJr74LHqiPIAjDmdo1EJrN7DJLVq7N92RNYv7cSk=", "secure_core": true, "ips": [ "62.169.136.216" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-178.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.215" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-178.protonvpn.net", "wgpubkey": "sr/YwNGtQzjEi4eJ5fwswkFxuh2Au6NKN5MzUiWV9FY=", "secure_core": true, "ips": [ "62.169.136.215" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-187.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.250" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-187.protonvpn.net", "wgpubkey": "siQYYgaXYcbz1W0fR0Tpq6ExLLggu/xCOdDOfitDexM=", "secure_core": true, "ips": [ "62.169.136.250" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-189.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.249" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-189.protonvpn.net", "wgpubkey": "9HAY7JVBdohkIj1ViPJW2huz5roF89F1/5/uqrg2gh4=", "secure_core": true, "ips": [ "62.169.136.249" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-200.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.233" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-200.protonvpn.net", "wgpubkey": "DzAE6lLRbKUNuxFkuN2gI+sokPARCKYw/E1DyaXQWHc=", "secure_core": true, "ips": [ "62.169.136.233" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-204.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.246" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-204.protonvpn.net", "wgpubkey": "KwU9qcRO0eamCxh/iF7pL2RAOOJezHPVqkIeANcS5Wk=", "secure_core": true, "ips": [ "62.169.136.246" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-205.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.247" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-205.protonvpn.net", "wgpubkey": "j+clV7yQPWWhQ7v4/8AWBzZ5DNUGSvruZAIsVtyZ92A=", "secure_core": true, "ips": [ "62.169.136.247" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-206.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.248" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-206.protonvpn.net", "wgpubkey": "JWoqa2qmbXiScPZdipli9Bvb6aqwaol1FdxMFN4d1Tg=", "secure_core": true, "ips": [ "62.169.136.248" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-209.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.120" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-209.protonvpn.net", "wgpubkey": "3UovAm+ES1DXOEjkBiCOEnOHaicDmaVHXmym6oPE7C8=", "secure_core": true, "ips": [ "62.169.136.120" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-210.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.121" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-210.protonvpn.net", "wgpubkey": "pD8KPLHTUnyGvfZxSZn5mgedaIZIr+CV8Ci264WdEWU=", "secure_core": true, "ips": [ "62.169.136.121" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-211.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.122" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-211.protonvpn.net", "wgpubkey": "e3FyPc2qkPxQITc2Gaa9HerwCAejg1VafyZ+QLiwFCA=", "secure_core": true, "ips": [ "62.169.136.122" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-212.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.123" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-212.protonvpn.net", "wgpubkey": "5CiaJpve8E308qd7nrpacFBg6zj01SenfPOBBtf4/3A=", "secure_core": true, "ips": [ "62.169.136.123" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-213.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.124" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-213.protonvpn.net", "wgpubkey": "W212beMkUN0NM9wf4QR4er+Q2wqpYMslj5SG3IGdBCM=", "secure_core": true, "ips": [ "62.169.136.124" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-214.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.126" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-214.protonvpn.net", "wgpubkey": "7Iw04uu95YjDjwE6UlDWZejISeJBK1imqFXDeQInzQ0=", "secure_core": true, "ips": [ "62.169.136.126" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-215b.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.127" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-215b.protonvpn.net", "wgpubkey": "dH0MHycVpN4cup7zPDv7/SRErl8waxIOcbU2ASDRohk=", "secure_core": true, "ips": [ "62.169.136.127" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-216.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.130" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-216.protonvpn.net", "wgpubkey": "PXtm4zWbqySH2QGaI/5ivRVGXPwztXfzMbtoT9Ad0jE=", "secure_core": true, "ips": [ "62.169.136.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-217.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.131" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-217.protonvpn.net", "wgpubkey": "iJIw5umGxtrrSIRxVrSF1Ofu5IDphpBpAJOvsrG4FiI=", "secure_core": true, "ips": [ "62.169.136.131" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-218.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.132" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-218.protonvpn.net", "wgpubkey": "KT6DATq2AiepA8r5YzARCvcczbZoL+Au+rG04JvxBjI=", "secure_core": true, "ips": [ "62.169.136.132" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-219.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.147" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-219.protonvpn.net", "wgpubkey": "YHSRY7kE+yE/rMDmeStrdoMVNbSnk0swQVP4KxiB0hg=", "secure_core": true, "ips": [ "62.169.136.147" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-220.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.148" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-220.protonvpn.net", "wgpubkey": "JpTNgqGxonmaS/1dNbN35JpaZCd+kPw7eMwslJmgRXU=", "secure_core": true, "ips": [ "62.169.136.148" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-223.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.254" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-223.protonvpn.net", "wgpubkey": "MkUR6S5ObCzMx0ZToukggFecdUEjEM2GU/ZhLoz2ICY=", "secure_core": true, "ips": [ "62.169.136.254" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-224.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.70" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-224.protonvpn.net", "wgpubkey": "e3NMqmeAfSRFKRXou+nAvUloxcE8oz/cUtgIJ3OBFSQ=", "secure_core": true, "ips": [ "62.169.136.70" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-225.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.71" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-225.protonvpn.net", "wgpubkey": "4RblBFy7/Vm2VT6SCyZJ1kKGOgdz2k+WxpNQKdw8mmc=", "secure_core": true, "ips": [ "62.169.136.71" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-57.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.92" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-57.protonvpn.net", "wgpubkey": "jqu/dcZfEtote0IN1H4ZFneR8p4sZ7juna+eUndhRgs=", "secure_core": true, "ips": [ "62.169.136.92" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-93.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.142" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-93.protonvpn.net", "wgpubkey": "KJr11pgXcjU4BTRb3gJsijwKwI1m/u6vMURUwajagyY=", "secure_core": true, "ips": [ "62.169.136.142" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-94.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "62.169.136.143" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "CH-US#3", "hostname": "node-us-94.protonvpn.net", "wgpubkey": "z54+LsnV9L6PyS/MO4dPfJ650jiOVLVevYrWf2WsDzg=", "secure_core": true, "ips": [ "62.169.136.143" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-108.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.150" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-108.protonvpn.net", "wgpubkey": "tvJm5a80r4KeOxe0K7BLQ27DYPjCfoGxh1l3DzNg4RI=", "secure_core": true, "ips": [ "185.159.158.150" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-109.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.151" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-109.protonvpn.net", "wgpubkey": "dEsuT/1kn90iBupDFEkkpYbxmZP9pqu9zG5uG01ppns=", "secure_core": true, "ips": [ "185.159.158.151" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-119.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.186" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-119.protonvpn.net", "wgpubkey": "zAIZj//t14xuriUMSlWk4/J2jox6I/JMzHL1Y3D/WUE=", "secure_core": true, "ips": [ "185.159.158.186" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-122.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.188" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-122.protonvpn.net", "wgpubkey": "5Vs6LCNRBfpISEGhbdZMgyNVhrbjxkuflPMfdj9EkTc=", "secure_core": true, "ips": [ "185.159.158.188" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-124.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.189" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-124.protonvpn.net", "wgpubkey": "DmLmc8enWKMicpxkxy2md1derQApeMJibtt2UZnCxG4=", "secure_core": true, "ips": [ "185.159.158.189" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-126.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.190" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-126.protonvpn.net", "wgpubkey": "qDJgY2K+GtC/geqxLN2ZO61LHlwENsMpapC1eGF21mM=", "secure_core": true, "ips": [ "185.159.158.190" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-130.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.192" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-130.protonvpn.net", "wgpubkey": "houxrsE+RottYWy4pSsRM8ZEReqN0cEzPGtYOzmjOF0=", "secure_core": true, "ips": [ "185.159.158.192" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-144.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.185" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-144.protonvpn.net", "wgpubkey": "8NeySGpnCMtwtgwVARpoCNonu9qxQxrE6hFztMcMDkA=", "secure_core": true, "ips": [ "185.159.158.185" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-176.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.210" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-176.protonvpn.net", "wgpubkey": "BoAWTY6Bzcy6owGEkjeMEjENa/o/CZbkO6WPSynKdHU=", "secure_core": true, "ips": [ "185.159.158.210" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-182.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.214" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-182.protonvpn.net", "wgpubkey": "9JeNQPhigBfmRY0aAtRuqBklf8HVhTAyXZcv0I5vZBg=", "secure_core": true, "ips": [ "185.159.158.214" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-183.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.213" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-183.protonvpn.net", "wgpubkey": "d2QJ4qxbpm7HSiEbssGku1X+UNnZBcEWcApgS0xgI34=", "secure_core": true, "ips": [ "185.159.158.213" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-185.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.212" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-185.protonvpn.net", "wgpubkey": "+RKh5rGk9iaI9TwKqCO2iAtDTG6b+NBgwJijaOALNlQ=", "secure_core": true, "ips": [ "185.159.158.212" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-188.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.227" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-188.protonvpn.net", "wgpubkey": "dnLzpdaCyBlnnYS9iBwhPXoTXBQQNStT6/Tx6CytOmg=", "secure_core": true, "ips": [ "185.159.158.227" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-197.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.228" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-197.protonvpn.net", "wgpubkey": "Orm/o/kOBbNLCvxrwdQZHswlHRyz4O8HSaCHJ7YF0Rs=", "secure_core": true, "ips": [ "185.159.158.228" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-199.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.222" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-199.protonvpn.net", "wgpubkey": "ADxD28Omx0nDn+PDjlRaZ4DjvRe19Urjz4tJCFtmNXc=", "secure_core": true, "ips": [ "185.159.158.222" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-201.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.226" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-201.protonvpn.net", "wgpubkey": "sn2DwUHXSLYbub6dVFKRhE2QHcji5I8TMSotCTlGFw0=", "secure_core": true, "ips": [ "185.159.158.226" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-207.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.229" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-207.protonvpn.net", "wgpubkey": "yYcyNBfbU6SWkTLNrzK7peMXHCkG4FKg9bk2D/5yLCo=", "secure_core": true, "ips": [ "185.159.158.229" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-208.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.230" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-208.protonvpn.net", "wgpubkey": "nSo/1FlBPdm/hotIKPb2dFcY5AwZPQPBcbvLdcL6Zw4=", "secure_core": true, "ips": [ "185.159.158.230" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-222.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.231" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-222.protonvpn.net", "wgpubkey": "nZYSL1qRLQRFC71xHVmBxP6XMwTm7yEFGBNtCBckEAg=", "secure_core": true, "ips": [ "185.159.158.231" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-237.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.146" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-237.protonvpn.net", "wgpubkey": "E4gRP4uJvUMxTXVfTDLtkAmfAV7Jyl1uYltU8tlvb2Y=", "secure_core": true, "ips": [ "185.159.158.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-258.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.235" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-258.protonvpn.net", "wgpubkey": "rPDCc4RoglCJ/M4BmFgr2eA8Ob7oc9qTTWG/79rApAI=", "secure_core": true, "ips": [ "185.159.158.235" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-259.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.236" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-259.protonvpn.net", "wgpubkey": "KQ0hvdTjgHoRLCzpC/Mf7vDD+PZr8TqW0faHCE4yDlQ=", "secure_core": true, "ips": [ "185.159.158.236" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-298.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.242" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-298.protonvpn.net", "wgpubkey": "7KAAj4pUAexy8s+S01hn1g61oyhfVpA18GrPD0Q8vnM=", "secure_core": true, "ips": [ "185.159.158.242" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-299.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.243" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-299.protonvpn.net", "wgpubkey": "mngiSxBpH7GU24nnWdBEcnhDnCPn2jq5+ZP3zwPwISA=", "secure_core": true, "ips": [ "185.159.158.243" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-300.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.244" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-300.protonvpn.net", "wgpubkey": "DlBE1UCIh7mUw30hFT/akjKAd0mQn9+JC1/AHxZvxQs=", "secure_core": true, "ips": [ "185.159.158.244" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-304.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.251" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-304.protonvpn.net", "wgpubkey": "ntBhUr1CJmbVydw6cgccMFGSzEcPugiikF/l4NuDygA=", "secure_core": true, "ips": [ "185.159.158.251" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-306.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.67" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-306.protonvpn.net", "wgpubkey": "jYGCeCwc2fkhmaXOBJEHPwXHRdPbAhizTiG4zK5ycBc=", "secure_core": true, "ips": [ "185.159.158.67" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-355.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.78" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-355.protonvpn.net", "wgpubkey": "FqNcmTs4I6TXrZZ0jM3+/CYxSQGGNiSmMBMe4mDqBz4=", "secure_core": true, "ips": [ "185.159.158.78" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-358.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.82" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-358.protonvpn.net", "wgpubkey": "4RIMi9mxTfEEbBIboH6H4RuRCijeMUms3QPMdhgJACI=", "secure_core": true, "ips": [ "185.159.158.82" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-359.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.83" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-359.protonvpn.net", "wgpubkey": "+9owkp2UcdRUGMNQC2x0pM5mMPRtm39gb2lIsJ92nBU=", "secure_core": true, "ips": [ "185.159.158.83" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-360.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.86" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-360.protonvpn.net", "wgpubkey": "XeVyTJgexTGQ6w9xmiosAH6w86n8d7QKs3NBzU0Ze3k=", "secure_core": true, "ips": [ "185.159.158.86" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-363.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.79" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-363.protonvpn.net", "wgpubkey": "g98KJeIEtR9wbwgVmmaQXR9rEPV+T2RJWf2UE4gB1Ss=", "secure_core": true, "ips": [ "185.159.158.79" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-364.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.80" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-364.protonvpn.net", "wgpubkey": "Ad0UnBi3NeIgVpM1baC8HAp6wfSli0wGS1OCmS7uYRo=", "secure_core": true, "ips": [ "185.159.158.80" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-365.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.81" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-365.protonvpn.net", "wgpubkey": "CBZYx3W31mUvgXkqqDCNts8l3rIE3sJTHLIZPPPoxCs=", "secure_core": true, "ips": [ "185.159.158.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-367.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.85" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-367.protonvpn.net", "wgpubkey": "x5hOmXmZyq+EXzywcdmploTENRpqdcsdViVvchDvow4=", "secure_core": true, "ips": [ "185.159.158.85" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-368.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.87" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-368.protonvpn.net", "wgpubkey": "IZGBP1awplflozHsjir/h0fbC+bmGG5ArGXcSUZbaBY=", "secure_core": true, "ips": [ "185.159.158.87" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-381.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.104" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-381.protonvpn.net", "wgpubkey": "JikV7Lj3rjIYG9MePiE19qFwVoUhACYFM7m55rEs2TA=", "secure_core": true, "ips": [ "185.159.158.104" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-385.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.147" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-385.protonvpn.net", "wgpubkey": "qY+g+un4N6jVg2Q6cSqINpwirgQTmREi0YU15j72X2g=", "secure_core": true, "ips": [ "185.159.158.147" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-386.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.156" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-386.protonvpn.net", "wgpubkey": "K4Fask4dC1qurL9ElSTyhKUZ//vtxESEvrKXh0xFQzs=", "secure_core": true, "ips": [ "185.159.158.156" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-387.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.163" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-387.protonvpn.net", "wgpubkey": "Az021MwJA2cczjrXE+NtxVsQaVq2apEkmccB6iE7RzU=", "secure_core": true, "ips": [ "185.159.158.163" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-388.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.164" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-388.protonvpn.net", "wgpubkey": "XvDCw1FTglmXwAGfXCBPwdYXFz6BFuH6fe4kQTepXhY=", "secure_core": true, "ips": [ "185.159.158.164" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-389.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.158.193" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "IS-US#1", "hostname": "node-us-389.protonvpn.net", "wgpubkey": "cxkp18K1rZn0tSUKTmq9fJTGKvPq5Kby/1IbjNe3kDI=", "secure_core": true, "ips": [ "185.159.158.193" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-FREE#154", "hostname": "node-us-162.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "138.199.52.193" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-FREE#154", "hostname": "node-us-162.protonvpn.net", "wgpubkey": "93rOlHiU4A7ACRTdqButvAjwrccdOgOIHwFMumODvgo=", "free": true, "ips": [ "138.199.52.193" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#199", "hostname": "node-us-189.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.202.146" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#199", "hostname": "node-us-189.protonvpn.net", "wgpubkey": "9HAY7JVBdohkIj1ViPJW2huz5roF89F1/5/uqrg2gh4=", "stream": true, "port_forward": true, "ips": [ "146.70.202.146" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#423", "hostname": "node-us-160.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "143.244.44.186" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#423", "hostname": "node-us-160.protonvpn.net", "wgpubkey": "XlC8xkM0TQpsm/9c5j5u5S7wrI0VliBvXBiKji3UQzU=", "stream": true, "port_forward": true, "ips": [ "143.244.44.186" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#499", "hostname": "node-us-190.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.202.130" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#499", "hostname": "node-us-190.protonvpn.net", "wgpubkey": "Daer24dSnQMoGm/LIDjPbKgrlUjF0ldjiDA9dfe+EXk=", "stream": true, "port_forward": true, "ips": [ "146.70.202.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#523", "hostname": "node-us-144.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.72.130" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#523", "hostname": "node-us-144.protonvpn.net", "wgpubkey": "8NeySGpnCMtwtgwVARpoCNonu9qxQxrE6hFztMcMDkA=", "stream": true, "port_forward": true, "ips": [ "146.70.72.130" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#599", "hostname": "node-us-195.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.202.50" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#599", "hostname": "node-us-195.protonvpn.net", "wgpubkey": "qnjcsT0wrNHUtNm1uloWf9YbJij1Nr8O4UHtM9uqkmI=", "stream": true, "port_forward": true, "ips": [ "146.70.202.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#623", "hostname": "node-us-197.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.202.18" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#623", "hostname": "node-us-197.protonvpn.net", "wgpubkey": "Orm/o/kOBbNLCvxrwdQZHswlHRyz4O8HSaCHJ7YF0Rs=", "stream": true, "port_forward": true, "ips": [ "146.70.202.18" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#699", "hostname": "node-us-380.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.40.49.1" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#699", "hostname": "node-us-380.protonvpn.net", "wgpubkey": "JJ4T70SdryxUbEzW49n2/eUfs8q5diKz//zQizQsr2Q=", "stream": true, "ips": [ "149.40.49.1" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "server_name": "US-NY#723", "hostname": "node-us-381.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.40.49.30" ] }, { "vpn": "wireguard", "country": "United States", "city": "New York", "server_name": "US-NY#723", "hostname": "node-us-381.protonvpn.net", "wgpubkey": "JikV7Lj3rjIYG9MePiE19qFwVoUhACYFM7m55rEs2TA=", "stream": true, "ips": [ "149.40.49.30" ] }, { "vpn": "openvpn", "country": "United States", "city": "Philadelphia", "server_name": "US-PA#1", "hostname": "node-us-312.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "146.70.156.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "Philadelphia", "server_name": "US-PA#1", "hostname": "node-us-312.protonvpn.net", "wgpubkey": "F/2MSsC7RsfHojjhonhgo40IRmyP3YEYsjoBQW+dwyY=", "stream": true, "port_forward": true, "ips": [ "146.70.156.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#108", "hostname": "node-us-260.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "72.14.148.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#108", "hostname": "node-us-260.protonvpn.net", "wgpubkey": "sHJbg8AIxsb5TFe8xIWPxo8VXuAMk9+HcdY0hHvGNFg=", "stream": true, "port_forward": true, "ips": [ "72.14.148.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#141", "hostname": "node-us-261.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "72.14.148.25" ] }, { "vpn": "wireguard", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#141", "hostname": "node-us-261.protonvpn.net", "wgpubkey": "YU5vcydVJvB83c6VBS26WWq9spE+9Md9gBn7tesSSGQ=", "stream": true, "port_forward": true, "ips": [ "72.14.148.25" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#151", "hostname": "node-us-208.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.37.254.178" ] }, { "vpn": "wireguard", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#151", "hostname": "node-us-208.protonvpn.net", "wgpubkey": "nSo/1FlBPdm/hotIKPb2dFcY5AwZPQPBcbvLdcL6Zw4=", "stream": true, "port_forward": true, "ips": [ "193.37.254.178" ] }, { "vpn": "openvpn", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#84", "hostname": "node-us-126.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "193.37.254.66" ] }, { "vpn": "wireguard", "country": "United States", "city": "Phoenix", "server_name": "US-AZ#84", "hostname": "node-us-126.protonvpn.net", "wgpubkey": "qDJgY2K+GtC/geqxLN2ZO61LHlwENsMpapC1eGF21mM=", "stream": true, "port_forward": true, "ips": [ "193.37.254.66" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#120", "hostname": "node-us-332.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "68.169.42.241" ] }, { "vpn": "wireguard", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#120", "hostname": "node-us-332.protonvpn.net", "wgpubkey": "IxiB+n3UHBT8F+BYX06t+QzPKh08ie/yAzgmwMwzojY=", "stream": true, "port_forward": true, "ips": [ "68.169.42.241" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#171", "hostname": "node-us-333.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "68.169.42.242" ] }, { "vpn": "wireguard", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#171", "hostname": "node-us-333.protonvpn.net", "wgpubkey": "OIPOmEDCJfuvTJ0dugMtY5L14gVpfpDdY3suniY5h3Y=", "stream": true, "port_forward": true, "ips": [ "68.169.42.242" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#175", "hostname": "node-us-334.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "68.169.42.225" ] }, { "vpn": "wireguard", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#175", "hostname": "node-us-334.protonvpn.net", "wgpubkey": "wYdOEOAl2QqA2yseEJmrOZ/0qz4EOh24l1L273UBNRo=", "stream": true, "port_forward": true, "ips": [ "68.169.42.225" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#52", "hostname": "node-us-226.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "74.63.204.210" ] }, { "vpn": "wireguard", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#52", "hostname": "node-us-226.protonvpn.net", "wgpubkey": "fDSDNxB7yfHbaemo7cAFMWBsEm31bVAAradL4hbBEG0=", "stream": true, "ips": [ "74.63.204.210" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#62", "hostname": "node-us-330.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "68.169.42.239" ] }, { "vpn": "wireguard", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#62", "hostname": "node-us-330.protonvpn.net", "wgpubkey": "9f0svvw50qgvHun/0tZnApsgyF1OQSgc2Xd/4K5Hbzs=", "stream": true, "port_forward": true, "ips": [ "68.169.42.239" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#85", "hostname": "node-us-331.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "68.169.42.240" ] }, { "vpn": "wireguard", "country": "United States", "city": "Salt Lake City", "server_name": "US-UT#85", "hostname": "node-us-331.protonvpn.net", "wgpubkey": "dpYU6/ZWAHwebgs/DxtJStKRBjuurRwbIdZ4ZZtSYkw=", "stream": true, "port_forward": true, "ips": [ "68.169.42.240" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#20", "hostname": "node-us-200.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.36.48.129" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#20", "hostname": "node-us-200.protonvpn.net", "wgpubkey": "DzAE6lLRbKUNuxFkuN2gI+sokPARCKYw/E1DyaXQWHc=", "stream": true, "ips": [ "149.36.48.129" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#421", "hostname": "node-us-250.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.36.48.153" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#421", "hostname": "node-us-250.protonvpn.net", "wgpubkey": "WGwF8za3sD1rc946cBJZe1SEwJB2NzAGMTDx1iGIrQ0=", "stream": true, "ips": [ "149.36.48.153" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#478", "hostname": "node-us-252.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.36.48.155" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#478", "hostname": "node-us-252.protonvpn.net", "wgpubkey": "84bwJLVJI1YzH99wbU1t6fouJuZGxcMsfKQpBz7LDxI=", "stream": true, "ips": [ "149.36.48.155" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#521", "hostname": "node-us-255.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.22.84.89" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#521", "hostname": "node-us-255.protonvpn.net", "wgpubkey": "Yg7VdAicq2Rj/FNl7dGvm4jB2XlmrzwBj6/eosX5CiY=", "stream": true, "ips": [ "149.22.84.89" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#79", "hostname": "node-us-120.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "156.146.54.97" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#79", "hostname": "node-us-120.protonvpn.net", "wgpubkey": "0lVdORRneTkqH7Hh12Z5hnATz+kXmkiSwz8YHHx4Ywg=", "stream": true, "port_forward": true, "ips": [ "156.146.54.97" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#829", "hostname": "node-us-401.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.185.162" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#829", "hostname": "node-us-401.protonvpn.net", "wgpubkey": "2RxTx5coxCtv/b3fRKHTq5WjdUxvNxESsYjaXIJWmDA=", "stream": true, "port_forward": true, "ips": [ "79.127.185.162" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#870", "hostname": "node-us-403.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.185.165" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#870", "hostname": "node-us-403.protonvpn.net", "wgpubkey": "99LCwYBvp0LpTKIhh5DTFy4ac0t83jXIcCTvNqQepCc=", "stream": true, "port_forward": true, "ips": [ "79.127.185.165" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-CA#893", "hostname": "node-us-405.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.127.185.166" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-CA#893", "hostname": "node-us-405.protonvpn.net", "wgpubkey": "2xvxhMK0AalXOMq6Dh0QMVJ0Cl3WQTmWT5tdeb8SpR0=", "stream": true, "port_forward": true, "ips": [ "79.127.185.166" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-FREE#77", "hostname": "node-us-285.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.22.84.144" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-FREE#77", "hostname": "node-us-285.protonvpn.net", "wgpubkey": "4R1OAr1fQR4ZHNq7T4Gkage3p7LyqMfOyhCqfu04gno=", "free": true, "ips": [ "149.22.84.144" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-FREE#78", "hostname": "node-us-286.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.22.84.134" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-FREE#78", "hostname": "node-us-286.protonvpn.net", "wgpubkey": "s2T8s4nQ9QSLxZm8JHGtaKgErj+/iFhPyjSvLLIM2S8=", "free": true, "ips": [ "149.22.84.134" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-FREE#79", "hostname": "node-us-287.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.22.84.139" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-FREE#79", "hostname": "node-us-287.protonvpn.net", "wgpubkey": "igHNlAQgaI70R0w0OdWC9XR11xagXRcib1V4tPuU4RQ=", "free": true, "ips": [ "149.22.84.139" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-FREE#90", "hostname": "node-us-288.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.22.84.154" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-FREE#90", "hostname": "node-us-288.protonvpn.net", "wgpubkey": "TaxwFJ2ajJdHlowb91UhfBxl60lsjBicCxC+dE2wDEE=", "free": true, "ips": [ "149.22.84.154" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Jose", "server_name": "US-FREE#91", "hostname": "node-us-289.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.22.84.155" ] }, { "vpn": "wireguard", "country": "United States", "city": "San Jose", "server_name": "US-FREE#91", "hostname": "node-us-289.protonvpn.net", "wgpubkey": "lqpUGVCjx+PWmhdxC36zbJZopUc/9XM2EG5SNKoqqE4=", "free": true, "ips": [ "149.22.84.155" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-FREE#33", "hostname": "node-us-279.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "149.102.254.90" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-FREE#33", "hostname": "node-us-279.protonvpn.net", "wgpubkey": "SOXFyakZ9HI9TeiMRyMoy3PXYEzJJ/IDJcMvxZ3uWSE=", "free": true, "ips": [ "149.102.254.90" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#122", "hostname": "node-us-123.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "156.146.51.78" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#122", "hostname": "node-us-123.protonvpn.net", "wgpubkey": "mn8WlkJqY66j17ZbwN2DB0Nj74zG/DicuRQZtxtQsTM=", "stream": true, "ips": [ "156.146.51.78" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#198", "hostname": "node-us-356.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.40.62.91" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#198", "hostname": "node-us-356.protonvpn.net", "wgpubkey": "yFFlg7lsXZwH/GN4DdpX+tr1l6aYu9XxgUuYj8evaGg=", "stream": true, "ips": [ "149.40.62.91" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#222", "hostname": "node-us-368.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.22.88.149" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#222", "hostname": "node-us-368.protonvpn.net", "wgpubkey": "IZGBP1awplflozHsjir/h0fbC+bmGG5ArGXcSUZbaBY=", "stream": true, "ips": [ "149.22.88.149" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#298", "hostname": "node-us-423.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.40.51.229" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#298", "hostname": "node-us-423.protonvpn.net", "wgpubkey": "RA9Cz/kgxCVJXH8Iys6F9u4Tq73+G9yrFggtygbfRT4=", "stream": true, "port_forward": true, "ips": [ "149.40.51.229" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#322", "hostname": "node-us-424.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.40.51.226" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#322", "hostname": "node-us-424.protonvpn.net", "wgpubkey": "STtovcJk/TwKb6FPXfgIcHpMLXlkuq+KerdbTlY8mHo=", "stream": true, "port_forward": true, "ips": [ "149.40.51.226" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#398", "hostname": "node-us-427.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.40.51.225" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#398", "hostname": "node-us-427.protonvpn.net", "wgpubkey": "jMdLQAw7d2Vc01Ono8G/hg40j5rqMa70OnHlL+qLeG8=", "stream": true, "port_forward": true, "ips": [ "149.40.51.225" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#426", "hostname": "node-us-428.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "149.40.51.233" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#426", "hostname": "node-us-428.protonvpn.net", "wgpubkey": "dp0GxiDKrOLkiWz+wtZ8uwDFl8gvFQI1+yd5w9F+lk4=", "stream": true, "port_forward": true, "ips": [ "149.40.51.233" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#72", "hostname": "node-us-245.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.254.77" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#72", "hostname": "node-us-245.protonvpn.net", "wgpubkey": "utqNH4P+C0fA1wTgIUaIfhm1b7ai0iEGvXyiw4KC3Fs=", "stream": true, "ips": [ "149.102.254.77" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "server_name": "US-WA#91", "hostname": "node-us-246.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "149.102.254.78" ] }, { "vpn": "wireguard", "country": "United States", "city": "Seattle", "server_name": "US-WA#91", "hostname": "node-us-246.protonvpn.net", "wgpubkey": "mdgZ6wT7AXGznoYqxERZexx9aPEd/FhQ+P6fdXCBuVQ=", "stream": true, "ips": [ "149.102.254.78" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-FREE#70", "hostname": "node-us-414.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "151.243.141.159" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-FREE#70", "hostname": "node-us-414.protonvpn.net", "wgpubkey": "MNTtBSAv3VQ8W059Rbf7pQ37WDxQ4h5vkhmBARjmmiU=", "free": true, "ips": [ "151.243.141.159" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-FREE#75", "hostname": "node-us-418.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "151.243.141.163" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-FREE#75", "hostname": "node-us-418.protonvpn.net", "wgpubkey": "0RyHTsq0vwayZVZUhuIKGcU7FiMl9Gn4dvNiOlYYpyc=", "free": true, "ips": [ "151.243.141.163" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-FREE#83", "hostname": "node-us-420.protonvpn.net", "tcp": true, "udp": true, "free": true, "ips": [ "151.243.141.165" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-FREE#83", "hostname": "node-us-420.protonvpn.net", "wgpubkey": "rgPoLtUhJ946CVYPkp8r3VL8KHUYSmTIrPo7Wsw9sn4=", "free": true, "ips": [ "151.243.141.165" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#10", "hostname": "node-us-31.protonvpn.net", "tcp": true, "udp": true, "stream": true, "ips": [ "69.10.63.242" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#10", "hostname": "node-us-31.protonvpn.net", "wgpubkey": "kiVlibDLh5yZQOJ6Gaw1MB9wt4YHmKpfXZrAc0No9Gc=", "stream": true, "ips": [ "69.10.63.242" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#113", "hostname": "node-us-259.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "163.5.171.83" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#113", "hostname": "node-us-259.protonvpn.net", "wgpubkey": "KQ0hvdTjgHoRLCzpC/Mf7vDD+PZr8TqW0faHCE4yDlQ=", "stream": true, "port_forward": true, "ips": [ "163.5.171.83" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#142", "hostname": "node-us-230.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "205.142.240.210" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#142", "hostname": "node-us-230.protonvpn.net", "wgpubkey": "/HvEnSU5JaswyBC/YFs74eGLXqLdzsaFeVT8SD1KYAc=", "stream": true, "port_forward": true, "ips": [ "205.142.240.210" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#213", "hostname": "node-us-371.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "151.243.141.4" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#213", "hostname": "node-us-371.protonvpn.net", "wgpubkey": "FSoutl7ON0IAx+mtpb3bBVScZWyh4G6ihA1jAVkggA0=", "stream": true, "port_forward": true, "ips": [ "151.243.141.4" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#242", "hostname": "node-us-372.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "151.243.141.5" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#242", "hostname": "node-us-372.protonvpn.net", "wgpubkey": "R0J2HK9bYV4Ww6tMk76hiTwiWbC6JvxqhvSNeO4tIhg=", "stream": true, "port_forward": true, "ips": [ "151.243.141.5" ] }, { "vpn": "openvpn", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#41", "hostname": "node-us-256.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "163.5.171.2" ] }, { "vpn": "wireguard", "country": "United States", "city": "Secaucus", "server_name": "US-NJ#41", "hostname": "node-us-256.protonvpn.net", "wgpubkey": "gU9CLkRxLUarj9+MtswvE/2Tvclx32w5aoSYeY3eEX8=", "stream": true, "port_forward": true, "ips": [ "163.5.171.2" ] }, { "vpn": "openvpn", "country": "United States", "city": "Washington", "server_name": "US-DC#130", "hostname": "node-us-237.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.138.198.246" ] }, { "vpn": "wireguard", "country": "United States", "city": "Washington", "server_name": "US-DC#130", "hostname": "node-us-237.protonvpn.net", "wgpubkey": "E4gRP4uJvUMxTXVfTDLtkAmfAV7Jyl1uYltU8tlvb2Y=", "stream": true, "port_forward": true, "ips": [ "217.138.198.246" ] }, { "vpn": "openvpn", "country": "United States", "city": "Washington", "server_name": "US-DC#30", "hostname": "node-us-127.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "185.247.68.50" ] }, { "vpn": "wireguard", "country": "United States", "city": "Washington", "server_name": "US-DC#30", "hostname": "node-us-127.protonvpn.net", "wgpubkey": "3Lz5VpqnS7wfnOWVYFNCFHl+JuuanJ/hB2TqOKQZxVI=", "stream": true, "port_forward": true, "ips": [ "185.247.68.50" ] }, { "vpn": "openvpn", "country": "United States", "city": "Washington", "server_name": "US-DC#38", "hostname": "node-us-221.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "104.234.212.26" ] }, { "vpn": "wireguard", "country": "United States", "city": "Washington", "server_name": "US-DC#38", "hostname": "node-us-221.protonvpn.net", "wgpubkey": "L/lAxBloXzDXNrWw1xtJgEMJWPct1reKQPkRsw/7Knw=", "stream": true, "port_forward": true, "ips": [ "104.234.212.26" ] }, { "vpn": "openvpn", "country": "Uzbekistan", "city": "Tashkent", "server_name": "UZ#26", "hostname": "uz-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "79.135.105.204" ] }, { "vpn": "wireguard", "country": "Uzbekistan", "city": "Tashkent", "server_name": "UZ#26", "hostname": "uz-02.protonvpn.net", "wgpubkey": "kzVmk7etgCK1BeRoschsiUqEGVbMTqmivoDt/5CZDnw=", "stream": true, "port_forward": true, "ips": [ "79.135.105.204" ] }, { "vpn": "openvpn", "country": "Uzbekistan", "city": "Tashkent", "server_name": "UZ#32", "hostname": "node-uz-03.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "217.138.10.130" ] }, { "vpn": "wireguard", "country": "Uzbekistan", "city": "Tashkent", "server_name": "UZ#32", "hostname": "node-uz-03.protonvpn.net", "wgpubkey": "dG0tNFHWx+AQJM/gKTLA14ODNhWSfpB+GdtPFBe0wQg=", "stream": true, "port_forward": true, "ips": [ "217.138.10.130" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas", "server_name": "VE#100", "hostname": "ve-09.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "86.106.121.3" ] }, { "vpn": "wireguard", "country": "Venezuela", "city": "Caracas", "server_name": "VE#100", "hostname": "ve-09.protonvpn.net", "wgpubkey": "LbYgaVu+CLLYfPWPBCLfvjDQRU6hx9yagHgNDWHce14=", "stream": true, "port_forward": true, "ips": [ "86.106.121.3" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas", "server_name": "VE#23", "hostname": "ve-01.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.145.1" ] }, { "vpn": "wireguard", "country": "Venezuela", "city": "Caracas", "server_name": "VE#23", "hostname": "ve-01.protonvpn.net", "wgpubkey": "Wrjq2Q9OZY4fZz+dnjd0g2zxio4fCKTHaWOX2QqQNFY=", "stream": true, "port_forward": true, "ips": [ "45.83.145.1" ] }, { "vpn": "openvpn", "country": "Venezuela", "city": "Caracas", "server_name": "VE#27", "hostname": "ve-02.protonvpn.net", "tcp": true, "udp": true, "stream": true, "port_forward": true, "ips": [ "45.83.145.25" ] }, { "vpn": "wireguard", "country": "Venezuela", "city": "Caracas", "server_name": "VE#27", "hostname": "ve-02.protonvpn.net", "wgpubkey": "BEOG/fgwbMY/lSaMHCha50D9Z2OtAhpBGMp3CwKuyyc=", "stream": true, "port_forward": true, "ips": [ "45.83.145.25" ] }, { "vpn": "openvpn", "country": "Vietnam", "city": "Hanoi", "server_name": "SE-VN#1", "hostname": "node-vn-01.protonvpn.net", "tcp": true, "udp": true, "secure_core": true, "ips": [ "185.159.156.85" ] }, { "vpn": "wireguard", "country": "Vietnam", "city": "Hanoi", "server_name": "SE-VN#1", "hostname": "node-vn-01.protonvpn.net", "wgpubkey": "NfKOMtk2fuDycbQXv36yk5mfdgDA8/8SN6amCdFrKxQ=", "secure_core": true, "ips": [ "185.159.156.85" ] }, { "vpn": "openvpn", "country": "Vietnam", "city": "Hanoi", "server_name": "VN#1", "hostname": "node-vn-01.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "188.214.152.226" ] }, { "vpn": "wireguard", "country": "Vietnam", "city": "Hanoi", "server_name": "VN#1", "hostname": "node-vn-01.protonvpn.net", "wgpubkey": "NfKOMtk2fuDycbQXv36yk5mfdgDA8/8SN6amCdFrKxQ=", "port_forward": true, "ips": [ "188.214.152.226" ] }, { "vpn": "openvpn", "country": "Yemen", "city": "Sana'a", "server_name": "YE#5", "hostname": "ye-03.protonvpn.net", "tcp": true, "udp": true, "port_forward": true, "ips": [ "74.118.126.240" ] }, { "vpn": "wireguard", "country": "Yemen", "city": "Sana'a", "server_name": "YE#5", "hostname": "ye-03.protonvpn.net", "wgpubkey": "NvHRMaxqo//0HpDW8hnLypjqFUIUPAsMSUe5t1iYM2g=", "port_forward": true, "ips": [ "74.118.126.240" ] } ] }, "purevpn": { "version": 3, "timestamp": 1702566944, "servers": [ { "vpn": "openvpn", "country": "Albania", "region": "Tirana", "city": "Tirana", "hostname": "al2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "31.171.155.198", "31.171.155.199" ] }, { "vpn": "openvpn", "country": "Albania", "region": "Tirana", "city": "Tirana", "hostname": "al2-auto-udp.ptoserver.com", "udp": true, "ips": [ "31.171.155.198", "31.171.155.199" ] }, { "vpn": "openvpn", "country": "Australia", "region": "New South Wales", "city": "Sydney", "hostname": "au2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "91.242.215.105", "118.127.59.226", "223.252.60.100", "223.252.60.202" ] }, { "vpn": "openvpn", "country": "Australia", "region": "New South Wales", "city": "Sydney", "hostname": "ausd2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "27.50.76.167", "91.242.215.105", "91.242.215.106" ] }, { "vpn": "openvpn", "country": "Australia", "region": "New South Wales", "city": "Sydney", "hostname": "ausd2-auto-udp.ptoserver.com", "udp": true, "ips": [ "27.50.76.169", "91.242.215.106" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Victoria", "city": "Melbourne", "hostname": "au2-auto-udp.ptoserver.com", "udp": true, "ips": [ "118.127.59.226", "118.127.62.3", "172.94.124.11", "223.252.60.100" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Victoria", "city": "Melbourne", "hostname": "aume2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "27.50.74.4", "27.50.74.6", "118.127.59.226" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Victoria", "city": "Melbourne", "hostname": "aume2-auto-udp.ptoserver.com", "udp": true, "ips": [ "27.50.74.4", "118.127.59.226" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Victoria", "city": "Melbourne", "hostname": "nz2-auto-udp.ptoserver.com", "udp": true, "ips": [ "203.209.219.39", "203.209.219.40" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Western Australia", "city": "Perth", "hostname": "au2-pe-tcp.ptoserver.com", "tcp": true, "ips": [ "43.250.205.51" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Western Australia", "city": "Perth", "hostname": "au2-pe-udp.ptoserver.com", "udp": true, "ips": [ "43.250.205.50", "43.250.205.53", "43.250.205.54", "43.250.205.61", "172.94.123.4" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Vienna", "city": "Vienna", "hostname": "at2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "149.40.52.198" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Vienna", "city": "Vienna", "hostname": "at2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.40.52.197", "149.40.52.198" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Brussels Capital", "city": "Brussels", "hostname": "be2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "154.47.27.70" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Brussels Capital", "city": "Brussels", "hostname": "be2-auto-udp.ptoserver.com", "udp": true, "ips": [ "154.47.27.96" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "São Paulo", "city": "São Paulo", "hostname": "br2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "149.102.251.6" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "São Paulo", "city": "São Paulo", "hostname": "br2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.102.251.6" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Sofia-Capital", "city": "Sofia", "hostname": "bg2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "185.94.192.134", "185.94.192.135" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Sofia-Capital", "city": "Sofia", "hostname": "bg2-auto-udp.ptoserver.com", "udp": true, "ips": [ "185.94.192.135", "185.94.192.136" ] }, { "vpn": "openvpn", "country": "Canada", "region": "British Columbia", "city": "Vancouver", "hostname": "ca2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "104.193.135.42", "104.193.135.43", "198.144.155.70" ] }, { "vpn": "openvpn", "country": "Canada", "region": "British Columbia", "city": "Vancouver", "hostname": "ca2-auto-udp.ptoserver.com", "udp": true, "ips": [ "104.193.135.9", "104.193.135.10", "104.193.135.12", "149.34.249.69", "149.34.249.78" ] }, { "vpn": "openvpn", "country": "Canada", "region": "British Columbia", "city": "Vancouver", "hostname": "caq2-auto-udp.ptoserver.com", "udp": true, "ips": [ "104.193.135.10", "104.193.135.12" ] }, { "vpn": "openvpn", "country": "Canada", "region": "British Columbia", "city": "Vancouver", "hostname": "cav2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "104.193.135.9", "104.193.135.10", "104.193.135.42", "104.193.135.43" ] }, { "vpn": "openvpn", "country": "Canada", "region": "British Columbia", "city": "Vancouver", "hostname": "cav2-auto-udp.ptoserver.com", "udp": true, "ips": [ "104.193.135.11", "104.193.135.12" ] }, { "vpn": "openvpn", "country": "Canada", "region": "Ontario", "city": "Toronto", "hostname": "caq2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "198.144.155.69", "198.144.155.70" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "San José", "city": "San Pedro", "hostname": "cr2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "143.202.163.102", "143.202.163.103" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "San José", "city": "San Pedro", "hostname": "cr2-auto-udp.ptoserver.com", "udp": true, "ips": [ "143.202.163.103", "172.111.170.6" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Nicosia", "city": "Nicosia", "hostname": "cy2-auto-tcp.ptoserver.com", "tcp": true, "udp": true, "ips": [ "185.191.206.199" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Prague", "city": "Prague", "hostname": "cz2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "87.249.135.101", "87.249.135.102" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Prague", "city": "Prague", "hostname": "cz2-auto-udp.ptoserver.com", "udp": true, "ips": [ "87.249.135.102" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Capital Region", "city": "Copenhagen", "hostname": "dk2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.50.217.132" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Harjumaa", "city": "Tallinn", "hostname": "ee2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "185.174.159.230", "185.174.159.247" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Harjumaa", "city": "Tallinn", "hostname": "ee2-auto-udp.ptoserver.com", "udp": true, "ips": [ "185.174.159.246", "185.174.159.247" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Uusimaa", "city": "Helsinki", "hostname": "fi2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "85.208.3.215" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Uusimaa", "city": "Helsinki", "hostname": "fi2-auto-udp.ptoserver.com", "udp": true, "ips": [ "85.208.3.197", "85.208.3.198", "85.208.3.215", "85.208.3.216" ] }, { "vpn": "openvpn", "country": "France", "region": "Île-de-France", "city": "Paris", "hostname": "fr2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "37.19.217.86", "149.34.245.196", "149.34.245.197" ] }, { "vpn": "openvpn", "country": "France", "region": "Île-de-France", "city": "Paris", "hostname": "fr2-auto-udp.ptoserver.com", "udp": true, "ips": [ "37.19.217.86", "149.34.245.197" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "T'bilisi", "city": "Tbilisi", "hostname": "ge2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "45.138.44.162", "188.93.88.206" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "T'bilisi", "city": "Tbilisi", "hostname": "ge2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.138.44.162", "188.93.88.206" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "af2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.208.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "af2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.208.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "ao2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.94.84.4", "172.94.84.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "ao2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.94.84.4", "172.94.84.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bb2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.228.4", "172.111.228.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bb2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.228.4", "172.111.228.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bd2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "103.46.140.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bd2-auto-udp.ptoserver.com", "udp": true, "ips": [ "103.46.140.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bh2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.226.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bh2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.226.4" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bm2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.229.4", "172.111.229.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bm2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.229.4", "172.111.229.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bs2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.94.20.6" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "bs2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.94.20.4", "172.94.20.6", "172.94.20.37" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "de2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "5.254.23.71", "149.88.19.5" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "de2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.34.252.48", "149.88.19.5" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "dz2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.243.6", "172.111.243.19", "172.111.243.21" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "dz2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.243.19", "172.111.243.21" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "ru2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.185.37" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Hesse", "city": "Frankfurt am Main", "hostname": "ru2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.185.6", "172.111.185.21", "172.111.185.22", "172.111.185.37" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Attica", "city": "Athens", "hostname": "gr2-auto-udp.ptoserver.com", "udp": true, "ips": [ "194.150.167.180", "194.150.167.181" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Central and Western", "city": "Hong Kong", "hostname": "hk2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "103.109.103.85" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Central and Western", "city": "Hong Kong", "hostname": "hk2-auto-udp.ptoserver.com", "udp": true, "ips": [ "103.109.103.85", "103.109.103.87" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Budapest", "city": "Budapest", "hostname": "hu2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "146.70.120.70" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Budapest", "city": "Budapest", "hostname": "hu2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.120.71" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Jakarta", "city": "Jakarta", "hostname": "id2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "103.60.9.132", "103.60.9.134" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Jakarta", "city": "Jakarta", "hostname": "id2-auto-udp.ptoserver.com", "udp": true, "ips": [ "103.60.9.132", "103.60.9.140", "103.60.9.142" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Leinster", "city": "Dublin", "hostname": "ie2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "146.70.130.135", "146.70.130.152" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Leinster", "city": "Dublin", "hostname": "ie2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.130.134", "146.70.130.135", "146.70.130.151" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Lombardy", "city": "Milan", "hostname": "it2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "149.50.215.71" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Lombardy", "city": "Milan", "hostname": "it2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.50.215.70" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Tokyo", "city": "Tokyo", "hostname": "jp2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.250.255.9", "149.50.210.151" ] }, { "vpn": "openvpn", "country": "Kenya", "region": "Nairobi Area", "city": "Nairobi", "hostname": "ke2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "62.12.116.86", "62.12.116.87" ] }, { "vpn": "openvpn", "country": "Kenya", "region": "Nairobi Area", "city": "Nairobi", "hostname": "ke2-auto-udp.ptoserver.com", "udp": true, "ips": [ "62.12.116.87" ] }, { "vpn": "openvpn", "country": "Korea", "region": "Seoul", "city": "Seoul", "hostname": "kr2-auto-udp.ptoserver.com", "udp": true, "ips": [ "108.181.50.166", "108.181.50.182", "108.181.50.183", "108.181.52.151" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Riga", "city": "Riga", "hostname": "lv2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "213.21.209.36", "213.21.209.37", "213.21.215.165" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Riga", "city": "Riga", "hostname": "lv2-auto-udp.ptoserver.com", "udp": true, "ips": [ "213.21.209.37" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Siauliai", "city": "Šiauliai", "hostname": "lt2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "5.199.169.37", "5.199.169.47", "5.199.169.70", "185.150.118.37" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Siauliai", "city": "Šiauliai", "hostname": "lt2-auto-udp.ptoserver.com", "udp": true, "ips": [ "5.199.169.5", "5.199.169.47", "5.199.169.70", "5.199.169.71" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "Querétaro", "city": "Santiago de Querétaro", "hostname": "mx2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "69.67.148.131", "69.67.148.154" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "Querétaro", "city": "Santiago de Querétaro", "hostname": "mx2-auto-udp.ptoserver.com", "udp": true, "ips": [ "69.67.148.132", "69.67.148.155" ] }, { "vpn": "openvpn", "country": "Moldova", "region": "Chișinău Municipality", "city": "Chisinau", "hostname": "md2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "178.17.169.228", "178.17.169.229", "178.17.169.241" ] }, { "vpn": "openvpn", "country": "Moldova", "region": "Chișinău Municipality", "city": "Chisinau", "hostname": "md2-auto-udp.ptoserver.com", "udp": true, "ips": [ "178.17.169.241" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "eg2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "45.74.55.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "eg2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.74.55.4" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "is2-auto-tcp.ptoserver.com", "tcp": true, "udp": true, "ips": [ "192.253.250.132", "192.253.250.133" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "mc2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "206.123.130.4", "206.123.130.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "mc2-auto-udp.ptoserver.com", "udp": true, "ips": [ "206.123.130.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "ng2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.128.228" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "ng2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.128.228", "172.111.128.229" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "nl2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "37.46.122.74", "185.2.30.215", "195.181.172.163", "195.181.172.164" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "nl2-auto-udp.ptoserver.com", "udp": true, "ips": [ "5.254.73.203", "37.46.122.71", "37.46.122.72", "149.34.244.230" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "om2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.94.94.5" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "om2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.94.94.5" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "pa2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.94.87.6", "172.94.87.67", "172.94.87.69" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "pa2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.94.87.4", "172.94.87.6", "172.94.87.69" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "pr2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "104.250.183.4" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "pr2-auto-udp.ptoserver.com", "udp": true, "ips": [ "104.250.183.4" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "ua2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "188.72.101.8", "188.72.101.9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "ua2-auto-udp.ptoserver.com", "udp": true, "ips": [ "188.72.101.8", "188.72.101.9" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "vg2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "104.243.253.4", "104.243.253.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "vg2-auto-udp.ptoserver.com", "udp": true, "ips": [ "104.243.253.4", "104.243.253.6" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "vn2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.197.6", "172.111.197.69" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "North Holland", "city": "Amsterdam", "hostname": "vn2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.197.6", "172.111.197.68" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Auckland", "city": "Auckland", "hostname": "nz2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "203.209.219.5", "203.209.219.40" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Oslo", "city": "Oslo", "hostname": "no2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "146.70.170.38" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Oslo", "city": "Oslo", "hostname": "no2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.170.39", "146.70.170.40" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Mazovia", "city": "Warsaw", "hostname": "pl2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.102.244.37", "149.102.244.38" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Lisbon", "city": "Lisbon", "hostname": "lu2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "185.153.151.4", "185.153.151.6" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Lisbon", "city": "Lisbon", "hostname": "lu2-auto-udp.ptoserver.com", "udp": true, "ips": [ "185.153.151.6" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Lisbon", "city": "Lisbon", "hostname": "pt2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.88.20.134", "149.88.20.135" ] }, { "vpn": "openvpn", "country": "Romania", "region": "București", "city": "Bucharest", "hostname": "ro2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "149.102.239.70", "149.102.239.71" ] }, { "vpn": "openvpn", "country": "Romania", "region": "București", "city": "Bucharest", "hostname": "ro2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.102.239.70", "149.102.239.71" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Central Serbia", "city": "Belgrade", "hostname": "rs2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "146.70.111.134", "146.70.111.135" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Central Serbia", "city": "Belgrade", "hostname": "rs2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.111.134", "146.70.111.135" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Singapore", "city": "Singapore", "hostname": "bn2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.74.10.7", "45.74.10.21" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Singapore", "city": "Singapore", "hostname": "in2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "138.199.60.100", "149.34.253.68", "149.34.253.70" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Singapore", "city": "Singapore", "hostname": "in2-auto-udp.ptoserver.com", "udp": true, "ips": [ "138.199.60.99", "138.199.60.100" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Singapore", "city": "Singapore", "hostname": "ph2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.175.6", "172.111.175.7" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Singapore", "city": "Singapore", "hostname": "ph2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.175.7" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Singapore", "city": "Singapore", "hostname": "sg2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "149.50.211.55", "149.50.211.68", "149.50.211.69" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Singapore", "city": "Singapore", "hostname": "sg2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.67.198", "146.70.67.199" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Bratislavský Kraj", "city": "Bratislava", "hostname": "sk2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "138.199.34.197", "138.199.34.198" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Bratislavský Kraj", "city": "Bratislava", "hostname": "sk2-auto-udp.ptoserver.com", "udp": true, "ips": [ "138.199.34.197" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Gauteng", "city": "Johannesburg", "hostname": "za2-auto-udp.ptoserver.com", "udp": true, "ips": [ "154.47.30.166", "154.47.30.167" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Madrid", "city": "Madrid", "hostname": "es2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.134.213.7" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Stockholm", "city": "Stockholm", "hostname": "se2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "169.150.208.164" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Stockholm", "city": "Stockholm", "hostname": "se2-auto-udp.ptoserver.com", "udp": true, "ips": [ "169.150.208.135", "169.150.208.137" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Zurich", "city": "Zürich", "hostname": "ch2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "149.102.238.133", "149.102.238.135" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Zurich", "city": "Zürich", "hostname": "ch2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.102.238.133", "149.102.238.134", "149.102.238.135" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Taiwan", "city": "Taipei", "hostname": "tw2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "103.59.108.214", "103.59.109.55", "103.59.109.56" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Taiwan", "city": "Taipei", "hostname": "tw2-auto-udp.ptoserver.com", "udp": true, "ips": [ "103.59.108.214", "103.59.109.21", "103.59.109.56" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Istanbul", "city": "Istanbul", "hostname": "tr2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "45.136.155.5", "45.136.155.6" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Istanbul", "city": "Istanbul", "hostname": "tr2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.136.155.5", "45.136.155.6", "45.136.155.7", "45.136.155.10", "45.136.155.12" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Dubai", "city": "Dubai", "hostname": "ae2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "146.70.155.8" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Dubai", "city": "Dubai", "hostname": "ae2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.155.7", "146.70.155.10", "146.70.155.11" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "England", "city": "London", "hostname": "uk2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "5.254.112.102" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "England", "city": "London", "hostname": "ukl2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "5.254.106.5", "5.254.112.69", "5.254.112.103", "138.199.31.4", "138.199.31.14" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "England", "city": "London", "hostname": "ukl2-auto-udp.ptoserver.com", "udp": true, "ips": [ "5.254.106.6", "5.254.112.103", "138.199.31.14" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "England", "city": "Manchester", "hostname": "uk2-auto-udp.ptoserver.com", "udp": true, "ips": [ "91.90.121.151", "91.90.121.152" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "England", "city": "Manchester", "hostname": "ukm2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "91.90.121.151", "91.90.121.152" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "England", "city": "Manchester", "hostname": "ukm2-auto-udp.ptoserver.com", "udp": true, "ips": [ "91.90.121.151", "91.90.121.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "usca2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "146.70.218.71", "146.70.218.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "usca2-auto-udp.ptoserver.com", "udp": true, "ips": [ "138.199.35.38", "138.199.35.39" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "usphx2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "217.148.140.135" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "usphx2-auto-udp.ptoserver.com", "udp": true, "ips": [ "217.148.140.134", "217.148.140.136" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "San Jose", "hostname": "ussf2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "93.115.200.86", "93.115.200.87" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "San Jose", "hostname": "ussf2-auto-udp.ptoserver.com", "udp": true, "ips": [ "93.115.200.86" ] }, { "vpn": "openvpn", "country": "United States", "region": "Florida", "city": "Miami", "hostname": "usfl2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "45.134.142.68", "146.70.228.87" ] }, { "vpn": "openvpn", "country": "United States", "region": "Florida", "city": "Miami", "hostname": "usfl2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.134.142.69", "146.70.228.87" ] }, { "vpn": "openvpn", "country": "United States", "region": "Georgia", "city": "Atlanta", "hostname": "us-global-tcp2.ptoserver.com", "tcp": true, "ips": [ "45.134.140.230" ] }, { "vpn": "openvpn", "country": "United States", "region": "Georgia", "city": "Atlanta", "hostname": "us-global-udp2.ptoserver.com", "udp": true, "ips": [ "45.134.140.231" ] }, { "vpn": "openvpn", "country": "United States", "region": "Georgia", "city": "Atlanta", "hostname": "usga2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "45.134.140.230" ] }, { "vpn": "openvpn", "country": "United States", "region": "Georgia", "city": "Atlanta", "hostname": "usga2-auto-udp.ptoserver.com", "udp": true, "ips": [ "45.134.140.230" ] }, { "vpn": "openvpn", "country": "United States", "region": "Illinois", "city": "Chicago", "hostname": "usil2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "87.249.134.174", "149.88.25.196", "149.88.25.211" ] }, { "vpn": "openvpn", "country": "United States", "region": "Illinois", "city": "Chicago", "hostname": "usil2-auto-udp.ptoserver.com", "udp": true, "ips": [ "87.249.134.175", "149.88.25.196" ] }, { "vpn": "openvpn", "country": "United States", "region": "New Jersey", "city": "Secaucus", "hostname": "usnj2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "146.70.212.71", "146.70.212.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "New Jersey", "city": "Secaucus", "hostname": "usnj2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.212.71", "146.70.212.72" ] }, { "vpn": "openvpn", "country": "United States", "region": "New Jersey", "city": "Secaucus", "hostname": "usny2-auto-udp.ptoserver.com", "udp": true, "ips": [ "146.70.215.22", "149.40.49.133" ] }, { "vpn": "openvpn", "country": "United States", "region": "New Jersey", "city": "Weehawken", "hostname": "usny2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "143.244.44.133", "149.40.49.133", "149.40.49.197" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York City", "hostname": "ar2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.152.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York City", "hostname": "ar2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.152.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York City", "hostname": "aw2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.183.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York City", "hostname": "aw2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.183.4" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York City", "hostname": "bo2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "172.111.241.133", "172.111.241.134" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York City", "hostname": "bo2-auto-udp.ptoserver.com", "udp": true, "ips": [ "172.111.241.4", "172.111.241.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "Texas", "city": "Houston", "hostname": "ustx2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "149.40.58.197", "149.40.58.198" ] }, { "vpn": "openvpn", "country": "United States", "region": "Texas", "city": "Houston", "hostname": "ustx2-auto-udp.ptoserver.com", "udp": true, "ips": [ "149.40.58.197", "149.40.58.198" ] }, { "vpn": "openvpn", "country": "United States", "region": "Utah", "city": "Riverton", "hostname": "usut2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "67.213.219.216" ] }, { "vpn": "openvpn", "country": "United States", "region": "Utah", "city": "Riverton", "hostname": "usut2-auto-udp.ptoserver.com", "udp": true, "ips": [ "67.213.219.186", "67.213.219.190" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Ashburn", "hostname": "usva2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "5.254.108.198" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Ashburn", "hostname": "usva2-auto-udp.ptoserver.com", "udp": true, "ips": [ "5.254.108.197", "5.254.108.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Herndon", "hostname": "uswdc2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "5.254.43.229", "5.254.43.230" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Herndon", "hostname": "uswdc2-auto-udp.ptoserver.com", "udp": true, "ips": [ "5.254.40.39", "5.254.43.230", "5.254.43.231", "5.254.43.232" ] }, { "vpn": "openvpn", "country": "United States", "region": "Washington", "city": "Seattle", "hostname": "ussa2-auto-tcp.ptoserver.com", "tcp": true, "ips": [ "138.199.43.6", "138.199.43.23", "138.199.43.24" ] }, { "vpn": "openvpn", "country": "United States", "region": "Washington", "city": "Seattle", "hostname": "ussa2-auto-udp.ptoserver.com", "udp": true, "ips": [ "138.199.43.6", "138.199.43.7", "138.199.43.23" ] } ] }, "slickvpn": { "version": 1, "timestamp": 1766608133, "servers": [ { "vpn": "openvpn", "country": "Australia", "region": "Oceania", "city": "Sydney", "hostname": "gw1.syd1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "163.47.126.10" ] }, { "vpn": "openvpn", "country": "Canada", "region": "North America", "city": "Montreal", "hostname": "gw1.yul1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "205.204.85.246" ] }, { "vpn": "openvpn", "country": "Canada", "region": "North America", "city": "Toronto", "hostname": "gw1.yyz1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "172.105.14.142" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "hostname": "gw1.cdg1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "176.67.168.241" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt", "hostname": "gw1.fra1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "139.162.159.184" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "hostname": "gw1.mxp1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "37.247.49.148" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia", "city": "Tokyo", "hostname": "gw1.nrt1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "172.105.235.210" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "hostname": "gw2.ams3.slickvpn.com", "tcp": true, "udp": true, "ips": [ "151.236.14.57" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Oceania", "city": "Auckland", "hostname": "gw1.akl1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "45.125.244.99" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "hostname": "gw1.buh2.slickvpn.com", "tcp": true, "udp": true, "ips": [ "89.46.100.116" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia", "city": "Singapore", "hostname": "gw2.sin2.slickvpn.com", "tcp": true, "udp": true, "ips": [ "139.162.55.80" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "hostname": "gw1.arn1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "178.73.210.224" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "gw4.lhr1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "146.185.17.165" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "hostname": "gw1.man2.slickvpn.com", "tcp": true, "udp": true, "ips": [ "91.109.246.6" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Atlanta", "hostname": "gw1.atl1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "216.119.148.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Boston", "hostname": "gw1.bos1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "192.34.83.144" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Buffalo", "hostname": "gw1.buf1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "23.94.191.122" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Chicago", "hostname": "gw2.ord1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "174.127.124.132" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Columbus", "hostname": "gw1.cmh1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "207.182.134.3" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Houston", "hostname": "gw2.hou1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "162.218.229.130" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Kansas City", "hostname": "gw1.mci2.slickvpn.com", "tcp": true, "udp": true, "ips": [ "192.187.101.186" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Los Angeles", "hostname": "gw1.lax2.slickvpn.com", "tcp": true, "udp": true, "ips": [ "104.247.220.10" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "New York", "hostname": "gw1.lga2.slickvpn.com", "tcp": true, "udp": true, "ips": [ "206.221.178.210" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Phoenix", "hostname": "gw1.phx1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "198.15.118.139" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "Salt Lake City", "hostname": "gw2.slc1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "209.95.48.179" ] }, { "vpn": "openvpn", "country": "United States", "region": "North America", "city": "St Louis", "hostname": "gw1.stl1.slickvpn.com", "tcp": true, "udp": true, "ips": [ "209.135.132.136" ] } ] }, "surfshark": { "version": 4, "timestamp": 1766454814, "servers": [ { "vpn": "openvpn", "country": "Albania", "region": "Europe", "city": "Tirana", "hostname": "al-tia.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Albania", "ips": [ "217.9.247.2", "217.9.247.35", "217.9.247.149", "217.9.247.163", "217.9.247.236", "217.9.247.242" ] }, { "vpn": "wireguard", "country": "Albania", "region": "Europe", "city": "Tirana", "hostname": "al-tia.prod.surfshark.com", "retroloc": "Albania", "wgpubkey": "l8EOWPyzt/njrb74CADY4VOhns/TbUN6KFTbytHcFQw=", "ips": [ "217.9.247.2", "217.9.247.35", "217.9.247.149", "217.9.247.163", "217.9.247.236", "217.9.247.242" ] }, { "vpn": "openvpn", "country": "Algeria", "region": "Middle East and Africa", "city": "Algiers", "hostname": "dz-alg.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.144.50", "62.197.144.52", "62.197.144.82", "62.197.144.115" ] }, { "vpn": "wireguard", "country": "Algeria", "region": "Middle East and Africa", "city": "Algiers", "hostname": "dz-alg.prod.surfshark.com", "wgpubkey": "KyFFiO8bY3wZGpxJf7aqEH3TrG+Jj4ZfNOyh2oS7ICU=", "ips": [ "62.197.144.50", "62.197.144.52", "62.197.144.82", "62.197.144.115" ] }, { "vpn": "openvpn", "country": "Andorra", "region": "Europe", "city": "Andorra la Vella", "hostname": "ad-leu.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.152.67", "62.197.152.83", "62.197.152.85", "62.197.152.131", "62.197.152.147", "62.197.152.149" ] }, { "vpn": "wireguard", "country": "Andorra", "region": "Europe", "city": "Andorra la Vella", "hostname": "ad-leu.prod.surfshark.com", "wgpubkey": "alv2SqjLM8Aw5yz/7pGZydfALPfYzgwDquAe5dWX12s=", "ips": [ "62.197.152.67", "62.197.152.83", "62.197.152.85", "62.197.152.131", "62.197.152.147", "62.197.152.149" ] }, { "vpn": "openvpn", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "hostname": "ar-bua.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Argentina Buenos Aires", "ips": [ "89.117.41.35", "89.117.41.53", "89.117.41.67", "89.117.41.83", "89.117.41.85", "89.117.41.99", "89.117.41.115", "89.117.41.117", "89.117.41.147", "89.117.41.149" ] }, { "vpn": "wireguard", "country": "Argentina", "region": "The Americas", "city": "Buenos Aires", "hostname": "ar-bua.prod.surfshark.com", "retroloc": "Argentina Buenos Aires", "wgpubkey": "JeHzAD4ZNXnFw4TdG37pi8bHPy6CQQqeRXK09pMHVyU=", "ips": [ "89.117.41.35", "89.117.41.53", "89.117.41.67", "89.117.41.83", "89.117.41.85", "89.117.41.99", "89.117.41.115", "89.117.41.117", "89.117.41.147", "89.117.41.149" ] }, { "vpn": "openvpn", "country": "Armenia", "region": "Europe", "city": "Yerevan", "hostname": "am-evn.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "92.62.120.85", "92.62.120.99", "92.62.120.115", "92.62.120.117", "92.62.120.131", "92.62.120.133" ] }, { "vpn": "wireguard", "country": "Armenia", "region": "Europe", "city": "Yerevan", "hostname": "am-evn.prod.surfshark.com", "wgpubkey": "B+aSYrw7JSq7b60uK0nrMQGCiJ48QwiUp/aoRpYX2lU=", "ips": [ "92.62.120.85", "92.62.120.99", "92.62.120.115", "92.62.120.117", "92.62.120.131", "92.62.120.133" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "hostname": "au-adl.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Australia Adelaide", "ips": [ "86.38.100.8", "86.38.100.10", "86.38.100.13", "86.38.100.15", "86.38.100.18", "103.214.20.187", "103.214.20.203", "103.214.20.205" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Adelaide", "hostname": "au-adl.prod.surfshark.com", "retroloc": "Australia Adelaide", "wgpubkey": "J7N3UrHc71+LJkn8gsI9Ja8YcpTXT8fV789LLKnIXAY=", "ips": [ "86.38.100.8", "86.38.100.10", "86.38.100.13", "86.38.100.15", "86.38.100.18", "103.214.20.187", "103.214.20.203", "103.214.20.205" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "hostname": "au-bne.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Australia Brisbane", "ips": [ "86.38.102.4", "86.38.102.10", "144.48.39.11", "144.48.39.107", "144.48.39.131", "144.48.39.133" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Brisbane", "hostname": "au-bne.prod.surfshark.com", "retroloc": "Australia Brisbane", "wgpubkey": "Jo+U6dj+eAf8zdtoMqyYPmrJNVQj82mipH0mEDyfUXo=", "ips": [ "86.38.102.4", "86.38.102.10", "144.48.39.11", "144.48.39.107", "144.48.39.131", "144.48.39.133" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "hostname": "au-mel.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Australia Melbourne", "ips": [ "103.192.80.131", "103.192.80.133", "103.192.80.243", "195.86.27.12", "195.86.27.19", "195.86.27.24" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Melbourne", "hostname": "au-mel.prod.surfshark.com", "retroloc": "Australia Melbourne", "wgpubkey": "yYX9yLjHOSWVAsaujcIVWAxF9wYMmHupG1RtJk+u21o=", "ips": [ "103.192.80.131", "103.192.80.133", "103.192.80.243", "195.86.27.12", "195.86.27.19", "195.86.27.24" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "hostname": "au-per.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Australia Perth", "ips": [ "45.248.78.45", "82.23.0.8", "82.23.0.10", "82.23.0.17", "124.150.139.37", "124.150.139.45", "124.150.139.59", "124.150.139.61", "124.150.139.83", "124.150.139.85" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Perth", "hostname": "au-per.prod.surfshark.com", "retroloc": "Australia Perth", "wgpubkey": "oD0TqnE/ETIpvMO8DZObjdLVRf3jhzG7qV5GtM8/Yik=", "ips": [ "45.248.78.45", "82.23.0.8", "82.23.0.10", "82.23.0.17", "124.150.139.37", "124.150.139.45", "124.150.139.59", "124.150.139.61", "124.150.139.83", "124.150.139.85" ] }, { "vpn": "openvpn", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "hostname": "au-syd.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Australia Sydney", "ips": [ "45.248.76.211", "45.248.76.227", "95.173.193.9", "149.88.101.2", "149.88.101.17", "180.149.228.165", "180.149.228.171" ] }, { "vpn": "wireguard", "country": "Australia", "region": "Asia Pacific", "city": "Sydney", "hostname": "au-syd.prod.surfshark.com", "retroloc": "Australia Sydney", "wgpubkey": "Y5KM9kHdM0upMsIJWUQquOY1RgkWX69AHw/Dl5KyIk4=", "ips": [ "45.248.76.211", "45.248.76.227", "95.173.193.9", "149.88.101.2", "149.88.101.17", "180.149.228.165", "180.149.228.171" ] }, { "vpn": "openvpn", "country": "Austria", "region": "Europe", "city": "Vienna", "hostname": "at-vie.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Austria", "ips": [ "87.249.133.14", "87.249.133.24", "89.187.168.44", "89.187.168.51" ] }, { "vpn": "wireguard", "country": "Austria", "region": "Europe", "city": "Vienna", "hostname": "at-vie.prod.surfshark.com", "retroloc": "Austria", "wgpubkey": "dPZe8Jq3Hu0k07MDk+Y4+AS2XHSLYalyg91TSFXRYEA=", "ips": [ "87.249.133.14", "87.249.133.24", "89.187.168.44", "89.187.168.51" ] }, { "vpn": "openvpn", "country": "Azerbaijan", "region": "Asia Pacific", "city": "Baku", "hostname": "az-bak.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Azerbaijan", "ips": [ "23.27.110.37", "23.27.110.53" ] }, { "vpn": "wireguard", "country": "Azerbaijan", "region": "Asia Pacific", "city": "Baku", "hostname": "az-bak.prod.surfshark.com", "retroloc": "Azerbaijan", "wgpubkey": "pvWYTFxIpqo25NGTertIIWnccS/sUQ6fIkqd8XJYzEI=", "ips": [ "23.27.110.37", "23.27.110.53" ] }, { "vpn": "openvpn", "country": "Bahamas", "region": "The Americas", "city": "Bahamas", "hostname": "bs-nas.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.145.18", "62.197.145.50" ] }, { "vpn": "wireguard", "country": "Bahamas", "region": "The Americas", "city": "Bahamas", "hostname": "bs-nas.prod.surfshark.com", "wgpubkey": "uM3cUZiQ46nRLALqOQfBz2cqg+RyR/OIHH0Xvwf9wHY=", "ips": [ "62.197.145.18", "62.197.145.50" ] }, { "vpn": "openvpn", "country": "Bangladesh", "region": "Asia Pacific", "city": "Dhaka", "hostname": "bd-dac.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.153.44", "62.197.153.46" ] }, { "vpn": "wireguard", "country": "Bangladesh", "region": "Asia Pacific", "city": "Dhaka", "hostname": "bd-dac.prod.surfshark.com", "wgpubkey": "6tOduT4iNbZyqKNzsSgDe/ckziO6101NPZwrnY5WpTk=", "ips": [ "62.197.153.44", "62.197.153.46" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Antwerp", "hostname": "be-anr.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "103.109.244.92", "103.109.244.100", "103.109.244.108", "103.109.244.114", "188.95.54.38", "188.95.54.50" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Antwerp", "hostname": "be-anr.prod.surfshark.com", "wgpubkey": "cTDaqf4qOaNGUbzt/qMRUCcOzL9wknQtG00po/bBt3Y=", "ips": [ "103.109.244.92", "103.109.244.100", "103.109.244.108", "103.109.244.114", "188.95.54.38", "188.95.54.50" ] }, { "vpn": "openvpn", "country": "Belgium", "region": "Europe", "city": "Brussels", "hostname": "be-bru.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Belgium", "ips": [ "5.253.205.181", "5.253.205.189", "79.127.164.4", "79.127.164.14", "146.70.55.195", "146.70.123.171", "146.70.123.195", "194.110.115.141" ] }, { "vpn": "wireguard", "country": "Belgium", "region": "Europe", "city": "Brussels", "hostname": "be-bru.prod.surfshark.com", "retroloc": "Belgium", "wgpubkey": "9wZOjtwuKEc0GBcvc3xJQ4Kjo8G3EMXu6zJRzbanOjc=", "ips": [ "5.253.205.181", "5.253.205.189", "79.127.164.4", "79.127.164.14", "146.70.55.195", "146.70.123.171", "146.70.123.195", "194.110.115.141" ] }, { "vpn": "openvpn", "country": "Belize", "region": "The Americas", "city": "Belmopan", "hostname": "bz-blp.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "212.119.33.18", "212.119.33.20", "212.119.33.34", "212.119.33.36" ] }, { "vpn": "wireguard", "country": "Belize", "region": "The Americas", "city": "Belmopan", "hostname": "bz-blp.prod.surfshark.com", "wgpubkey": "zcxA9gW+ism40rUoF5B4UPV655FLymJ1n4t0WogtZkU=", "ips": [ "212.119.33.18", "212.119.33.20", "212.119.33.34", "212.119.33.36" ] }, { "vpn": "openvpn", "country": "Bhutan", "region": "Asia Pacific", "city": "Thimphu", "hostname": "bt-pbh.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.157.39", "62.197.157.41", "62.197.157.44", "62.197.157.46" ] }, { "vpn": "wireguard", "country": "Bhutan", "region": "Asia Pacific", "city": "Thimphu", "hostname": "bt-pbh.prod.surfshark.com", "wgpubkey": "R/lGzro0Z8nbQWDVRJbfscimcUvbSrc/raIvXwfDoV4=", "ips": [ "62.197.157.39", "62.197.157.41", "62.197.157.44", "62.197.157.46" ] }, { "vpn": "openvpn", "country": "Bolivia", "region": "The Americas", "city": "Sucre", "hostname": "bo-sre.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "194.169.171.34", "194.169.171.36", "194.169.171.50", "194.169.171.52" ] }, { "vpn": "wireguard", "country": "Bolivia", "region": "The Americas", "city": "Sucre", "hostname": "bo-sre.prod.surfshark.com", "wgpubkey": "YTVk+CUVWELH18qftzEURb8JJfLHfmIMewcx0p8hkT0=", "ips": [ "194.169.171.34", "194.169.171.36", "194.169.171.50", "194.169.171.52" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "hostname": "ba-sjj.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Bosnia and Herzegovina", "ips": [ "23.27.109.35", "23.27.109.37", "23.27.109.51", "23.27.109.53" ] }, { "vpn": "wireguard", "country": "Bosnia and Herzegovina", "region": "Europe", "city": "Sarajevo", "hostname": "ba-sjj.prod.surfshark.com", "retroloc": "Bosnia and Herzegovina", "wgpubkey": "hsm/ps/uxcsVNzT3OmV/l7ZWv+TRIS+IM+N6/nTymkw=", "ips": [ "23.27.109.35", "23.27.109.37", "23.27.109.51", "23.27.109.53" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "hostname": "br-sao.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Brazil", "ips": [ "138.199.58.33", "146.70.248.5", "193.19.205.120", "193.19.205.124" ] }, { "vpn": "wireguard", "country": "Brazil", "region": "The Americas", "city": "Sao Paulo", "hostname": "br-sao.prod.surfshark.com", "retroloc": "Brazil", "wgpubkey": "IFTVXxhLEqVgZI/JGOPRtmrNUQW1DNljeBe8Ys7v90A=", "ips": [ "138.199.58.33", "146.70.248.5", "193.19.205.120", "193.19.205.124" ] }, { "vpn": "openvpn", "country": "Brunei", "region": "Asia Pacific", "city": "Begawan", "hostname": "bn-bwn.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.158.39", "62.197.158.41", "62.197.158.44", "62.197.158.46" ] }, { "vpn": "wireguard", "country": "Brunei", "region": "Asia Pacific", "city": "Begawan", "hostname": "bn-bwn.prod.surfshark.com", "wgpubkey": "QE7hpHqVYWqohTmOnmYtKjUv4b6Bb8S2b9AF0EFl638=", "ips": [ "62.197.158.39", "62.197.158.41", "62.197.158.44", "62.197.158.46" ] }, { "vpn": "openvpn", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "hostname": "bg-sof.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Bulgaria", "ips": [ "37.19.203.76", "37.19.203.78", "156.146.55.196", "185.9.16.101", "185.9.16.107" ] }, { "vpn": "wireguard", "country": "Bulgaria", "region": "Europe", "city": "Sofia", "hostname": "bg-sof.prod.surfshark.com", "retroloc": "Bulgaria", "wgpubkey": "LQFiCiZcPEoYasKRLbCfXp2fYYsj8wiMr/L9u6hYqSo=", "ips": [ "37.19.203.76", "37.19.203.78", "156.146.55.196", "185.9.16.101", "185.9.16.107" ] }, { "vpn": "openvpn", "country": "Cambodia", "region": "Asia Pacific", "city": "Phnom Penh", "hostname": "kh-pnh.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.146.17", "62.197.146.19", "62.197.146.22", "62.197.146.24" ] }, { "vpn": "wireguard", "country": "Cambodia", "region": "Asia Pacific", "city": "Phnom Penh", "hostname": "kh-pnh.prod.surfshark.com", "wgpubkey": "z2Ik8BG6XgosyYE/O4Vz4kiPTZyoWSlJvZtFeFlNclI=", "ips": [ "62.197.146.17", "62.197.146.19", "62.197.146.22", "62.197.146.24" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Montreal", "hostname": "ca-mon.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Canada Montreal", "ips": [ "5.181.233.37", "5.181.233.213", "37.120.205.141", "37.120.205.237", "62.93.167.86", "62.93.167.88", "62.93.167.93", "62.93.167.95", "62.93.167.98", "84.20.16.169", "146.70.112.141", "146.70.112.173" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Montreal", "hostname": "ca-mon.prod.surfshark.com", "retroloc": "Canada Montreal", "wgpubkey": "pB//7qgQ/TQyIMQWKO9GvUfJNYCfVZYwjF2nXPGIEX8=", "ips": [ "5.181.233.37", "5.181.233.213", "37.120.205.141", "37.120.205.237", "62.93.167.86", "62.93.167.88", "62.93.167.93", "62.93.167.95", "62.93.167.98", "84.20.16.169", "146.70.112.141", "146.70.112.173" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "hostname": "ca-tor-mp001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Canada Toronto mp001", "ips": [ "138.197.151.26" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Toronto", "hostname": "ca-tor.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Canada Toronto", "ips": [ "37.19.211.119", "149.88.98.20" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Toronto", "hostname": "ca-tor.prod.surfshark.com", "retroloc": "Canada Toronto", "wgpubkey": "W9bzkcL3fiV64vDpB4pbrz8QafNn3y5P9Yc/kQvy4TA=", "ips": [ "37.19.211.119", "149.88.98.20" ] }, { "vpn": "openvpn", "country": "Canada", "region": "The Americas", "city": "Vancouver", "hostname": "ca-van.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Canada Vancouver", "ips": [ "149.22.81.180", "216.246.31.7", "216.246.31.25", "216.246.31.32", "216.246.31.37", "216.246.31.97" ] }, { "vpn": "wireguard", "country": "Canada", "region": "The Americas", "city": "Vancouver", "hostname": "ca-van.prod.surfshark.com", "retroloc": "Canada Vancouver", "wgpubkey": "o4HezxSsbNqJFJZj+VBw/QXFLpfNo7PZu8xe7H2hTw0=", "ips": [ "149.22.81.180", "216.246.31.7", "216.246.31.25", "216.246.31.32", "216.246.31.37", "216.246.31.97" ] }, { "vpn": "openvpn", "country": "Chile", "region": "The Americas", "city": "Santiago", "hostname": "cl-san.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Chile", "ips": [ "149.88.104.36", "149.88.104.39", "149.88.104.41", "149.88.104.139", "149.88.104.141" ] }, { "vpn": "wireguard", "country": "Chile", "region": "The Americas", "city": "Santiago", "hostname": "cl-san.prod.surfshark.com", "retroloc": "Chile", "wgpubkey": "FdTRnh0g+FYFPj5UURQIcDbygd+2gMRrslErfmZxdDo=", "ips": [ "149.88.104.36", "149.88.104.39", "149.88.104.41", "149.88.104.139", "149.88.104.141" ] }, { "vpn": "openvpn", "country": "Colombia", "region": "The Americas", "city": "Bogota", "hostname": "co-bog.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Colombia", "ips": [ "149.88.111.66", "149.88.111.68", "149.88.111.76", "149.88.111.100", "149.88.111.130", "149.88.111.132", "149.88.111.137", "149.88.111.209", "149.88.111.211", "149.88.111.231" ] }, { "vpn": "wireguard", "country": "Colombia", "region": "The Americas", "city": "Bogota", "hostname": "co-bog.prod.surfshark.com", "retroloc": "Colombia", "wgpubkey": "lLqqxZuCTtIpBjgZJYWzPQn/7st24iVpJN+/xS7jogs=", "ips": [ "149.88.111.66", "149.88.111.68", "149.88.111.76", "149.88.111.100", "149.88.111.130", "149.88.111.132", "149.88.111.137", "149.88.111.209", "149.88.111.211", "149.88.111.231" ] }, { "vpn": "openvpn", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "hostname": "cr-sjn.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Costa Rica", "ips": [ "176.227.241.50", "176.227.241.52", "176.227.241.66", "176.227.241.68" ] }, { "vpn": "wireguard", "country": "Costa Rica", "region": "The Americas", "city": "San Jose", "hostname": "cr-sjn.prod.surfshark.com", "retroloc": "Costa Rica", "wgpubkey": "HPggZ80tXf9TpiZzy8xih7PIWjexg4Kyg3lzUGXoDHU=", "ips": [ "176.227.241.50", "176.227.241.52", "176.227.241.66", "176.227.241.68" ] }, { "vpn": "openvpn", "country": "Croatia", "region": "Europe", "city": "Zagreb", "hostname": "hr-zag.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Croatia", "ips": [ "149.102.247.135", "149.102.247.139" ] }, { "vpn": "wireguard", "country": "Croatia", "region": "Europe", "city": "Zagreb", "hostname": "hr-zag.prod.surfshark.com", "retroloc": "Croatia", "wgpubkey": "nIQmC5T4H0HX4yA2u/Z5rrbLQDAOLA+kFCdt8S94xXg=", "ips": [ "149.102.247.135", "149.102.247.139" ] }, { "vpn": "openvpn", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "hostname": "cy-nic.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Cyprus", "ips": [ "193.19.204.72", "193.19.204.74", "193.19.204.80", "193.19.204.82" ] }, { "vpn": "wireguard", "country": "Cyprus", "region": "Europe", "city": "Nicosia", "hostname": "cy-nic.prod.surfshark.com", "retroloc": "Cyprus", "wgpubkey": "kEAQgNChxGgrzoKPpCPFJKh0L1/5rXIq08KSY4g26zY=", "ips": [ "193.19.204.72", "193.19.204.74", "193.19.204.80", "193.19.204.82" ] }, { "vpn": "openvpn", "country": "Czech Republic", "region": "Europe", "city": "Prague", "hostname": "cz-prg.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Czech Republic", "ips": [ "185.152.64.165", "185.180.14.147", "185.180.14.149", "185.242.6.53", "185.242.6.67", "185.242.6.91", "185.242.6.93", "185.242.6.117", "185.242.6.123", "185.242.6.125" ] }, { "vpn": "wireguard", "country": "Czech Republic", "region": "Europe", "city": "Prague", "hostname": "cz-prg.prod.surfshark.com", "retroloc": "Czech Republic", "wgpubkey": "c1bfP+OBTj6WUe8NDH8d6nDTwpQicopfdkHFx3BIaSk=", "ips": [ "185.152.64.165", "185.180.14.147", "185.180.14.149", "185.242.6.53", "185.242.6.67", "185.242.6.91", "185.242.6.93", "185.242.6.117", "185.242.6.123", "185.242.6.125" ] }, { "vpn": "openvpn", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "hostname": "dk-cph.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Denmark", "ips": [ "89.45.7.19", "146.70.42.141", "146.70.42.179", "146.70.92.21" ] }, { "vpn": "wireguard", "country": "Denmark", "region": "Europe", "city": "Copenhagen", "hostname": "dk-cph.prod.surfshark.com", "retroloc": "Denmark", "wgpubkey": "peDjRPEdHHmo0hGootZ9f+MQCEXmziFkLhMTl2PeXRM=", "ips": [ "89.45.7.19", "146.70.42.141", "146.70.42.179", "146.70.92.21" ] }, { "vpn": "openvpn", "country": "Ecuador", "region": "The Americas", "city": "Quito", "hostname": "ec-uio.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "92.62.122.18", "92.62.122.20" ] }, { "vpn": "wireguard", "country": "Ecuador", "region": "The Americas", "city": "Quito", "hostname": "ec-uio.prod.surfshark.com", "wgpubkey": "LErFIOc3YBK1khnmwV+a6fBbYff2OS3h+wnIuOKZQTY=", "ips": [ "92.62.122.18", "92.62.122.20" ] }, { "vpn": "openvpn", "country": "Egypt", "region": "Middle East and Africa", "city": "Cairo", "hostname": "eg-cai.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.147.51", "62.197.147.53", "62.197.147.67", "62.197.147.69" ] }, { "vpn": "wireguard", "country": "Egypt", "region": "Middle East and Africa", "city": "Cairo", "hostname": "eg-cai.prod.surfshark.com", "wgpubkey": "EKaIyCUV8aqCtRkV6jfkU1IicE5ZaU2RC4VKAdgjOyA=", "ips": [ "62.197.147.51", "62.197.147.53", "62.197.147.67", "62.197.147.69" ] }, { "vpn": "openvpn", "country": "Estonia", "region": "Europe", "city": "Tallinn", "hostname": "ee-tll.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Estonia", "ips": [ "185.174.159.105", "185.174.159.107", "185.174.159.113", "185.174.159.119", "185.174.159.121", "185.174.159.196" ] }, { "vpn": "wireguard", "country": "Estonia", "region": "Europe", "city": "Tallinn", "hostname": "ee-tll.prod.surfshark.com", "retroloc": "Estonia", "wgpubkey": "CsdrT+WfcMRPhrOWgZeHj9DQiQtJfYFci94K5ztjr2E=", "ips": [ "185.174.159.105", "185.174.159.107", "185.174.159.113", "185.174.159.119", "185.174.159.121", "185.174.159.196" ] }, { "vpn": "openvpn", "country": "Finland", "region": "Europe", "city": "Helsinki", "hostname": "fi-hel.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Finland", "ips": [ "193.56.113.13", "193.56.113.16", "193.56.113.18", "193.56.113.42" ] }, { "vpn": "wireguard", "country": "Finland", "region": "Europe", "city": "Helsinki", "hostname": "fi-hel.prod.surfshark.com", "retroloc": "Finland", "wgpubkey": "+nv/Z8I2VS0eRdZwkpQW3U9RmsboTz2MUF94jVg5w10=", "ips": [ "193.56.113.13", "193.56.113.16", "193.56.113.18", "193.56.113.42" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Bordeaux", "hostname": "fr-bod.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "France Bordeaux", "ips": [ "45.134.79.136", "45.134.79.146", "45.134.79.153", "45.134.79.161", "45.134.79.163", "45.134.79.166" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Bordeaux", "hostname": "fr-bod.prod.surfshark.com", "retroloc": "France Bordeaux", "wgpubkey": "ArE5eVIEOPellzFlGK/oOcHCGnB+AAv0Un4C100COmw=", "ips": [ "45.134.79.136", "45.134.79.146", "45.134.79.153", "45.134.79.161", "45.134.79.163", "45.134.79.166" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Marseille", "hostname": "fr-mrs.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "France Marseilles", "ips": [ "138.199.16.130", "138.199.16.132", "138.199.16.140", "138.199.16.150", "185.166.84.143", "185.166.84.149" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Marseille", "hostname": "fr-mrs.prod.surfshark.com", "retroloc": "France Marseilles", "wgpubkey": "QYa3ZFLwWAHKiJzOcbM73K7KBE0tdJYuirbGb+uH0H0=", "ips": [ "138.199.16.130", "138.199.16.132", "138.199.16.140", "138.199.16.150", "185.166.84.143", "185.166.84.149" ] }, { "vpn": "openvpn", "country": "France", "region": "Europe", "city": "Paris", "hostname": "fr-par.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "France Paris", "ips": [ "82.102.18.123", "82.102.18.179", "82.102.18.189", "85.204.70.103" ] }, { "vpn": "wireguard", "country": "France", "region": "Europe", "city": "Paris", "hostname": "fr-par.prod.surfshark.com", "retroloc": "France Paris", "wgpubkey": "AsvLuvKKADdc67aA/vHA3vb61S6YnGGx2Pd4aP4wal8=", "ips": [ "82.102.18.123", "82.102.18.179", "82.102.18.189", "85.204.70.103" ] }, { "vpn": "openvpn", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "hostname": "ge-tbs.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "83.97.115.18", "83.97.115.20", "83.97.115.34", "83.97.115.36" ] }, { "vpn": "wireguard", "country": "Georgia", "region": "Europe", "city": "Tbilisi", "hostname": "ge-tbs.prod.surfshark.com", "wgpubkey": "L79E4IoaVZBXOyoMM82TvUIbiKlloRbUnT8R2Cl3PVM=", "ips": [ "83.97.115.18", "83.97.115.20", "83.97.115.34", "83.97.115.36" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Berlin", "hostname": "de-ber.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Berlin", "ips": [ "86.38.98.13", "86.38.98.33", "86.38.98.36", "152.89.163.229", "152.89.163.243", "193.176.86.93" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Berlin", "hostname": "de-ber.prod.surfshark.com", "retroloc": "Germany Berlin", "wgpubkey": "d3ldwEjnFcbLwD1o8uC5xC3DaSNek8DGeTpOb/h/IE4=", "ips": [ "86.38.98.13", "86.38.98.33", "86.38.98.36", "152.89.163.229", "152.89.163.243", "193.176.86.93" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-mp001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt mp001", "ips": [ "46.101.189.14" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main st001", "ips": [ "45.87.212.179" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st001.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main st001", "wgpubkey": "kj90Cy2gkEYrHn487636hOfto2EBWEddUngRdrziylM=", "ips": [ "45.87.212.179" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st002.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main st002", "ips": [ "45.87.212.181" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st002.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main st002", "wgpubkey": "HnYgO+mu04A2VjWiJiPh5TXFHJpWdcnmzCA1ExC991g=", "ips": [ "45.87.212.181" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st003.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main st003", "ips": [ "45.87.212.183" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st003.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main st003", "wgpubkey": "OkHRRG05U3WOYWL5x4+6SGHCQlHH0NxkJyi9aM2gDSo=", "ips": [ "45.87.212.183" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st004.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main st004", "ips": [ "195.181.174.226" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st004.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main st004", "wgpubkey": "0e0/gpN0k62p3s9SxSWL8PRhLx3PJZqNxMsK9OfTk0M=", "ips": [ "195.181.174.226" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st005.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main st005", "ips": [ "195.181.174.228" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st005.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main st005", "wgpubkey": "CbBv1dSpGADT0Lo23noLP3VNCe+U4C/NzcG/HSdDtwg=", "ips": [ "195.181.174.228" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st006.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main st006", "ips": [ "169.150.209.214" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st006.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main st006", "wgpubkey": "es0zPcbI1T5Vqrzjxl8QdaEKYVE7GDfV8ayR8jmvpRM=", "ips": [ "169.150.209.214" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st007.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main st007", "ips": [ "149.34.246.35" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra-st007.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main st007", "wgpubkey": "cyiOxJryKyqB3cdwXjL7ILCUy3KVBPrOXSbFtasEeF8=", "ips": [ "149.34.246.35" ] }, { "vpn": "openvpn", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Germany Frankfurt am Main", "ips": [ "45.150.174.88", "91.239.157.184", "91.239.157.218", "94.198.40.115", "94.198.40.125", "138.199.19.164", "138.199.19.190", "146.70.160.213", "146.70.160.235", "146.70.160.237", "146.70.178.117", "146.70.178.245", "146.70.178.251", "146.70.178.253", "149.88.19.86", "149.102.230.137", "156.146.33.67", "156.146.33.77", "169.150.201.131", "169.150.201.133", "185.104.184.203", "188.95.65.96" ] }, { "vpn": "wireguard", "country": "Germany", "region": "Europe", "city": "Frankfurt am Main", "hostname": "de-fra.prod.surfshark.com", "retroloc": "Germany Frankfurt am Main", "wgpubkey": "fJDA+OA6jzQxfRcoHfC27xz7m3C8/590fRjpntzSpGo=", "ips": [ "45.150.174.88", "91.239.157.184", "91.239.157.218", "94.198.40.115", "94.198.40.125", "138.199.19.164", "138.199.19.190", "146.70.160.213", "146.70.160.235", "146.70.160.237", "146.70.178.117", "146.70.178.245", "146.70.178.251", "146.70.178.253", "149.88.19.86", "149.102.230.137", "156.146.33.67", "156.146.33.77", "169.150.201.131", "169.150.201.133", "185.104.184.203", "188.95.65.96" ] }, { "vpn": "openvpn", "country": "Ghana", "region": "Middle East and Africa", "city": "Accra", "hostname": "gh-acc.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "102.218.100.115", "102.218.100.117", "102.218.100.131", "102.218.100.133" ] }, { "vpn": "wireguard", "country": "Ghana", "region": "Middle East and Africa", "city": "Accra", "hostname": "gh-acc.prod.surfshark.com", "wgpubkey": "UH3qS1ysggFDEBP8Hzgz19Sw0T+SKxFldkatHRKMqBY=", "ips": [ "102.218.100.115", "102.218.100.117", "102.218.100.131", "102.218.100.133" ] }, { "vpn": "openvpn", "country": "Greece", "region": "Europe", "city": "Athens", "hostname": "gr-ath.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Greece", "ips": [ "79.127.181.164", "79.127.181.180", "79.127.181.182", "79.127.181.185", "149.102.246.100", "149.102.246.103", "149.102.246.106", "149.102.246.109", "149.102.246.111", "149.102.246.194" ] }, { "vpn": "wireguard", "country": "Greece", "region": "Europe", "city": "Athens", "hostname": "gr-ath.prod.surfshark.com", "retroloc": "Greece", "wgpubkey": "bXnjQGLhuauvBMg51YIAhwX40YqNL2ImyEub5DpHaBk=", "ips": [ "79.127.181.164", "79.127.181.180", "79.127.181.182", "79.127.181.185", "149.102.246.100", "149.102.246.103", "149.102.246.106", "149.102.246.109", "149.102.246.111", "149.102.246.194" ] }, { "vpn": "openvpn", "country": "Greenland", "region": "Europe", "city": "Nuuk", "hostname": "gl-goh.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "92.62.123.83", "92.62.123.85", "92.62.123.99", "92.62.123.101" ] }, { "vpn": "wireguard", "country": "Greenland", "region": "Europe", "city": "Nuuk", "hostname": "gl-goh.prod.surfshark.com", "wgpubkey": "zPg3ZJ7OsztQ0CRSSvH5o2KVL1DYgDGW65DFwLsYwyw=", "ips": [ "92.62.123.83", "92.62.123.85", "92.62.123.99", "92.62.123.101" ] }, { "vpn": "openvpn", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "hostname": "hk-hkg.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Hong Kong", "ips": [ "118.99.2.28", "118.99.2.44", "118.99.2.52", "138.199.62.2", "138.199.62.14", "146.70.113.19", "156.146.45.151", "156.146.45.196" ] }, { "vpn": "wireguard", "country": "Hong Kong", "region": "Asia Pacific", "city": "Hong Kong", "hostname": "hk-hkg.prod.surfshark.com", "retroloc": "Hong Kong", "wgpubkey": "JYHdktdtuM7inbtsxRKSDpnBVTWQ5+QLZ/cWWmf4VRg=", "ips": [ "118.99.2.28", "118.99.2.44", "118.99.2.52", "138.199.62.2", "138.199.62.14", "146.70.113.19", "156.146.45.151", "156.146.45.196" ] }, { "vpn": "openvpn", "country": "Hungary", "region": "Europe", "city": "Budapest", "hostname": "hu-bud.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Hungary", "ips": [ "79.127.182.2", "79.127.182.4", "79.127.182.6", "79.127.182.9", "146.70.120.27", "146.70.120.29", "146.70.120.35", "146.70.120.37" ] }, { "vpn": "wireguard", "country": "Hungary", "region": "Europe", "city": "Budapest", "hostname": "hu-bud.prod.surfshark.com", "retroloc": "Hungary", "wgpubkey": "Pk3+iZNP0uWkDTSmEHlUeSA3WyiFXLXgYgAQ5wNyIBk=", "ips": [ "79.127.182.2", "79.127.182.4", "79.127.182.6", "79.127.182.9", "146.70.120.27", "146.70.120.29", "146.70.120.35", "146.70.120.37" ] }, { "vpn": "openvpn", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "hostname": "is-rkv.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Iceland", "ips": [ "45.139.252.4", "45.139.252.20" ] }, { "vpn": "wireguard", "country": "Iceland", "region": "Europe", "city": "Reykjavik", "hostname": "is-rkv.prod.surfshark.com", "retroloc": "Iceland", "wgpubkey": "d0m2sIa0JGcxCBvoWDU77SjmPoiWI/oKoX1TL2f2fTA=", "ips": [ "45.139.252.4", "45.139.252.20" ] }, { "vpn": "openvpn", "country": "India", "region": "Asia Pacific", "city": "Delhi", "hostname": "in-del.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "92.62.121.37", "92.62.121.53", "92.62.121.83", "92.62.121.117", "92.62.121.147", "92.62.121.179" ] }, { "vpn": "wireguard", "country": "India", "region": "Asia Pacific", "city": "Delhi", "hostname": "in-del.prod.surfshark.com", "wgpubkey": "+dmGrWPM9NI3vQkZ9E7hMRKAJKYzd3YMXGq10sjbN0A=", "ips": [ "92.62.121.37", "92.62.121.53", "92.62.121.83", "92.62.121.117", "92.62.121.147", "92.62.121.179" ] }, { "vpn": "openvpn", "country": "India", "region": "Asia Pacific", "city": "Mumbai", "hostname": "in-mum.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "176.227.240.16", "176.227.240.18" ] }, { "vpn": "wireguard", "country": "India", "region": "Asia Pacific", "city": "Mumbai", "hostname": "in-mum.prod.surfshark.com", "wgpubkey": "nZBv1nNW6HSvjybgCO9TNHI1pkX+C6GjyAHUtkJRjRI=", "ips": [ "176.227.240.16", "176.227.240.18" ] }, { "vpn": "openvpn", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "hostname": "id-jak.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Indonesia", "ips": [ "93.185.162.9", "93.185.162.11", "93.185.162.13", "93.185.162.25", "93.185.162.115", "93.185.162.122", "93.185.162.125", "93.185.162.127", "93.185.162.132", "93.185.162.141", "93.185.162.143", "93.185.162.146" ] }, { "vpn": "wireguard", "country": "Indonesia", "region": "Asia Pacific", "city": "Jakarta", "hostname": "id-jak.prod.surfshark.com", "retroloc": "Indonesia", "wgpubkey": "qyghLDfpfyparp0M52OVcmhKckayOvbRO2DDLkgJqyk=", "ips": [ "93.185.162.9", "93.185.162.11", "93.185.162.13", "93.185.162.25", "93.185.162.115", "93.185.162.122", "93.185.162.125", "93.185.162.127", "93.185.162.132", "93.185.162.141", "93.185.162.143", "93.185.162.146" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Europe", "city": "Dublin", "hostname": "ie-dub.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Ireland", "ips": [ "146.70.48.171", "149.34.242.18", "149.34.242.64", "149.34.242.72" ] }, { "vpn": "wireguard", "country": "Ireland", "region": "Europe", "city": "Dublin", "hostname": "ie-dub.prod.surfshark.com", "retroloc": "Ireland", "wgpubkey": "TjYxodFNdGlefxnWqe9vWWJHnz3meYWWhiIJyU8rgg8=", "ips": [ "146.70.48.171", "149.34.242.18", "149.34.242.64", "149.34.242.72" ] }, { "vpn": "openvpn", "country": "Isle of Man", "region": "Europe", "city": "Douglas", "hostname": "im-iom.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.148.51", "62.197.148.67", "62.197.148.69", "62.197.148.85" ] }, { "vpn": "wireguard", "country": "Isle of Man", "region": "Europe", "city": "Douglas", "hostname": "im-iom.prod.surfshark.com", "wgpubkey": "PQKiTkyLs9+rvDkmhnHYBKUZAZwBpZYIZ7/mefvYKko=", "ips": [ "62.197.148.51", "62.197.148.67", "62.197.148.69", "62.197.148.85" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Middle East and Africa", "city": "Tel Aviv", "hostname": "il-tlv.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Israel", "ips": [ "169.150.227.2", "169.150.227.4", "169.150.227.137", "169.150.227.142", "169.150.227.145", "169.150.227.147" ] }, { "vpn": "wireguard", "country": "Israel", "region": "Middle East and Africa", "city": "Tel Aviv", "hostname": "il-tlv.prod.surfshark.com", "retroloc": "Israel", "wgpubkey": "ZEG2fUrtohnVePblUlDM6wyyeTobzsABnMjTTFmqNUE=", "ips": [ "169.150.227.2", "169.150.227.4", "169.150.227.137", "169.150.227.142", "169.150.227.145", "169.150.227.147" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Milan", "hostname": "it-mil.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Italy Milan", "ips": [ "84.17.58.195", "146.70.109.125", "146.70.182.69", "146.70.182.77", "146.70.182.83", "212.102.54.137" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Milan", "hostname": "it-mil.prod.surfshark.com", "retroloc": "Italy Milan", "wgpubkey": "vIMHzH5FHdVkrhOOc0u/FySVhumaLC3XUk39Wk34LnE=", "ips": [ "84.17.58.195", "146.70.109.125", "146.70.182.69", "146.70.182.77", "146.70.182.83", "212.102.54.137" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Europe", "city": "Rome", "hostname": "it-rom.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Italy Rome", "ips": [ "37.120.207.157", "37.120.207.165", "37.120.207.179", "37.120.207.187", "37.120.207.195", "37.120.207.235", "37.120.207.237", "185.183.105.5", "185.217.71.227", "185.217.71.235" ] }, { "vpn": "wireguard", "country": "Italy", "region": "Europe", "city": "Rome", "hostname": "it-rom.prod.surfshark.com", "retroloc": "Italy Rome", "wgpubkey": "fqxSeDr7n249iywruwLMwkV3r36svPT1tLf9TJOTFAw=", "ips": [ "37.120.207.157", "37.120.207.165", "37.120.207.179", "37.120.207.187", "37.120.207.195", "37.120.207.235", "37.120.207.237", "185.183.105.5", "185.217.71.227", "185.217.71.235" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st014.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.187" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st014.prod.surfshark.com", "wgpubkey": "YAi7pHzk1O+kVP2dmXTht/qj5kZ/M04N8EbNYG3vw2I=", "ips": [ "37.19.205.187" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st015.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "138.199.22.153" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st015.prod.surfshark.com", "wgpubkey": "nRaQb3Sa6SPDMW6QC0C6mC949iSTfKY4uytfyfZm8n0=", "ips": [ "138.199.22.153" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st016.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.177" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st016.prod.surfshark.com", "wgpubkey": "2Fn9Do6+JKXV8mDZpB3DfWmaJHZwDXE/3GpckVKGzC8=", "ips": [ "37.19.205.177" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st017.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.179" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st017.prod.surfshark.com", "wgpubkey": "T5aWKn3n64TkxqGqOv0ynTxY/w4ktVjc8AePLkDIM2Q=", "ips": [ "37.19.205.179" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st018.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.182" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st018.prod.surfshark.com", "wgpubkey": "kRIGOWrV9eCe0FmFIFwtawoRjzZVCaQs+7FDfPRoAkU=", "ips": [ "37.19.205.182" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st019.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.184" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st019.prod.surfshark.com", "wgpubkey": "RV46b4hNW5tn2I+REE4kJ36rKf5+nDVNE/SYM16XqDw=", "ips": [ "37.19.205.184" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st020.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.167" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st020.prod.surfshark.com", "wgpubkey": "vEPOb23yMjJ37NF/KSXPKCL56LZO4UCulS3XbP+TKFs=", "ips": [ "37.19.205.167" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st021.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.169" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st021.prod.surfshark.com", "wgpubkey": "821FvIHfdxW+gFPj8QNtEe2BgzSb5ryQxTNeRP+I6WE=", "ips": [ "37.19.205.169" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st022.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.162" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st022.prod.surfshark.com", "wgpubkey": "nOobAMCxM7p0filChMAW6abz3BWDGzUFDB1Xyza0nCc=", "ips": [ "37.19.205.162" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st023.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.205.164" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st023.prod.surfshark.com", "wgpubkey": "cwEDkT+qAO1+yQJGe8r7ajc69oXqUYGbMHp1L+lHkHM=", "ips": [ "37.19.205.164" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st024.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "89.187.161.2" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st024.prod.surfshark.com", "wgpubkey": "4wdPRcmcFo2/pRi4zaXSKFZkR4rE54dCvgFDnomsEAs=", "ips": [ "89.187.161.2" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st025.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "89.187.161.4" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok-st025.prod.surfshark.com", "wgpubkey": "IpGp7fS8+qpTPq24EN9NqOdvAjOTfyC/cI8DB5kndFY=", "ips": [ "89.187.161.4" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Japan Tokyo", "ips": [ "84.17.34.44", "89.187.160.132", "89.187.160.145", "138.199.22.132", "138.199.22.139", "146.70.205.141", "146.70.205.187", "154.47.23.72" ] }, { "vpn": "wireguard", "country": "Japan", "region": "Asia Pacific", "city": "Tokyo", "hostname": "jp-tok.prod.surfshark.com", "retroloc": "Japan Tokyo", "wgpubkey": "YJSjrc/WWOjQUyUi4iYcHb7LsWWoCY+2fK8/8VtC/BY=", "ips": [ "84.17.34.44", "89.187.160.132", "89.187.160.145", "138.199.22.132", "138.199.22.139", "146.70.205.141", "146.70.205.187", "154.47.23.72" ] }, { "vpn": "openvpn", "country": "Kazakhstan", "region": "Asia Pacific", "city": "Oral", "hostname": "kz-ura.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "217.9.250.83" ] }, { "vpn": "wireguard", "country": "Kazakhstan", "region": "Asia Pacific", "city": "Oral", "hostname": "kz-ura.prod.surfshark.com", "wgpubkey": "c8SPrUWVMjSm3xdZRF4eg57sdEo2TFmBDVKP+A+quHM=", "ips": [ "217.9.250.83" ] }, { "vpn": "openvpn", "country": "Laos", "region": "Asia Pacific", "city": "Vientiane", "hostname": "la-vte.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "194.169.168.17", "194.169.168.19", "194.169.168.22", "194.169.168.24" ] }, { "vpn": "wireguard", "country": "Laos", "region": "Asia Pacific", "city": "Vientiane", "hostname": "la-vte.prod.surfshark.com", "wgpubkey": "yIlpSftvkSE2+T0uqxWl9HeQSrmPg+HkyvGLi55UqG0=", "ips": [ "194.169.168.17", "194.169.168.19", "194.169.168.22", "194.169.168.24" ] }, { "vpn": "openvpn", "country": "Latvia", "region": "Europe", "city": "Riga", "hostname": "lv-rig.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Latvia", "ips": [ "80.246.31.71", "80.246.31.74", "80.246.31.76", "80.246.31.80", "80.246.31.82", "80.246.31.102", "159.148.58.7", "159.148.58.9" ] }, { "vpn": "wireguard", "country": "Latvia", "region": "Europe", "city": "Riga", "hostname": "lv-rig.prod.surfshark.com", "retroloc": "Latvia", "wgpubkey": "EmghYf9rIpwOQ0uIjIxgCXs/WwHJthNvPIv5iKseE3A=", "ips": [ "80.246.31.71", "80.246.31.74", "80.246.31.76", "80.246.31.80", "80.246.31.82", "80.246.31.102", "159.148.58.7", "159.148.58.9" ] }, { "vpn": "openvpn", "country": "Liechtenstein", "region": "Europe", "city": "Vaduz", "hostname": "li-qvu.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.150.51", "62.197.150.53" ] }, { "vpn": "wireguard", "country": "Liechtenstein", "region": "Europe", "city": "Vaduz", "hostname": "li-qvu.prod.surfshark.com", "wgpubkey": "ZSCz5PqrLnu+Eu9wjiMDLscEHTBcfD0H3CGz0i8pXxc=", "ips": [ "62.197.150.51", "62.197.150.53" ] }, { "vpn": "openvpn", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "hostname": "lt-vno.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.149.112", "62.197.149.115", "62.197.149.121", "62.197.149.123", "62.197.149.126", "62.197.149.128" ] }, { "vpn": "wireguard", "country": "Lithuania", "region": "Europe", "city": "Vilnius", "hostname": "lt-vno.prod.surfshark.com", "wgpubkey": "pC7xJD56uFFJ7qHpe3XvXXhjwZcoMco09ySHOg4h+iA=", "ips": [ "62.197.149.112", "62.197.149.115", "62.197.149.121", "62.197.149.123", "62.197.149.126", "62.197.149.128" ] }, { "vpn": "openvpn", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "hostname": "lu-ste.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Luxembourg", "ips": [ "145.223.8.5", "145.223.8.7", "145.223.8.10", "145.223.8.12", "185.153.151.154", "185.153.151.169", "185.153.151.176", "185.153.151.179" ] }, { "vpn": "wireguard", "country": "Luxembourg", "region": "Europe", "city": "Luxembourg", "hostname": "lu-ste.prod.surfshark.com", "retroloc": "Luxembourg", "wgpubkey": "68JVBL/M2AYQ9gYHtcpmZ6Pl+ayhJjTL2sr6Ej1VEFg=", "ips": [ "145.223.8.5", "145.223.8.7", "145.223.8.10", "145.223.8.12", "185.153.151.154", "185.153.151.169", "185.153.151.176", "185.153.151.179" ] }, { "vpn": "openvpn", "country": "Macau", "region": "Asia Pacific", "city": "Macao", "hostname": "mo-mfm.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.154.22", "62.197.154.24", "62.197.154.27", "62.197.154.32", "62.197.154.34", "62.197.154.39", "62.197.154.42", "62.197.154.44" ] }, { "vpn": "wireguard", "country": "Macau", "region": "Asia Pacific", "city": "Macao", "hostname": "mo-mfm.prod.surfshark.com", "wgpubkey": "uMD8IFggqtF0ZbviJJFMQFhR3R52mVqhoJmKPt+aACs=", "ips": [ "62.197.154.22", "62.197.154.24", "62.197.154.27", "62.197.154.32", "62.197.154.34", "62.197.154.39", "62.197.154.42", "62.197.154.44" ] }, { "vpn": "openvpn", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "hostname": "my-kul.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Malaysia", "ips": [ "152.233.3.59", "185.196.0.8", "185.196.0.18", "185.196.0.25", "202.176.4.23", "202.176.4.57" ] }, { "vpn": "wireguard", "country": "Malaysia", "region": "Asia Pacific", "city": "Kuala Lumpur", "hostname": "my-kul.prod.surfshark.com", "retroloc": "Malaysia", "wgpubkey": "AS84LXlJfgBwGHc70MvtGRxsMqNNucZ2pNOBayJUm04=", "ips": [ "152.233.3.59", "185.196.0.8", "185.196.0.18", "185.196.0.25", "202.176.4.23", "202.176.4.57" ] }, { "vpn": "openvpn", "country": "Malta", "region": "Europe", "city": "Valletta", "hostname": "mt-mla.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "193.228.56.132", "193.228.56.134", "193.228.56.137", "193.228.56.139" ] }, { "vpn": "wireguard", "country": "Malta", "region": "Europe", "city": "Valletta", "hostname": "mt-mla.prod.surfshark.com", "wgpubkey": "c9EuAnWYvGUyFrzrV70Fph0onkFv2xe3Bc0gTCFuKRw=", "ips": [ "193.228.56.132", "193.228.56.134", "193.228.56.137", "193.228.56.139" ] }, { "vpn": "openvpn", "country": "Marocco", "region": "Middle East and Africa", "city": "Rabat", "hostname": "ma-rab.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "23.27.214.18", "23.27.214.20", "23.27.214.34", "23.27.214.36" ] }, { "vpn": "wireguard", "country": "Marocco", "region": "Middle East and Africa", "city": "Rabat", "hostname": "ma-rab.prod.surfshark.com", "wgpubkey": "Tl7KINtNnar9fVQD8LG2dswOEqSKmUP9ioimCjo6jHc=", "ips": [ "23.27.214.18", "23.27.214.20", "23.27.214.34", "23.27.214.36" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "The Americas", "city": "Queretaro", "hostname": "mx-qro.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "69.67.148.25", "79.127.229.164", "103.88.234.31", "103.88.234.161", "103.88.234.177", "103.88.234.189" ] }, { "vpn": "wireguard", "country": "Mexico", "region": "The Americas", "city": "Queretaro", "hostname": "mx-qro.prod.surfshark.com", "wgpubkey": "6C8O3L/Li0JOO5aWvL6PrciiZOOaRBtWmempOUENLQs=", "ips": [ "69.67.148.25", "79.127.229.164", "103.88.234.31", "103.88.234.161", "103.88.234.177", "103.88.234.189" ] }, { "vpn": "openvpn", "country": "Moldova", "region": "Europe", "city": "Chisinau", "hostname": "md-chi.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Moldova", "ips": [ "217.9.245.83", "217.9.245.85", "217.9.245.99", "217.9.245.101" ] }, { "vpn": "wireguard", "country": "Moldova", "region": "Europe", "city": "Chisinau", "hostname": "md-chi.prod.surfshark.com", "retroloc": "Moldova", "wgpubkey": "4Exn42t337sxoBzYHxgmDBNq+AhTYz6nvEj98TWY50Y=", "ips": [ "217.9.245.83", "217.9.245.85", "217.9.245.99", "217.9.245.101" ] }, { "vpn": "openvpn", "country": "Monaco", "region": "Europe", "city": "Monte Carlo", "hostname": "mc-mcm.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.151.18", "62.197.151.36" ] }, { "vpn": "wireguard", "country": "Monaco", "region": "Europe", "city": "Monte Carlo", "hostname": "mc-mcm.prod.surfshark.com", "wgpubkey": "rj9PNit3SCy52Knw0QmHUfN2W59nB4oMOtmOZq1q/Hc=", "ips": [ "62.197.151.18", "62.197.151.36" ] }, { "vpn": "openvpn", "country": "Mongolia", "region": "Asia Pacific", "city": "Ulaanbaatar", "hostname": "mn-uln.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Hong Kong", "ips": [ "62.197.155.51", "62.197.155.53", "62.197.155.67", "62.197.155.69" ] }, { "vpn": "wireguard", "country": "Mongolia", "region": "Asia Pacific", "city": "Ulaanbaatar", "hostname": "mn-uln.prod.surfshark.com", "retroloc": "Hong Kong", "wgpubkey": "3nLHy4uBd2nBUDuAuR6AM58yHLiX2CAXg8kdgEr6tV4=", "ips": [ "62.197.155.51", "62.197.155.53", "62.197.155.67", "62.197.155.69" ] }, { "vpn": "openvpn", "country": "Montenegro", "region": "Europe", "city": "Podgorica", "hostname": "me-tgd.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "62.197.159.18", "62.197.159.20", "62.197.159.34", "62.197.159.36" ] }, { "vpn": "wireguard", "country": "Montenegro", "region": "Europe", "city": "Podgorica", "hostname": "me-tgd.prod.surfshark.com", "wgpubkey": "Jhiez1pdO7tqUX0OmUubd9SPfvUc/ypSLRzWiyr3SRM=", "ips": [ "62.197.159.18", "62.197.159.20", "62.197.159.34", "62.197.159.36" ] }, { "vpn": "openvpn", "country": "Myanmar", "region": "Asia Pacific", "city": "Naypyidaw", "hostname": "mm-nyt.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "45.95.242.39", "45.95.242.44" ] }, { "vpn": "wireguard", "country": "Myanmar", "region": "Asia Pacific", "city": "Naypyidaw", "hostname": "mm-nyt.prod.surfshark.com", "wgpubkey": "tehGZzcmdK59x99I9dbfuWOHSxBdPsz5lB+uAoT75kE=", "ips": [ "45.95.242.39", "45.95.242.44" ] }, { "vpn": "openvpn", "country": "Nepal", "region": "Asia Pacific", "city": "Kathmandu", "hostname": "np-ktm.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "194.169.170.39", "194.169.170.41" ] }, { "vpn": "wireguard", "country": "Nepal", "region": "Asia Pacific", "city": "Kathmandu", "hostname": "np-ktm.prod.surfshark.com", "wgpubkey": "UKMTmY99xrUwchQNucd1SW6CmIFsDH1JpxQStRWA1V4=", "ips": [ "194.169.170.39", "194.169.170.41" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "hostname": "nl-ams-mp001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Netherlands Amsterdam mp001", "ips": [ "188.166.43.117" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "hostname": "nl-ams-st001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Netherlands Amsterdam st001", "ips": [ "81.19.209.51" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "hostname": "nl-ams-st001.prod.surfshark.com", "retroloc": "Netherlands Amsterdam st001", "wgpubkey": "6nnixEne6MUyAmsjhA/1O7evl+STAL00AoLcY5+Hb1Y=", "ips": [ "81.19.209.51" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "hostname": "nl-ams.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Netherlands Amsterdam", "ips": [ "81.19.208.85", "81.19.208.109", "89.46.223.187", "143.244.42.66", "143.244.42.74", "212.102.35.204" ] }, { "vpn": "wireguard", "country": "Netherlands", "region": "Europe", "city": "Amsterdam", "hostname": "nl-ams.prod.surfshark.com", "retroloc": "Netherlands Amsterdam", "wgpubkey": "Lxg3jAOKcBA9tGBtB6vEWMFl5LUEB6AwOpuniYn1cig=", "ips": [ "81.19.208.85", "81.19.208.109", "89.46.223.187", "143.244.42.66", "143.244.42.74", "212.102.35.204" ] }, { "vpn": "openvpn", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "hostname": "nz-akl.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "New Zealand", "ips": [ "62.93.164.226", "62.93.164.233", "62.93.164.236", "62.93.164.238", "62.93.164.243", "62.93.164.246", "180.149.231.5", "180.149.231.11", "180.149.231.43", "180.149.231.45", "180.149.231.115", "180.149.231.163" ] }, { "vpn": "wireguard", "country": "New Zealand", "region": "Asia Pacific", "city": "Auckland", "hostname": "nz-akl.prod.surfshark.com", "retroloc": "New Zealand", "wgpubkey": "xv8P19y0m9ojrLelCaPzGtaVv7tlPzLgZxvAD7lpYDg=", "ips": [ "62.93.164.226", "62.93.164.233", "62.93.164.236", "62.93.164.238", "62.93.164.243", "62.93.164.246", "180.149.231.5", "180.149.231.11", "180.149.231.43", "180.149.231.45", "180.149.231.115", "180.149.231.163" ] }, { "vpn": "openvpn", "country": "Nigeria", "region": "Middle East and Africa", "city": "Lagos", "hostname": "ng-lag.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Nigeria", "ips": [ "79.127.149.39", "79.127.149.41", "79.127.149.49", "79.127.149.51" ] }, { "vpn": "wireguard", "country": "Nigeria", "region": "Middle East and Africa", "city": "Lagos", "hostname": "ng-lag.prod.surfshark.com", "retroloc": "Nigeria", "wgpubkey": "mMmsmMyqtASb4V42H5nxyD8BgauWrNhCCZdBHCsbC00=", "ips": [ "79.127.149.39", "79.127.149.41", "79.127.149.49", "79.127.149.51" ] }, { "vpn": "openvpn", "country": "North Macedonia", "region": "Europe", "city": "Skopje", "hostname": "mk-skp.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "North Macedonia", "ips": [ "217.9.244.83", "217.9.244.85", "217.9.244.99", "217.9.244.101" ] }, { "vpn": "wireguard", "country": "North Macedonia", "region": "Europe", "city": "Skopje", "hostname": "mk-skp.prod.surfshark.com", "retroloc": "North Macedonia", "wgpubkey": "dZNq48noPkey9rwSbAU+masbafpDSaAmtAMaP+gzLxA=", "ips": [ "217.9.244.83", "217.9.244.85", "217.9.244.99", "217.9.244.101" ] }, { "vpn": "openvpn", "country": "Norway", "region": "Europe", "city": "Oslo", "hostname": "no-osl.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Norway", "ips": [ "79.127.150.132", "79.127.150.137", "79.127.150.147", "185.253.97.107", "185.253.97.109", "185.253.97.117" ] }, { "vpn": "wireguard", "country": "Norway", "region": "Europe", "city": "Oslo", "hostname": "no-osl.prod.surfshark.com", "retroloc": "Norway", "wgpubkey": "pXfZi2vsdd88qrnqh+bwqHG4IYD42pj3T1wCm3PIGmw=", "ips": [ "79.127.150.132", "79.127.150.137", "79.127.150.147", "185.253.97.107", "185.253.97.109", "185.253.97.117" ] }, { "vpn": "openvpn", "country": "Pakistan", "region": "Asia Pacific", "city": "Karachi", "hostname": "pk-khi.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "151.244.60.19", "151.244.60.22" ] }, { "vpn": "wireguard", "country": "Pakistan", "region": "Asia Pacific", "city": "Karachi", "hostname": "pk-khi.prod.surfshark.com", "wgpubkey": "DLb7wUFYkOcx5iiNxbNquP5rH+EJdiQfrdFaQoojskU=", "ips": [ "151.244.60.19", "151.244.60.22" ] }, { "vpn": "openvpn", "country": "Panama", "region": "The Americas", "city": "Panama", "hostname": "pa-pac.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "185.244.139.83", "185.244.139.85", "185.244.139.99", "185.244.139.101" ] }, { "vpn": "wireguard", "country": "Panama", "region": "The Americas", "city": "Panama", "hostname": "pa-pac.prod.surfshark.com", "wgpubkey": "9L1tbh/IHrrtImJnuEsVc1eN7xChlLzS6nCMaVyH/iQ=", "ips": [ "185.244.139.83", "185.244.139.85", "185.244.139.99", "185.244.139.101" ] }, { "vpn": "openvpn", "country": "Paraguay", "region": "The Americas", "city": "Asunción", "hostname": "py-asu.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "194.26.131.34", "194.26.131.36" ] }, { "vpn": "wireguard", "country": "Paraguay", "region": "The Americas", "city": "Asunción", "hostname": "py-asu.prod.surfshark.com", "wgpubkey": "vY6iX5ivkYIrIADMPQMtzR8onU7UYlB52XH5loAeDn0=", "ips": [ "194.26.131.34", "194.26.131.36" ] }, { "vpn": "openvpn", "country": "Peru", "region": "The Americas", "city": "Lima", "hostname": "pe-lim.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "95.173.223.108", "95.173.223.113" ] }, { "vpn": "wireguard", "country": "Peru", "region": "The Americas", "city": "Lima", "hostname": "pe-lim.prod.surfshark.com", "wgpubkey": "mR3GelqqkAL6IKKbzcdxJm3f3uyVNxdzCCtTcLT+wUc=", "ips": [ "95.173.223.108", "95.173.223.113" ] }, { "vpn": "openvpn", "country": "Philippines", "region": "Asia Pacific", "city": "Manila", "hostname": "ph-mnl.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Philippines", "ips": [ "23.27.183.12", "23.27.183.27" ] }, { "vpn": "wireguard", "country": "Philippines", "region": "Asia Pacific", "city": "Manila", "hostname": "ph-mnl.prod.surfshark.com", "retroloc": "Philippines", "wgpubkey": "utXZy1ELBSQKa6s9/K/W4sV11Jod6sSLoikKqKRPyQs=", "ips": [ "23.27.183.12", "23.27.183.27" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Gdansk", "hostname": "pl-gdn.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Poland Gdansk", "ips": [ "5.133.9.203", "5.187.52.205", "5.187.54.149", "37.28.156.227", "37.28.156.235", "37.28.156.243", "37.28.156.245", "178.255.41.197" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Gdansk", "hostname": "pl-gdn.prod.surfshark.com", "retroloc": "Poland Gdansk", "wgpubkey": "4lZhg/fKDCRLjvULGntx21qfebzQv5TJjZ1pc82sUgc=", "ips": [ "5.133.9.203", "5.187.52.205", "5.187.54.149", "37.28.156.227", "37.28.156.235", "37.28.156.243", "37.28.156.245", "178.255.41.197" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Europe", "city": "Warsaw", "hostname": "pl-waw.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Poland Warsaw", "ips": [ "45.128.38.141", "45.128.38.147", "45.128.38.149", "45.134.212.38", "45.134.212.40", "45.134.212.53", "45.134.212.246", "45.134.212.248", "138.199.17.130", "185.246.208.182" ] }, { "vpn": "wireguard", "country": "Poland", "region": "Europe", "city": "Warsaw", "hostname": "pl-waw.prod.surfshark.com", "retroloc": "Poland Warsaw", "wgpubkey": "vBa3HK7QXietG64rHRLm085VMS2cAX2paeAaphB/SEU=", "ips": [ "45.128.38.141", "45.128.38.147", "45.128.38.149", "45.134.212.38", "45.134.212.40", "45.134.212.53", "45.134.212.246", "45.134.212.248", "138.199.17.130", "185.246.208.182" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Lisbon", "hostname": "pt-lis.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Portugal Lisbon", "ips": [ "149.88.20.73", "149.88.20.75", "149.88.20.97", "185.92.210.105", "185.92.210.133", "185.92.210.135", "185.92.210.137", "185.92.210.139" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Lisbon", "hostname": "pt-lis.prod.surfshark.com", "retroloc": "Portugal Lisbon", "wgpubkey": "JgYlpt7jFh0FV2QO0QQ3yFfsnqikUq977V3cObFGTQ4=", "ips": [ "149.88.20.73", "149.88.20.75", "149.88.20.97", "185.92.210.105", "185.92.210.133", "185.92.210.135", "185.92.210.137", "185.92.210.139" ] }, { "vpn": "openvpn", "country": "Portugal", "region": "Europe", "city": "Porto", "hostname": "pt-opo.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Portugal Porto", "ips": [ "103.192.205.52", "103.192.205.54", "103.192.205.60" ] }, { "vpn": "wireguard", "country": "Portugal", "region": "Europe", "city": "Porto", "hostname": "pt-opo.prod.surfshark.com", "retroloc": "Portugal Porto", "wgpubkey": "F24iHyEt6YSSaUry/nQAfIEOwXncH0RHUtkte0znvkE=", "ips": [ "103.192.205.52", "103.192.205.54", "103.192.205.60" ] }, { "vpn": "openvpn", "country": "Puerto Rico", "region": "The Americas", "city": "San Juan", "hostname": "pr-sju.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "45.139.253.2", "45.139.253.18" ] }, { "vpn": "wireguard", "country": "Puerto Rico", "region": "The Americas", "city": "San Juan", "hostname": "pr-sju.prod.surfshark.com", "wgpubkey": "aShaCPgmFn4fHK6wY7pVEIirZ3J961+93d3Qicz6swE=", "ips": [ "45.139.253.2", "45.139.253.18" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Europe", "city": "Bucharest", "hostname": "ro-buc.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Romania", "ips": [ "85.204.124.91", "85.204.124.93", "89.33.8.195", "169.150.199.171", "185.102.217.159", "217.148.143.195" ] }, { "vpn": "wireguard", "country": "Romania", "region": "Europe", "city": "Bucharest", "hostname": "ro-buc.prod.surfshark.com", "retroloc": "Romania", "wgpubkey": "uRT3uSAUwvm7Rp+s3n5V9JibsKHKAZ/8+SU3psG8QxI=", "ips": [ "85.204.124.91", "85.204.124.93", "89.33.8.195", "169.150.199.171", "185.102.217.159", "217.148.143.195" ] }, { "vpn": "openvpn", "country": "Saudi Arabia", "region": "Middle East and Africa", "city": "Riyadh", "hostname": "sa-ruh.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "45.150.5.2", "45.150.5.20" ] }, { "vpn": "wireguard", "country": "Saudi Arabia", "region": "Middle East and Africa", "city": "Riyadh", "hostname": "sa-ruh.prod.surfshark.com", "wgpubkey": "quiGeZeYE8T2FBBfz3mGikY9m7cTTyA0q/ROFakbfwU=", "ips": [ "45.150.5.2", "45.150.5.20" ] }, { "vpn": "openvpn", "country": "Serbia", "region": "Europe", "city": "Belgrade", "hostname": "rs-beg.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Serbia", "ips": [ "37.120.193.229", "130.195.209.195", "146.70.111.83", "146.70.111.85" ] }, { "vpn": "wireguard", "country": "Serbia", "region": "Europe", "city": "Belgrade", "hostname": "rs-beg.prod.surfshark.com", "retroloc": "Serbia", "wgpubkey": "A3vmr6/umw5sP8anxNyipgi5oEnOnZdqB1K/cbQpMiI=", "ips": [ "37.120.193.229", "130.195.209.195", "146.70.111.83", "146.70.111.85" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-mp001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Singapore mp001", "ips": [ "206.189.94.229" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st005.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "138.199.60.175" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st005.prod.surfshark.com", "wgpubkey": "d9+f+QTkJH5vYt5dah62rKQLVIudeMERjEssTg3txnQ=", "ips": [ "138.199.60.175" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st006.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "138.199.60.177" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st006.prod.surfshark.com", "wgpubkey": "r5IE8U+/CmPJBQFULLUPwfE4AESkUU7Z4wWBOpHvFyA=", "ips": [ "138.199.60.177" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st007.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "138.199.60.170" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st007.prod.surfshark.com", "wgpubkey": "4geWIYI3+Zn7GmtzJ4D9/QIhRjWGpWwIhqssT3Yl9RE=", "ips": [ "138.199.60.170" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st008.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "138.199.60.172" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st008.prod.surfshark.com", "wgpubkey": "6GvYCh8LaRnbp3OwvNB2BPCaNOjGYKGwfen6eVUP6hc=", "ips": [ "138.199.60.172" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st009.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "138.199.60.180" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st009.prod.surfshark.com", "wgpubkey": "sk0YuJx8nO9hhJnQz5rn1aboekY7Hdl9ZfebCSXBGAY=", "ips": [ "138.199.60.180" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st010.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "138.199.60.182" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng-st010.prod.surfshark.com", "wgpubkey": "eL2WOQ130amedxlJ50x71eZUI3QWg8wuqwgqc9vjSRo=", "ips": [ "138.199.60.182" ] }, { "vpn": "openvpn", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Singapore", "ips": [ "89.187.163.200", "146.70.192.165", "149.88.23.81", "149.88.106.172", "149.88.106.175", "151.240.33.18", "151.240.33.22", "156.146.56.137" ] }, { "vpn": "wireguard", "country": "Singapore", "region": "Asia Pacific", "city": "Singapore", "hostname": "sg-sng.prod.surfshark.com", "retroloc": "Singapore", "wgpubkey": "MGfgkhJsMVMTO33h1wr76+z6gQr/93VcGdClfbaPsnU=", "ips": [ "89.187.163.200", "146.70.192.165", "149.88.23.81", "149.88.106.172", "149.88.106.175", "151.240.33.18", "151.240.33.22", "156.146.56.137" ] }, { "vpn": "openvpn", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "hostname": "sk-bts.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Slovekia", "ips": [ "146.70.114.187", "146.70.114.189", "185.76.8.210", "185.76.8.215" ] }, { "vpn": "wireguard", "country": "Slovakia", "region": "Europe", "city": "Bratislava", "hostname": "sk-bts.prod.surfshark.com", "retroloc": "Slovekia", "wgpubkey": "T5b7+uwUFqN5r1WsfBXURpSnYCYRLFAVreKkIQHGOlw=", "ips": [ "146.70.114.187", "146.70.114.189", "185.76.8.210", "185.76.8.215" ] }, { "vpn": "openvpn", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "hostname": "si-lju.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Slovenia", "ips": [ "195.158.249.19", "195.158.249.21", "195.158.249.23", "195.158.249.25", "195.158.249.27", "195.158.249.29" ] }, { "vpn": "wireguard", "country": "Slovenia", "region": "Europe", "city": "Ljubljana", "hostname": "si-lju.prod.surfshark.com", "retroloc": "Slovenia", "wgpubkey": "yPdmxOfzm06fotkt/dlaAiyxWPaWfCuDPaUljNx+c38=", "ips": [ "195.158.249.19", "195.158.249.21", "195.158.249.23", "195.158.249.25", "195.158.249.27", "195.158.249.29" ] }, { "vpn": "openvpn", "country": "South Africa", "region": "Middle East and Africa", "city": "Johannesburg", "hostname": "za-jnb.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "South Africa", "ips": [ "149.102.248.138", "149.102.248.143", "149.102.248.145", "154.47.30.98", "154.47.30.100", "154.47.30.103", "154.47.30.105", "154.47.30.110" ] }, { "vpn": "wireguard", "country": "South Africa", "region": "Middle East and Africa", "city": "Johannesburg", "hostname": "za-jnb.prod.surfshark.com", "retroloc": "South Africa", "wgpubkey": "Wj/fSWxNLs1igL1uTRp4zLFNohe4S1wqNTYRHevthUA=", "ips": [ "149.102.248.138", "149.102.248.143", "149.102.248.145", "154.47.30.98", "154.47.30.100", "154.47.30.103", "154.47.30.105", "154.47.30.110" ] }, { "vpn": "openvpn", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "hostname": "kr-seo.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Korea", "ips": [ "61.97.243.107", "61.97.243.118", "61.97.244.82", "84.233.167.66", "84.233.167.68", "84.233.167.71", "84.233.167.130", "84.233.167.135", "93.152.212.39", "93.152.212.41", "93.152.212.44", "93.152.212.49" ] }, { "vpn": "wireguard", "country": "South Korea", "region": "Asia Pacific", "city": "Seoul", "hostname": "kr-seo.prod.surfshark.com", "retroloc": "Korea", "wgpubkey": "bD/m2mdKxJXG2wTkLsmWpiW8xZwkDdrrrwC44auOhQg=", "ips": [ "61.97.243.107", "61.97.243.118", "61.97.244.82", "84.233.167.66", "84.233.167.68", "84.233.167.71", "84.233.167.130", "84.233.167.135", "93.152.212.39", "93.152.212.41", "93.152.212.44", "93.152.212.49" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Barcelona", "hostname": "es-bcn.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Spain Barcelona", "ips": [ "82.26.159.21", "82.26.159.26", "185.188.61.38", "185.188.61.40", "185.188.61.42", "185.188.61.44", "185.188.61.46", "185.188.61.50", "185.188.61.52", "185.188.61.60" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Barcelona", "hostname": "es-bcn.prod.surfshark.com", "retroloc": "Spain Barcelona", "wgpubkey": "3EC6079YDlzJKcNLdrm/t+JLG8hV3wPpoWE4MypjYnw=", "ips": [ "82.26.159.21", "82.26.159.26", "185.188.61.38", "185.188.61.40", "185.188.61.42", "185.188.61.44", "185.188.61.46", "185.188.61.50", "185.188.61.52", "185.188.61.60" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Madrid", "hostname": "es-mad.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Spain Madrid", "ips": [ "84.17.62.165", "89.37.95.53", "89.37.95.56", "89.37.95.200", "89.37.95.204", "89.37.95.206", "89.37.95.220", "212.102.48.18" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Madrid", "hostname": "es-mad.prod.surfshark.com", "retroloc": "Spain Madrid", "wgpubkey": "a30vOQfjwPzjRxGNi2dvSAMdaPHEYatR84cUjXKOwls=", "ips": [ "84.17.62.165", "89.37.95.53", "89.37.95.56", "89.37.95.200", "89.37.95.204", "89.37.95.206", "89.37.95.220", "212.102.48.18" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Europe", "city": "Valencia", "hostname": "es-vlc.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Spain Valencia", "ips": [ "193.19.207.84", "193.19.207.88", "193.19.207.90", "193.19.207.98", "193.19.207.102" ] }, { "vpn": "wireguard", "country": "Spain", "region": "Europe", "city": "Valencia", "hostname": "es-vlc.prod.surfshark.com", "retroloc": "Spain Valencia", "wgpubkey": "TlYKGW07dqFfedNfAnVIPv2WPfC54h96se+dcIDuNhU=", "ips": [ "193.19.207.84", "193.19.207.88", "193.19.207.90", "193.19.207.98", "193.19.207.102" ] }, { "vpn": "openvpn", "country": "Sri Lanka", "region": "Asia Pacific", "city": "Colombo", "hostname": "lk-cmb.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Hong Kong", "ips": [ "62.197.156.20", "62.197.156.36" ] }, { "vpn": "wireguard", "country": "Sri Lanka", "region": "Asia Pacific", "city": "Colombo", "hostname": "lk-cmb.prod.surfshark.com", "retroloc": "Hong Kong", "wgpubkey": "+8TxSpyyEGiZK6d/5V+94Zc7nxOV3F1ag7sM6AN86GY=", "ips": [ "62.197.156.20", "62.197.156.36" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Europe", "city": "Stockholm", "hostname": "se-sto.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Sweden", "ips": [ "185.76.9.55" ] }, { "vpn": "wireguard", "country": "Sweden", "region": "Europe", "city": "Stockholm", "hostname": "se-sto.prod.surfshark.com", "retroloc": "Sweden", "wgpubkey": "oUFRc+2emXgogDVWnJF4RAzr72PyafCzMVeQOgG92lY=", "ips": [ "185.76.9.55" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Europe", "city": "Zurich", "hostname": "ch-zur.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Switzerland", "ips": [ "84.17.53.208", "138.199.6.50", "138.199.6.55", "152.89.162.235", "152.89.162.237", "156.146.62.49", "188.241.120.118", "195.206.105.165" ] }, { "vpn": "wireguard", "country": "Switzerland", "region": "Europe", "city": "Zurich", "hostname": "ch-zur.prod.surfshark.com", "retroloc": "Switzerland", "wgpubkey": "qFuwaE8IyDbNBTNar3xAXRGaBdkTtmLh1uIGMJxTxUs=", "ips": [ "84.17.53.208", "138.199.6.50", "138.199.6.55", "152.89.162.235", "152.89.162.237", "156.146.62.49", "188.241.120.118", "195.206.105.165" ] }, { "vpn": "openvpn", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "hostname": "tw-tai.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Taiwan", "ips": [ "45.144.227.13", "45.144.227.37", "45.144.227.41", "45.144.227.63", "82.140.187.5", "82.140.187.12", "82.140.187.20", "82.140.187.25", "89.117.42.19", "89.117.42.29", "89.117.42.43", "89.117.42.109" ] }, { "vpn": "wireguard", "country": "Taiwan", "region": "Asia Pacific", "city": "Taipei", "hostname": "tw-tai.prod.surfshark.com", "retroloc": "Taiwan", "wgpubkey": "P0vaGUOUE7V5bbGOYY2WgQeZnTZEHvIr+dfebU7W4Ao=", "ips": [ "45.144.227.13", "45.144.227.37", "45.144.227.41", "45.144.227.63", "82.140.187.5", "82.140.187.12", "82.140.187.20", "82.140.187.25", "89.117.42.19", "89.117.42.29", "89.117.42.43", "89.117.42.109" ] }, { "vpn": "openvpn", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "hostname": "th-bkk.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Thailand", "ips": [ "103.176.152.4", "103.176.152.14", "103.176.152.24", "103.176.152.27", "103.176.152.29", "103.176.152.32", "103.176.152.37", "103.176.152.44" ] }, { "vpn": "wireguard", "country": "Thailand", "region": "Asia Pacific", "city": "Bangkok", "hostname": "th-bkk.prod.surfshark.com", "retroloc": "Thailand", "wgpubkey": "OoFY46j/w4uQFyFu/OQ/h3x+ymJ1DJ4UR1fwGNxOxk0=", "ips": [ "103.176.152.4", "103.176.152.14", "103.176.152.24", "103.176.152.27", "103.176.152.29", "103.176.152.32", "103.176.152.37", "103.176.152.44" ] }, { "vpn": "openvpn", "country": "Turkey", "region": "Europe", "city": "Istanbul", "hostname": "tr-ist.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Turkey Istanbul", "ips": [ "45.136.155.51", "45.136.155.53", "45.136.155.58", "45.136.155.193", "87.249.139.183", "87.249.139.185" ] }, { "vpn": "wireguard", "country": "Turkey", "region": "Europe", "city": "Istanbul", "hostname": "tr-ist.prod.surfshark.com", "retroloc": "Turkey Istanbul", "wgpubkey": "sF/TlxU9XaDN3QQBT/lu2Pw9qpD3XpDqLBfInBtff2A=", "ips": [ "45.136.155.51", "45.136.155.53", "45.136.155.58", "45.136.155.193", "87.249.139.183", "87.249.139.185" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "hostname": "ua-iev.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "Ukraine", "ips": [ "143.244.46.100", "143.244.46.103", "143.244.46.113", "143.244.46.118", "143.244.46.120", "143.244.46.233" ] }, { "vpn": "wireguard", "country": "Ukraine", "region": "Europe", "city": "Kyiv", "hostname": "ua-iev.prod.surfshark.com", "retroloc": "Ukraine", "wgpubkey": "wy+PhWBP715KfBrsQR4P3JUalYc9a77FmZWQinwYLmo=", "ips": [ "143.244.46.100", "143.244.46.103", "143.244.46.113", "143.244.46.118", "143.244.46.120", "143.244.46.233" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "region": "Middle East and Africa", "city": "Dubai", "hostname": "ae-dub.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "United Arab Emirates", "ips": [ "146.70.102.51", "146.70.102.179", "146.70.102.205", "217.138.193.251" ] }, { "vpn": "wireguard", "country": "United Arab Emirates", "region": "Middle East and Africa", "city": "Dubai", "hostname": "ae-dub.prod.surfshark.com", "retroloc": "United Arab Emirates", "wgpubkey": "6dZGkg0iAMgQuOCGknAgBAqDEeJeBQ4Of5eblO4aNC8=", "ips": [ "146.70.102.51", "146.70.102.179", "146.70.102.205", "217.138.193.251" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "hostname": "uk-edi.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "188.240.57.71", "188.240.57.85", "188.240.57.91", "188.240.57.95", "188.240.57.97", "188.240.57.99", "188.240.57.103", "188.240.57.105", "188.240.57.107", "188.240.57.111", "188.240.57.115", "188.240.57.117", "188.240.57.119", "188.240.57.121" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Edinburgh", "hostname": "uk-edi.prod.surfshark.com", "wgpubkey": "f0fMBZNOzoTDfU28EKhtvYy3keiG5Jkh4fLBov1DI0U=", "ips": [ "188.240.57.71", "188.240.57.85", "188.240.57.91", "188.240.57.95", "188.240.57.97", "188.240.57.99", "188.240.57.103", "188.240.57.105", "188.240.57.107", "188.240.57.111", "188.240.57.115", "188.240.57.117", "188.240.57.119", "188.240.57.121" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "hostname": "uk-gla.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK Glasgow", "ips": [ "185.108.105.35", "185.108.105.73", "185.108.105.99", "185.108.105.103", "185.108.105.105", "185.108.105.131", "185.108.105.240", "188.240.58.55", "188.240.58.57", "188.240.58.61", "188.240.58.69", "188.240.58.121" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Glasgow", "hostname": "uk-gla.prod.surfshark.com", "retroloc": "UK Glasgow", "wgpubkey": "QiFHJ7wtwhXEztRqBjGrFphsFXtlAFWwMDgruFKq0XE=", "ips": [ "185.108.105.35", "185.108.105.73", "185.108.105.99", "185.108.105.103", "185.108.105.105", "185.108.105.131", "185.108.105.240", "188.240.58.55", "188.240.58.57", "188.240.58.61", "188.240.58.69", "188.240.58.121" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-mp001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK London mp001", "ips": [ "206.189.119.92" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK London st001", "ips": [ "217.146.82.83" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st001.prod.surfshark.com", "retroloc": "UK London st001", "wgpubkey": "G+Jv9y9nMXdTIe92fXG4cYAKpsyIHmMwYSujCL+1uCo=", "ips": [ "217.146.82.83" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st002.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK London st002", "ips": [ "185.134.22.80" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st002.prod.surfshark.com", "retroloc": "UK London st002", "wgpubkey": "+zZlWRDv4SAZ1j1DpyZKBzFVM7yV0hgBNKf8/nG2hWo=", "ips": [ "185.134.22.80" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st003.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK London st003", "ips": [ "185.134.22.92" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st003.prod.surfshark.com", "retroloc": "UK London st003", "wgpubkey": "/Ae1VALCWv/m+TU80A+1NB7NLffdSGKyCgpgW9NRNEI=", "ips": [ "185.134.22.92" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st004.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK London st004", "ips": [ "185.44.76.186" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st004.prod.surfshark.com", "retroloc": "UK London st004", "wgpubkey": "G+gdwCKtJUgSce/FwjMSh0xeEhvk55jjbqhBnTYgg3o=", "ips": [ "185.44.76.186" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st005.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK London st005", "ips": [ "185.44.76.188" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon-st005.prod.surfshark.com", "retroloc": "UK London st005", "wgpubkey": "QWhiKTxKWp9wo3blPDcMdA1Y/Vn69u2d8WQKQMTuoWw=", "ips": [ "185.44.76.188" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK London", "ips": [ "103.138.124.10", "103.138.124.48", "138.199.29.182", "138.199.29.217", "138.199.29.222", "138.199.29.245", "138.199.31.232", "149.50.209.213", "149.50.209.216", "154.47.24.87", "178.238.10.194", "185.198.191.178", "195.140.213.239", "212.116.231.7", "217.146.82.195", "217.146.83.80" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "London", "hostname": "uk-lon.prod.surfshark.com", "retroloc": "UK London", "wgpubkey": "iBJRXLZwXuWWrOZE1ZrAXEKMgV/z0WjG0Tks5rnWLBI=", "ips": [ "103.138.124.10", "103.138.124.48", "138.199.29.182", "138.199.29.217", "138.199.29.222", "138.199.29.245", "138.199.31.232", "149.50.209.213", "149.50.209.216", "154.47.24.87", "178.238.10.194", "185.198.191.178", "195.140.213.239", "212.116.231.7", "217.146.82.195", "217.146.83.80" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "hostname": "uk-man.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "UK Manchester", "ips": [ "37.120.159.139", "84.39.114.157", "86.106.136.123", "89.238.133.117", "103.214.44.51", "103.219.21.18", "103.219.21.104", "139.28.176.19", "139.28.176.43", "217.138.196.203" ] }, { "vpn": "wireguard", "country": "United Kingdom", "region": "Europe", "city": "Manchester", "hostname": "uk-man.prod.surfshark.com", "retroloc": "UK Manchester", "wgpubkey": "9R8He1cP8Laf5MT58FcaEYtPW/qnN3M9MQThIXOIvHs=", "ips": [ "37.120.159.139", "84.39.114.157", "86.106.136.123", "89.238.133.117", "103.214.44.51", "103.219.21.18", "103.219.21.104", "139.28.176.19", "139.28.176.43", "217.138.196.203" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Ashburn", "hostname": "us-ash.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "37.19.206.41", "37.19.206.51", "37.19.220.196", "45.144.115.132", "45.144.115.193", "45.144.115.217", "149.102.227.98", "185.156.46.110" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Ashburn", "hostname": "us-ash.prod.surfshark.com", "wgpubkey": "9ef2f8mXHnAxx06lx4OxhtzASfJgv6YfEimuVyef6QE=", "ips": [ "37.19.206.41", "37.19.206.51", "37.19.220.196", "45.144.115.132", "45.144.115.193", "45.144.115.217", "149.102.227.98", "185.156.46.110" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Atlanta", "hostname": "us-atl.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Atlanta", "ips": [ "45.134.140.4", "45.134.140.19", "89.222.103.41", "89.222.103.98", "89.222.103.100", "89.222.103.105", "89.222.103.172", "89.222.103.174", "92.119.16.34", "92.119.16.72", "92.119.16.107", "92.119.16.113", "138.199.2.132", "138.199.2.137", "195.181.171.236", "195.181.171.241" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Atlanta", "hostname": "us-atl.prod.surfshark.com", "retroloc": "US Atlanta", "wgpubkey": "SgciXll6wGQhcyxPUdp0V0z6WwN9P3fqDoeh3N3xNjc=", "ips": [ "45.134.140.4", "45.134.140.19", "89.222.103.41", "89.222.103.98", "89.222.103.100", "89.222.103.105", "89.222.103.172", "89.222.103.174", "92.119.16.34", "92.119.16.72", "92.119.16.107", "92.119.16.113", "138.199.2.132", "138.199.2.137", "195.181.171.236", "195.181.171.241" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Bend", "hostname": "us-bdn.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Bend", "ips": [ "45.43.14.123", "66.235.168.189", "66.235.168.191", "66.235.168.197", "66.235.168.199", "66.235.168.212", "66.235.168.215", "104.255.173.141" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Bend", "hostname": "us-bdn.prod.surfshark.com", "retroloc": "US Bend", "wgpubkey": "YaxEFQHtwF/EGvf5s/aLlX5Jr0djKTV5oNcAcIwAz0E=", "ips": [ "45.43.14.123", "66.235.168.189", "66.235.168.191", "66.235.168.197", "66.235.168.199", "66.235.168.212", "66.235.168.215", "104.255.173.141" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Boston", "hostname": "us-bos.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Boston", "ips": [ "43.225.189.57", "43.225.189.59", "43.225.189.61", "43.225.189.74", "43.225.189.100", "43.225.189.106", "43.225.189.108", "43.225.189.116", "43.225.189.120", "149.40.50.196", "149.40.50.204", "149.40.50.211", "149.40.50.214", "149.40.50.219" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Boston", "hostname": "us-bos.prod.surfshark.com", "retroloc": "US Boston", "wgpubkey": "V0vpMcp0/586Y/q1EzW9PhM45JhypnCYgmrP0rzDEVw=", "ips": [ "43.225.189.57", "43.225.189.59", "43.225.189.61", "43.225.189.74", "43.225.189.100", "43.225.189.106", "43.225.189.108", "43.225.189.116", "43.225.189.120", "149.40.50.196", "149.40.50.204", "149.40.50.211", "149.40.50.214", "149.40.50.219" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Buffalo", "hostname": "us-buf.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Buffalo", "ips": [ "64.44.38.253", "172.93.148.163", "172.93.148.171", "172.93.153.67", "172.245.193.186", "192.227.215.36" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Buffalo", "hostname": "us-buf.prod.surfshark.com", "retroloc": "US Buffalo", "wgpubkey": "156ry2sOmv+I9KYTy2jR4/BLTnPT+Qn+DoCNqOon1ys=", "ips": [ "64.44.38.253", "172.93.148.163", "172.93.148.171", "172.93.153.67", "172.245.193.186", "192.227.215.36" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Charlotte", "hostname": "us-clt.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Charlotte", "ips": [ "66.11.124.148", "165.140.84.37", "192.158.224.186", "192.158.238.14" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Charlotte", "hostname": "us-clt.prod.surfshark.com", "retroloc": "US Charlotte", "wgpubkey": "tLnNDtNUOScxIU6t70ujsx1erSWOj9hWkWJD5iJwPwc=", "ips": [ "66.11.124.148", "165.140.84.37", "192.158.224.186", "192.158.238.14" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Chicago", "hostname": "us-chi.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Chicago", "ips": [ "103.103.98.3", "103.103.98.27", "138.199.42.129", "138.199.42.139", "138.199.42.143", "138.199.42.145", "138.199.42.155", "138.199.42.168", "149.34.240.105", "149.34.240.107", "154.47.25.1", "154.47.25.98", "154.47.25.110", "195.242.212.141", "195.242.212.147", "195.242.212.189" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Chicago", "hostname": "us-chi.prod.surfshark.com", "retroloc": "US Chicago", "wgpubkey": "DpMfulanF/MVHmt3AX4dqLqcyE0dpPqYBjDlWMaUI00=", "ips": [ "103.103.98.3", "103.103.98.27", "138.199.42.129", "138.199.42.139", "138.199.42.143", "138.199.42.145", "138.199.42.155", "138.199.42.168", "149.34.240.105", "149.34.240.107", "154.47.25.1", "154.47.25.98", "154.47.25.110", "195.242.212.141", "195.242.212.147", "195.242.212.189" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Dallas", "hostname": "us-dal.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Dallas", "ips": [ "2.56.189.72", "2.56.189.88", "2.56.189.96", "2.56.189.178", "169.150.254.78", "169.150.254.92", "169.150.254.94", "212.102.40.81" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Dallas", "hostname": "us-dal.prod.surfshark.com", "retroloc": "US Dallas", "wgpubkey": "0iwHQpV+rsOg38ogv4g4XMLJa51YqWY/yKWR9UEUMDk=", "ips": [ "2.56.189.72", "2.56.189.88", "2.56.189.96", "2.56.189.178", "169.150.254.78", "169.150.254.92", "169.150.254.94", "212.102.40.81" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Denver", "hostname": "us-den.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Denver", "ips": [ "64.44.86.141", "64.44.86.149", "64.44.86.155", "64.44.86.157", "64.44.86.173", "212.102.44.66", "212.102.44.91", "212.102.44.93", "212.102.44.98", "212.102.44.113", "212.102.44.115", "212.102.44.118" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Denver", "hostname": "us-den.prod.surfshark.com", "retroloc": "US Denver", "wgpubkey": "AnRLZKBwCfuGFZfoa3dsdjpcpvgFsQhASmjHXhIJLgM=", "ips": [ "64.44.86.141", "64.44.86.149", "64.44.86.155", "64.44.86.157", "64.44.86.173", "212.102.44.66", "212.102.44.91", "212.102.44.93", "212.102.44.98", "212.102.44.113", "212.102.44.115", "212.102.44.118" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Detroit", "hostname": "us-dtw.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Gahanna", "ips": [ "185.141.119.46", "185.141.119.48", "185.141.119.50", "185.141.119.62", "185.141.119.82", "185.141.119.106", "206.212.255.69", "206.212.255.75", "206.212.255.93", "206.212.255.117" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Detroit", "hostname": "us-dtw.prod.surfshark.com", "retroloc": "US Gahanna", "wgpubkey": "WFhlLK8H1pRzgMggza5NhBMjIcGhmsCqjR8+yFRfXhg=", "ips": [ "185.141.119.46", "185.141.119.48", "185.141.119.50", "185.141.119.62", "185.141.119.82", "185.141.119.106", "206.212.255.69", "206.212.255.75", "206.212.255.93", "206.212.255.117" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Houston", "hostname": "us-hou.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Houston", "ips": [ "37.19.221.86", "37.19.221.93" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Houston", "hostname": "us-hou.prod.surfshark.com", "retroloc": "US Houston", "wgpubkey": "1g84fGxVJokKXdMYEJKjN6/opyYN/YSHmrMyw0v6VnM=", "ips": [ "37.19.221.86", "37.19.221.93" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Kansas City", "hostname": "us-kan.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Kansas City", "ips": [ "74.80.182.72", "74.80.182.77", "74.80.182.79", "74.80.182.89", "74.80.182.92", "74.80.182.94", "74.80.182.97", "74.80.182.99" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Kansas City", "hostname": "us-kan.prod.surfshark.com", "retroloc": "US Kansas City", "wgpubkey": "SWN/jzfK69ucEUqQyPejKb9wWxwUoOgG37YlgeCmvjg=", "ips": [ "74.80.182.72", "74.80.182.77", "74.80.182.79", "74.80.182.89", "74.80.182.92", "74.80.182.94", "74.80.182.97", "74.80.182.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Las Vegas", "hostname": "us-las.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Las Vegas", "ips": [ "79.110.54.11", "79.110.54.13", "79.110.54.61", "79.110.54.75", "79.110.54.91", "79.110.54.99", "79.110.54.101", "82.102.31.3", "82.102.31.5", "82.102.31.59" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Las Vegas", "hostname": "us-las.prod.surfshark.com", "retroloc": "US Las Vegas", "wgpubkey": "Nw5CG5BOvqb8GXVEKLOo7v3gGvP7WaUYlJT++c3c31g=", "ips": [ "79.110.54.11", "79.110.54.13", "79.110.54.61", "79.110.54.75", "79.110.54.91", "79.110.54.99", "79.110.54.101", "82.102.31.3", "82.102.31.5", "82.102.31.59" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Latham", "hostname": "us-ltm.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Latham", "ips": [ "45.43.19.30", "45.43.19.209", "147.124.195.70", "147.124.195.72", "154.16.169.86", "154.16.169.88", "154.16.169.93", "170.39.214.229" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Latham", "hostname": "us-ltm.prod.surfshark.com", "retroloc": "US Latham", "wgpubkey": "Smruh1SmMqi7CecjV/+yI4Sy62gpAr+Uddq+9K6iLB0=", "ips": [ "45.43.19.30", "45.43.19.209", "147.124.195.70", "147.124.195.72", "154.16.169.86", "154.16.169.88", "154.16.169.93", "170.39.214.229" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Los Angeles", "hostname": "us-lax.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Los Angeles", "ips": [ "89.187.187.68", "89.187.187.73", "89.187.187.78", "154.47.31.2", "154.47.31.4", "169.150.203.194", "169.150.203.248", "185.193.157.208" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Los Angeles", "hostname": "us-lax.prod.surfshark.com", "retroloc": "US Los Angeles", "wgpubkey": "m+L7BVQWDwU2TxjfspMRLkRctvmo7fOkd+eVk6KC5lM=", "ips": [ "89.187.187.68", "89.187.187.73", "89.187.187.78", "154.47.31.2", "154.47.31.4", "169.150.203.194", "169.150.203.248", "185.193.157.208" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Miami", "hostname": "us-mia.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Miami", "ips": [ "89.38.227.187", "89.38.227.189", "146.70.183.187", "146.70.183.189", "146.70.240.211", "149.34.250.41", "149.34.250.54", "149.34.250.56", "149.102.224.199", "212.102.61.130", "212.102.61.146", "212.102.61.152" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Miami", "hostname": "us-mia.prod.surfshark.com", "retroloc": "US Miami", "wgpubkey": "KvJ/jtWb8BsBI85OcZnOIJu9kfh12mCMR4cejWFpDCc=", "ips": [ "89.38.227.187", "89.38.227.189", "146.70.183.187", "146.70.183.189", "146.70.240.211", "149.34.250.41", "149.34.250.54", "149.34.250.56", "149.102.224.199", "212.102.61.130", "212.102.61.146", "212.102.61.152" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Nashville", "hostname": "us-bna.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "82.26.162.13", "82.26.162.16", "82.26.162.26", "82.26.162.28", "82.26.162.33", "82.26.162.53" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Nashville", "hostname": "us-bna.prod.surfshark.com", "wgpubkey": "BNaDm2NLUySO0sNiCxaYkE5KS1i6KgshxVZudNli4jI=", "ips": [ "82.26.162.13", "82.26.162.16", "82.26.162.26", "82.26.162.28", "82.26.162.33", "82.26.162.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-mp001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US New York City mp001", "ips": [ "45.55.60.159" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US New York City st001", "ips": [ "92.119.177.19" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st001.prod.surfshark.com", "retroloc": "US New York City st001", "wgpubkey": "7UmSjyjD6Sf4AnjYpBQGQYx9IGYa/sM8mZOQ+yJ5REo=", "ips": [ "92.119.177.19" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st002.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US New York City st002", "ips": [ "92.119.177.21" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st002.prod.surfshark.com", "retroloc": "US New York City st002", "wgpubkey": "PWjVpuAt3zKbKrxc30uiq2jOzKAVEZU402isK6Bunwc=", "ips": [ "92.119.177.21" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st003.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US New York City st003", "ips": [ "92.119.177.23" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st003.prod.surfshark.com", "retroloc": "US New York City st003", "wgpubkey": "nuqSzswFHh7PK/NdEmfXIe/UYgZlc+L7shI5e6OMUH4=", "ips": [ "92.119.177.23" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st004.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US New York City st004", "ips": [ "193.148.18.51" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st004.prod.surfshark.com", "retroloc": "US New York City st004", "wgpubkey": "RQ3ZRcXYnTl5lRjTuEolYsTfBRFtIeiZirFkBdcKw14=", "ips": [ "193.148.18.51" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st005.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US New York City st005", "ips": [ "193.148.18.53" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc-st005.prod.surfshark.com", "retroloc": "US New York City st005", "wgpubkey": "5/AGlscGX/hFpNuAq06M+gIP1HUxfbox+0Pi4M9ybjE=", "ips": [ "193.148.18.53" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US New York City", "ips": [ "84.17.35.113", "84.17.35.116", "146.70.186.123", "146.70.186.147", "146.70.186.203", "149.102.252.47" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "New York", "hostname": "us-nyc.prod.surfshark.com", "retroloc": "US New York City", "wgpubkey": "rhuoCmHdyYrh0zW3J0YXZK4aN3It7DD26TXlACuWnwU=", "ips": [ "84.17.35.113", "84.17.35.116", "146.70.186.123", "146.70.186.147", "146.70.186.203", "149.102.252.47" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Omaha", "hostname": "us-oma.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "145.223.7.6", "145.223.7.13", "145.223.7.18", "145.223.7.23", "145.223.7.28", "145.223.7.33", "145.223.7.41", "145.223.7.46" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Omaha", "hostname": "us-oma.prod.surfshark.com", "wgpubkey": "7Z8FJEl+BtQuAyNuUWIZxHGrQP7rumhFlIq4azHvCgs=", "ips": [ "145.223.7.6", "145.223.7.13", "145.223.7.18", "145.223.7.23", "145.223.7.28", "145.223.7.33", "145.223.7.41", "145.223.7.46" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Phoenix", "hostname": "us-phx.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Phoenix", "ips": [ "45.86.208.10", "45.86.208.112", "45.86.208.114", "45.86.211.1", "45.86.211.3", "45.86.211.11", "45.86.211.18", "45.86.211.25", "45.86.211.64", "45.86.211.66" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Phoenix", "hostname": "us-phx.prod.surfshark.com", "retroloc": "US Phoenix", "wgpubkey": "HDCyeD2+lw6KHVMu7Opkt4V4ikYZHzQNWmwklBMb4Ac=", "ips": [ "45.86.208.10", "45.86.208.112", "45.86.208.114", "45.86.211.1", "45.86.211.3", "45.86.211.11", "45.86.211.18", "45.86.211.25", "45.86.211.64", "45.86.211.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "hostname": "us-slc.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Salt Lake City", "ips": [ "93.152.220.160", "93.152.220.162", "93.152.220.167", "93.152.220.170", "93.152.220.172", "93.152.220.229" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Salt Lake City", "hostname": "us-slc.prod.surfshark.com", "retroloc": "US Salt Lake City", "wgpubkey": "jxotWPy1jNzKzjqSqg6KkWnoOsp/FbrTK4+j9gluSFA=", "ips": [ "93.152.220.160", "93.152.220.162", "93.152.220.167", "93.152.220.170", "93.152.220.172", "93.152.220.229" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "hostname": "us-sfo-mp001.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US San Francisco mp001", "ips": [ "165.232.53.25" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Francisco", "hostname": "us-sfo.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US San Francisco", "ips": [ "64.79.232.67", "93.152.210.183", "93.152.210.191", "93.152.210.193" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Francisco", "hostname": "us-sfo.prod.surfshark.com", "retroloc": "US San Francisco", "wgpubkey": "7SpGSSI78hf8jy689ec5Ql0/Gsq0LLHDmjEFsGUWl1k=", "ips": [ "64.79.232.67", "93.152.210.183", "93.152.210.191", "93.152.210.193" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "San Jose", "hostname": "us-sjc.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "79.127.185.4", "149.36.48.73", "149.36.48.77", "149.36.48.80", "156.146.54.56", "156.146.54.69", "156.146.54.72", "156.146.54.199" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "San Jose", "hostname": "us-sjc.prod.surfshark.com", "wgpubkey": "sDDS1f/+IqVljMN7GzMFeAbNescQUTLIt0xio0W61Q0=", "ips": [ "79.127.185.4", "149.36.48.73", "149.36.48.77", "149.36.48.80", "156.146.54.56", "156.146.54.69", "156.146.54.72", "156.146.54.199" ] }, { "vpn": "openvpn", "country": "United States", "region": "The Americas", "city": "Seattle", "hostname": "us-sea.prod.surfshark.com", "tcp": true, "udp": true, "retroloc": "US Seatle", "ips": [ "84.17.41.77", "84.17.41.79", "138.199.12.55", "149.102.254.4", "149.102.254.12", "149.102.254.14", "149.102.254.18", "149.102.254.27", "212.102.46.46", "212.102.46.56", "212.102.46.69", "212.102.46.71" ] }, { "vpn": "wireguard", "country": "United States", "region": "The Americas", "city": "Seattle", "hostname": "us-sea.prod.surfshark.com", "retroloc": "US Seatle", "wgpubkey": "SpMH/p90bg9ZAG6V2DWJQ9csWPVnKcDVppIp9Xul5G8=", "ips": [ "84.17.41.77", "84.17.41.79", "138.199.12.55", "149.102.254.4", "149.102.254.12", "149.102.254.14", "149.102.254.18", "149.102.254.27", "212.102.46.46", "212.102.46.56", "212.102.46.69", "212.102.46.71" ] }, { "vpn": "openvpn", "country": "Uruguay", "region": "The Americas", "city": "Montevideo", "hostname": "uy-mvd.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "212.119.32.18", "212.119.32.20", "212.119.32.34", "212.119.32.36" ] }, { "vpn": "wireguard", "country": "Uruguay", "region": "The Americas", "city": "Montevideo", "hostname": "uy-mvd.prod.surfshark.com", "wgpubkey": "N4HQsZ7deamq3itB5Pmj9MhtjjDNYKY4YfiUFkfWlBo=", "ips": [ "212.119.32.18", "212.119.32.20", "212.119.32.34", "212.119.32.36" ] }, { "vpn": "openvpn", "country": "Uzbekistan", "region": "Asia Pacific", "city": "Tashkent", "hostname": "uz-tas.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "94.154.124.83", "94.154.124.85", "94.154.124.99", "94.154.124.101" ] }, { "vpn": "wireguard", "country": "Uzbekistan", "region": "Asia Pacific", "city": "Tashkent", "hostname": "uz-tas.prod.surfshark.com", "wgpubkey": "CX6N+j5AfK2LVl3tfAop6/oXFb15tCnuDbPy7CbrKXw=", "ips": [ "94.154.124.83", "94.154.124.85", "94.154.124.99", "94.154.124.101" ] }, { "vpn": "openvpn", "country": "Venezuela", "region": "The Americas", "city": "Caracas", "hostname": "ve-car.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "45.149.3.18", "45.149.3.20", "45.149.3.34", "45.149.3.36" ] }, { "vpn": "wireguard", "country": "Venezuela", "region": "The Americas", "city": "Caracas", "hostname": "ve-car.prod.surfshark.com", "wgpubkey": "fK7yvbWdPrpginzYzhQu7IT6J+Mf18/K+VNrwyXqriU=", "ips": [ "45.149.3.18", "45.149.3.20", "45.149.3.34", "45.149.3.36" ] }, { "vpn": "openvpn", "country": "Vietnam", "region": "Asia Pacific", "city": "Ho Chi Minh City", "hostname": "vn-hcm.prod.surfshark.com", "tcp": true, "udp": true, "ips": [ "83.97.112.17", "83.97.112.24" ] }, { "vpn": "wireguard", "country": "Vietnam", "region": "Asia Pacific", "city": "Ho Chi Minh City", "hostname": "vn-hcm.prod.surfshark.com", "wgpubkey": "Mioou38fh5H+3LWMpitLOWT3JaDGg2gXxqjl2eXkPFU=", "ips": [ "83.97.112.17", "83.97.112.24" ] } ] }, "torguard": { "version": 3, "timestamp": 1766454878, "servers": [ { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "au.torguard.com", "tcp": true, "udp": true, "ips": [ "93.115.35.106", "93.115.35.146", "93.115.35.154", "193.56.253.18", "193.56.253.34", "193.56.253.50", "193.56.253.66", "193.56.253.82", "193.56.253.98", "193.56.253.130", "217.138.205.98", "217.138.205.114", "217.138.205.202", "217.138.205.210", "217.138.205.218" ] }, { "vpn": "openvpn", "country": "Austria", "hostname": "aus.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.155.2", "37.120.155.10", "37.120.155.18", "37.120.155.26", "37.120.155.34" ] }, { "vpn": "openvpn", "country": "Belgium", "hostname": "bg.torguard.com", "tcp": true, "udp": true, "ips": [ "89.249.73.130", "89.249.73.250", "185.232.21.34", "185.232.21.42", "185.232.21.210", "185.232.21.242", "185.232.21.250" ] }, { "vpn": "openvpn", "country": "Brazil", "hostname": "br.torguard.com", "tcp": true, "udp": true, "ips": [ "45.133.180.130", "45.133.180.138", "45.133.180.146", "45.133.180.154", "45.133.180.162" ] }, { "vpn": "openvpn", "country": "Bulgaria", "hostname": "bul.torguard.com", "tcp": true, "udp": true, "ips": [ "82.102.23.178", "82.102.23.186", "82.102.23.202" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "ca.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.137.2", "146.70.137.18", "146.70.137.34", "146.70.137.42", "146.70.137.50", "146.70.137.58", "146.70.137.66", "146.70.137.74", "146.70.137.82", "146.70.137.90", "146.70.137.98", "146.70.137.106", "146.70.137.114", "146.70.137.122", "146.70.137.130", "146.70.137.138", "146.70.137.146", "146.70.137.154", "146.70.137.194", "146.70.137.210", "146.70.137.218", "146.70.137.226" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "cavan.torguard.com", "tcp": true, "udp": true, "ips": [ "38.96.254.73", "38.96.254.100", "134.195.197.77", "209.127.34.202" ] }, { "vpn": "openvpn", "country": "Chile", "hostname": "ch.torguard.com", "tcp": true, "udp": true, "ips": [ "37.235.52.19", "37.235.52.64", "193.235.146.104" ] }, { "vpn": "openvpn", "country": "Czech", "hostname": "cz.torguard.com", "tcp": true, "udp": true, "ips": [ "185.189.115.98", "185.189.115.103", "185.189.115.108", "185.189.115.118" ] }, { "vpn": "openvpn", "country": "Denmark", "hostname": "dn.torguard.com", "tcp": true, "udp": true, "ips": [ "2.58.46.138", "2.58.46.146", "2.58.46.154", "2.58.46.178", "45.12.221.2", "45.12.221.18", "45.12.221.26", "45.12.221.34", "45.12.221.42", "185.245.84.74" ] }, { "vpn": "openvpn", "country": "Finland", "hostname": "fn.torguard.com", "tcp": true, "udp": true, "ips": [ "91.132.197.186", "91.132.197.188", "91.132.197.192" ] }, { "vpn": "openvpn", "country": "France", "hostname": "fr.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.158.138", "93.177.75.2", "93.177.75.10", "93.177.75.34", "93.177.75.50", "93.177.75.58", "93.177.75.66", "93.177.75.74", "93.177.75.90", "93.177.75.106", "93.177.75.130", "93.177.75.138", "93.177.75.146", "93.177.75.154", "93.177.75.162", "93.177.75.202" ] }, { "vpn": "openvpn", "country": "Germany", "hostname": "ger.torguard.com", "tcp": true, "udp": true, "ips": [ "93.177.73.66", "93.177.73.74", "93.177.73.82", "93.177.73.90", "93.177.73.98", "93.177.73.106", "93.177.73.114", "93.177.73.122", "93.177.73.130", "93.177.73.138", "93.177.73.146", "93.177.73.154", "93.177.73.194", "93.177.73.202", "93.177.73.210", "93.177.73.218", "93.177.73.226", "93.177.73.234" ] }, { "vpn": "openvpn", "country": "Greece", "hostname": "gre.torguard.com", "tcp": true, "udp": true, "ips": [ "45.92.33.2", "45.92.33.10" ] }, { "vpn": "openvpn", "country": "Hong", "city": "Kong", "hostname": "hk.torguard.com", "tcp": true, "udp": true, "ips": [ "89.45.6.218", "89.45.6.226", "89.45.6.234" ] }, { "vpn": "openvpn", "country": "Hungary", "hostname": "hg.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.144.98", "37.120.144.106" ] }, { "vpn": "openvpn", "country": "Iceland", "hostname": "ice.torguard.com", "tcp": true, "udp": true, "ips": [ "45.133.192.226", "45.133.192.230", "45.133.192.234" ] }, { "vpn": "openvpn", "country": "India", "city": "Bangalore", "hostname": "in.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.142.10", "146.70.142.34", "146.70.142.42" ] }, { "vpn": "openvpn", "country": "Ireland", "hostname": "ire.torguard.com", "tcp": true, "udp": true, "ips": [ "77.81.139.66", "77.81.139.74", "77.81.139.82" ] }, { "vpn": "openvpn", "country": "Israel", "hostname": "isr-loc1.torguard.com", "tcp": true, "udp": true, "ips": [ "185.191.204.154", "185.191.204.155" ] }, { "vpn": "openvpn", "country": "Italy", "hostname": "it.torguard.com", "tcp": true, "udp": true, "ips": [ "45.9.251.14", "45.9.251.178", "45.9.251.182", "185.128.27.106", "192.145.127.190" ] }, { "vpn": "openvpn", "country": "Japan", "hostname": "jp.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.76.58", "146.70.76.66", "146.70.76.74", "146.70.76.90", "146.70.76.98", "146.70.76.106", "146.70.76.114" ] }, { "vpn": "openvpn", "country": "Luxembourg", "hostname": "lux.torguard.com", "tcp": true, "udp": true, "ips": [ "5.253.204.58", "5.253.204.66", "5.253.204.74", "5.253.204.82" ] }, { "vpn": "openvpn", "country": "Mexico", "hostname": "mx.torguard.com", "tcp": true, "udp": true, "ips": [ "45.133.180.2", "45.133.180.10", "45.133.180.18", "45.133.180.26", "45.133.180.34" ] }, { "vpn": "openvpn", "country": "Moldova", "hostname": "md.torguard.com", "tcp": true, "udp": true, "ips": [ "178.175.131.106", "178.175.131.114", "178.175.138.18" ] }, { "vpn": "openvpn", "country": "Netherlands", "hostname": "nl.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.238.130", "77.243.189.194", "77.243.189.234", "86.106.20.98", "89.238.177.26", "95.174.67.90", "95.174.67.130", "95.174.67.138", "95.174.67.234", "95.174.67.242", "139.28.217.82", "139.28.217.178", "139.28.217.186", "139.28.217.210", "139.28.217.218", "139.28.217.242", "185.156.172.146" ] }, { "vpn": "openvpn", "country": "New", "city": "Zealand", "hostname": "nz.torguard.com", "tcp": true, "udp": true, "ips": [ "103.108.94.58", "103.231.90.2", "103.231.90.18", "103.231.90.26", "103.231.90.42", "103.231.90.202" ] }, { "vpn": "openvpn", "country": "Norway", "hostname": "no.torguard.com", "tcp": true, "udp": true, "ips": [ "185.125.168.247", "185.125.168.248", "185.125.169.25", "185.125.169.26", "185.125.169.29", "185.125.169.30", "185.125.169.31", "185.125.169.32", "185.181.61.37", "185.181.61.39" ] }, { "vpn": "openvpn", "country": "Poland", "hostname": "pl.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.156.170", "37.120.156.178", "37.120.156.186", "37.120.156.194", "37.120.156.202" ] }, { "vpn": "openvpn", "country": "Portugal", "hostname": "pg.torguard.com", "tcp": true, "udp": true, "ips": [ "94.46.179.70", "94.46.179.80" ] }, { "vpn": "openvpn", "country": "Romania", "hostname": "ro.torguard.com", "tcp": true, "udp": true, "ips": [ "31.14.252.90", "31.14.252.146", "31.14.252.178", "89.40.71.106", "89.46.103.106", "93.120.27.162", "185.45.15.106", "194.59.248.202" ] }, { "vpn": "openvpn", "country": "Singapore", "hostname": "sg.torguard.com", "tcp": true, "udp": true, "ips": [ "82.102.25.2", "91.245.253.134", "91.245.253.138", "92.119.178.22", "92.119.178.26", "185.200.116.250", "185.200.117.142", "185.200.117.186" ] }, { "vpn": "openvpn", "country": "Slovakia", "hostname": "slk.torguard.com", "tcp": true, "udp": true, "ips": [ "193.37.255.122", "193.37.255.130", "193.37.255.146" ] }, { "vpn": "openvpn", "country": "South", "city": "Korea", "hostname": "sk.torguard.com", "tcp": true, "udp": true, "ips": [ "108.181.51.205", "108.181.51.226" ] }, { "vpn": "openvpn", "country": "Spain", "hostname": "sp.torguard.com", "tcp": true, "udp": true, "ips": [ "89.238.178.206", "89.238.178.234", "192.145.124.226", "192.145.124.230", "192.145.124.234", "192.145.124.242" ] }, { "vpn": "openvpn", "country": "Sweden", "hostname": "swe.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.153.2", "37.120.153.7", "37.120.153.12", "37.120.153.22", "37.120.153.27", "37.120.153.32", "37.120.153.37", "37.120.153.42", "37.120.153.47", "37.120.153.57", "37.120.153.67", "37.120.153.72", "37.120.153.77", "37.120.153.82", "37.120.153.92", "37.120.153.97", "37.120.153.102" ] }, { "vpn": "openvpn", "country": "Switzerland", "hostname": "swiss.torguard.com", "tcp": true, "udp": true, "ips": [ "185.236.201.210", "185.236.201.215", "195.206.105.2", "195.206.105.7", "195.206.105.12", "195.206.105.17", "195.206.105.22", "195.206.105.27", "195.206.105.32", "195.206.105.37", "195.206.105.42", "195.206.105.47", "195.206.105.52", "195.206.105.57", "217.138.203.242" ] }, { "vpn": "openvpn", "country": "Taiwan", "hostname": "tw.torguard.com", "tcp": true, "udp": true, "ips": [ "45.133.181.66" ] }, { "vpn": "openvpn", "country": "Thailand", "hostname": "th.torguard.com", "tcp": true, "udp": true, "ips": [ "202.129.16.42", "202.129.16.106", "202.129.16.140" ] }, { "vpn": "openvpn", "country": "UAE", "hostname": "uae.torguard.com", "tcp": true, "udp": true, "ips": [ "45.9.249.158", "45.9.249.238", "45.9.250.10" ] }, { "vpn": "openvpn", "country": "UK", "city": "London", "hostname": "uk.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.198.162", "146.70.83.130", "146.70.83.146", "146.70.83.154", "146.70.83.162", "146.70.83.170", "146.70.83.178", "146.70.83.186", "146.70.83.194", "146.70.83.202", "146.70.83.210", "146.70.83.218", "146.70.83.226", "146.70.83.234", "146.70.83.242", "146.70.83.250", "185.253.98.42" ] }, { "vpn": "openvpn", "country": "USA", "city": "Atlanta", "hostname": "us-atl.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.57.2", "146.70.57.10", "146.70.57.18", "146.70.57.34", "146.70.57.42", "146.70.57.50", "146.70.57.58", "146.70.57.66", "146.70.57.74" ] }, { "vpn": "openvpn", "country": "USA", "city": "Chicago", "hostname": "us-chi-loc2.torguard.com", "tcp": true, "udp": true, "ips": [ "64.44.63.98", "64.44.140.250", "167.88.3.210", "167.88.15.50" ] }, { "vpn": "openvpn", "country": "USA", "city": "Dallas", "hostname": "us-dal.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.50.2", "146.70.50.10", "146.70.50.18", "146.70.50.26", "146.70.50.34", "146.70.50.42", "146.70.50.50", "146.70.50.58", "146.70.50.66", "146.70.50.74", "146.70.50.82", "146.70.50.90", "146.70.50.98", "146.70.50.106", "146.70.50.114", "146.70.50.122", "146.70.50.130", "146.70.50.138", "146.70.50.146", "146.70.50.154", "146.70.50.162", "146.70.50.170", "146.70.50.178", "146.70.50.186", "146.70.50.194" ] }, { "vpn": "openvpn", "country": "USA", "city": "Las Vegas", "hostname": "us-lv.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.147.234", "37.120.147.242", "37.120.147.250", "45.89.173.98", "45.89.173.106", "45.89.173.114", "45.89.173.122", "45.89.173.162", "185.242.5.66", "185.242.5.74", "185.242.5.82", "185.242.5.90", "185.242.5.162", "185.242.5.170", "185.242.5.178", "185.242.5.186" ] }, { "vpn": "openvpn", "country": "USA", "city": "Los Angeles", "hostname": "us-la.torguard.com", "tcp": true, "udp": true, "ips": [ "37.120.147.130", "37.120.214.114", "37.120.214.122", "91.219.212.242", "139.28.216.74", "139.28.216.218", "146.70.49.2", "146.70.49.10", "146.70.49.18", "146.70.49.26", "146.70.49.34", "146.70.49.42", "146.70.49.58", "146.70.49.66", "146.70.49.74", "146.70.49.98", "146.70.49.106", "185.253.161.186", "217.138.217.2" ] }, { "vpn": "openvpn", "country": "USA", "city": "Miami", "hostname": "us-fl.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.51.2", "146.70.51.10", "146.70.51.18", "146.70.51.26", "146.70.51.34", "146.70.51.42", "146.70.51.50", "146.70.51.58", "146.70.51.66", "146.70.51.74", "146.70.51.82", "146.70.51.90", "146.70.51.98", "146.70.51.106", "146.70.51.114", "146.70.51.122", "146.70.51.130", "146.70.51.154", "146.70.51.162", "146.70.51.170", "146.70.51.178" ] }, { "vpn": "openvpn", "country": "USA", "city": "New Jersey", "hostname": "us-nj.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.34.2", "146.70.34.10", "146.70.34.18", "146.70.34.26", "146.70.34.34", "146.70.34.58", "146.70.34.66", "146.70.34.90", "146.70.34.98", "146.70.34.106", "146.70.34.122", "146.70.34.130", "146.70.34.138", "146.70.34.146", "146.70.34.162", "146.70.34.170", "146.70.34.178", "146.70.34.186", "146.70.34.194" ] }, { "vpn": "openvpn", "country": "USA", "city": "New York", "hostname": "us-ny.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.115.218", "146.70.215.18", "146.70.215.26", "146.70.215.34", "146.70.215.42", "146.70.215.50", "146.70.215.58", "193.148.18.242" ] }, { "vpn": "openvpn", "country": "USA", "city": "San Francisco", "hostname": "us-sf.torguard.com", "tcp": true, "udp": true, "ips": [ "143.198.101.109", "167.99.103.222", "167.99.171.156", "206.189.64.126", "206.189.169.41", "206.189.208.52", "206.189.208.113", "206.189.214.46", "206.189.214.52", "206.189.218.112", "206.189.218.114", "206.189.218.238" ] }, { "vpn": "openvpn", "country": "USA", "city": "Seattle", "hostname": "us-sa.torguard.com", "tcp": true, "udp": true, "ips": [ "64.44.90.170", "64.44.90.178", "64.44.90.186", "107.175.82.7", "107.175.82.35", "107.175.82.106" ] }, { "vpn": "openvpn", "country": "serbia", "hostname": "serbia.torguard.com", "tcp": true, "udp": true, "ips": [ "146.70.54.90" ] } ] }, "vpn unlimited": { "version": 1, "timestamp": 1708534611, "servers": [ { "vpn": "openvpn", "country": "Australia", "city": "Sydney", "hostname": "au-syd.vpnunlimitedapp.com", "udp": true, "ips": [ "45.79.239.47", "139.99.130.220", "139.99.131.38", "170.64.132.24", "170.64.132.105", "170.64.132.155", "170.64.132.164", "170.64.132.166", "170.64.132.168" ] }, { "vpn": "openvpn", "country": "Austria", "hostname": "at.vpnunlimitedapp.com", "udp": true, "ips": [ "50.7.115.19", "95.164.36.217", "95.164.36.221", "95.164.36.222", "95.164.36.223", "176.120.65.51", "176.120.65.52" ] }, { "vpn": "openvpn", "country": "Belgium", "hostname": "be.vpnunlimitedapp.com", "udp": true, "ips": [ "37.120.143.178" ] }, { "vpn": "openvpn", "country": "Bosnia and Herzegovina", "hostname": "ba.vpnunlimitedapp.com", "udp": true, "ips": [ "185.164.35.37" ] }, { "vpn": "openvpn", "country": "Brazil", "hostname": "br.vpnunlimitedapp.com", "udp": true, "ips": [ "216.238.105.38", "216.238.111.125", "216.238.116.106", "216.238.117.122", "216.238.117.129" ] }, { "vpn": "openvpn", "country": "Bulgaria", "hostname": "bg.vpnunlimitedapp.com", "udp": true, "ips": [ "77.91.100.3", "77.91.100.61", "77.91.100.173" ] }, { "vpn": "openvpn", "country": "Canada", "hostname": "ca.vpnunlimitedapp.com", "udp": true, "ips": [ "192.99.6.164", "192.99.6.166", "192.99.7.170", "192.99.14.158", "192.99.37.199" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Toronto", "hostname": "ca-tr.vpnunlimitedapp.com", "udp": true, "ips": [ "104.254.90.34", "104.254.90.58", "162.253.131.106", "184.75.213.42", "184.75.213.50", "184.75.213.194", "204.187.100.82" ] }, { "vpn": "openvpn", "country": "Canada", "city": "Vancouver", "hostname": "ca-vn.vpnunlimitedapp.com", "udp": true, "ips": [ "162.221.202.17" ] }, { "vpn": "openvpn", "country": "Costa Rica", "hostname": "cr.vpnunlimitedapp.com", "udp": true, "ips": [ "145.14.131.24", "145.14.131.50", "145.14.131.59", "145.14.131.81", "145.14.131.173", "145.14.131.176", "145.14.131.187", "145.14.131.194" ] }, { "vpn": "openvpn", "country": "Croatia", "hostname": "hr.vpnunlimitedapp.com", "udp": true, "ips": [ "85.10.51.3", "85.10.56.3", "85.10.56.4", "85.10.56.100" ] }, { "vpn": "openvpn", "country": "Cyprus", "hostname": "cy.vpnunlimitedapp.com", "udp": true, "ips": [ "194.30.136.102", "194.30.136.123" ] }, { "vpn": "openvpn", "country": "Czech Republic", "hostname": "cz.vpnunlimitedapp.com", "udp": true, "ips": [ "94.131.97.31", "94.131.97.159", "94.131.97.199", "185.216.35.46" ] }, { "vpn": "openvpn", "country": "Denmark", "hostname": "dk.vpnunlimitedapp.com", "udp": true, "ips": [ "37.120.194.174", "89.45.7.90", "185.206.224.50" ] }, { "vpn": "openvpn", "country": "Estonia", "hostname": "ee.vpnunlimitedapp.com", "udp": true, "ips": [ "5.181.23.37", "94.131.15.52", "95.164.8.18" ] }, { "vpn": "openvpn", "country": "Finland", "hostname": "fi.vpnunlimitedapp.com", "udp": true, "ips": [ "45.159.249.138", "45.159.249.162", "45.159.249.205" ] }, { "vpn": "openvpn", "country": "France", "hostname": "fr.vpnunlimitedapp.com", "udp": true, "ips": [ "51.159.99.123", "62.210.38.83", "62.210.132.5", "62.210.132.12", "62.210.188.244", "62.210.204.161", "62.210.206.27", "62.210.207.15", "195.154.166.20", "195.154.169.66", "195.154.199.175", "195.154.204.36", "195.154.221.54", "195.154.222.168" ] }, { "vpn": "openvpn", "country": "France", "city": "Roubaix", "hostname": "fr-rbx.vpnunlimitedapp.com", "udp": true, "ips": [ "51.255.71.16", "147.135.137.107", "151.80.27.199" ] }, { "vpn": "openvpn", "country": "Germany", "city": "Düsseldorf", "hostname": "de-dus.vpnunlimitedapp.com", "udp": true, "ips": [ "85.14.243.42", "146.0.32.121", "146.0.42.77" ] }, { "vpn": "openvpn", "country": "Greece", "hostname": "gr.vpnunlimitedapp.com", "udp": true, "ips": [ "94.131.8.45", "94.131.8.47" ] }, { "vpn": "openvpn", "country": "Hungary", "hostname": "hu.vpnunlimitedapp.com", "udp": true, "ips": [ "5.182.38.132", "5.182.38.193", "77.91.72.105" ] }, { "vpn": "openvpn", "country": "Iceland", "hostname": "is.vpnunlimitedapp.com", "udp": true, "ips": [ "91.194.161.20", "91.194.161.21", "91.194.161.22" ] }, { "vpn": "openvpn", "country": "India", "hostname": "in.vpnunlimitedapp.com", "udp": true, "ips": [ "162.218.95.14", "198.145.227.50", "198.145.227.51", "198.145.227.52", "198.145.227.53", "198.145.227.54", "198.145.227.55", "198.145.227.56", "198.145.227.57", "198.145.227.58", "198.145.227.59", "198.145.227.60", "198.145.227.61", "198.145.227.62", "198.145.227.63", "198.145.227.64", "198.145.227.65", "198.145.227.66", "198.145.227.67", "198.145.227.68", "198.145.227.69", "198.145.227.70" ] }, { "vpn": "openvpn", "country": "Ireland", "city": "Dublin", "hostname": "ie-dub.vpnunlimitedapp.com", "udp": true, "ips": [ "185.108.129.58", "188.241.178.118", "194.4.51.233", "194.4.51.234", "194.4.51.235" ] }, { "vpn": "openvpn", "country": "Isle of Man", "hostname": "im.vpnunlimitedapp.com", "udp": true, "ips": [ "37.235.55.14", "37.235.55.45", "37.235.55.57", "37.235.55.62", "37.235.55.68", "37.235.55.240", "192.71.211.15" ] }, { "vpn": "openvpn", "country": "Israel", "hostname": "il.vpnunlimitedapp.com", "udp": true, "ips": [ "91.225.218.142", "91.225.218.143", "91.225.218.144", "193.182.144.23" ] }, { "vpn": "openvpn", "country": "Italy", "city": "Milan", "hostname": "it-mil.vpnunlimitedapp.com", "udp": true, "ips": [ "91.193.5.50" ] }, { "vpn": "openvpn", "country": "Japan", "hostname": "jp.vpnunlimitedapp.com", "udp": true, "ips": [ "45.76.49.6", "45.76.220.224", "66.42.38.10", "85.208.110.122", "107.191.60.241", "108.160.139.177", "139.162.125.238", "139.180.197.252", "139.180.206.179" ] }, { "vpn": "openvpn", "country": "Korea", "hostname": "kr.vpnunlimitedapp.com", "udp": true, "ips": [ "141.164.34.194", "141.164.39.45", "158.247.213.101" ] }, { "vpn": "openvpn", "country": "Kuala Lumpur", "hostname": "mys.vpnunlimitedapp.com", "udp": true, "ips": [ "111.90.141.34" ] }, { "vpn": "openvpn", "country": "Lithuania", "hostname": "lt.vpnunlimitedapp.com", "udp": true, "ips": [ "94.131.14.222", "94.131.14.223", "94.131.14.224", "94.131.14.225", "94.131.14.226" ] }, { "vpn": "openvpn", "country": "Mexico", "hostname": "mx.vpnunlimitedapp.com", "udp": true, "ips": [ "216.238.66.6", "216.238.66.40", "216.238.69.229", "216.238.72.203", "216.238.73.64", "216.238.73.252", "216.238.75.254", "216.238.76.115", "216.238.77.95", "216.238.78.81", "216.238.79.163", "216.238.79.200", "216.238.80.169", "216.238.81.55", "216.238.82.61", "216.238.83.73" ] }, { "vpn": "openvpn", "country": "Moldova", "hostname": "md.vpnunlimitedapp.com", "udp": true, "ips": [ "45.67.229.191", "45.67.229.240" ] }, { "vpn": "openvpn", "country": "Netherlands", "hostname": "nl.vpnunlimitedapp.com", "udp": true, "ips": [ "45.32.236.232", "50.7.176.51", "50.7.176.116", "82.196.12.12", "95.85.21.9", "95.85.21.11", "95.85.21.12", "95.85.21.13", "95.179.150.23", "199.247.27.95" ] }, { "vpn": "openvpn", "country": "New Zealand", "hostname": "nz.vpnunlimitedapp.com", "udp": true, "ips": [ "185.99.133.64", "185.99.133.177" ] }, { "vpn": "openvpn", "country": "Norway", "hostname": "no.vpnunlimitedapp.com", "udp": true, "ips": [ "91.225.217.27", "91.225.217.28", "91.225.217.29", "91.225.217.30", "91.225.217.31" ] }, { "vpn": "openvpn", "country": "Oman", "hostname": "om.vpnunlimitedapp.com", "udp": true, "ips": [ "185.226.124.110" ] }, { "vpn": "openvpn", "country": "Poland", "hostname": "pl.vpnunlimitedapp.com", "udp": true, "ips": [ "37.120.156.234" ] }, { "vpn": "openvpn", "country": "Portugal", "hostname": "pt.vpnunlimitedapp.com", "udp": true, "ips": [ "94.131.10.98", "94.131.10.99", "94.131.10.100", "94.131.10.101" ] }, { "vpn": "openvpn", "country": "Romania", "hostname": "ro.vpnunlimitedapp.com", "udp": true, "ips": [ "77.81.98.70", "185.144.83.11", "185.144.83.13" ] }, { "vpn": "openvpn", "country": "Singapore", "hostname": "sg-free.vpnunlimitedapp.com", "udp": true, "free": true, "ips": [ "178.128.48.177", "178.128.117.139", "188.166.177.236", "206.189.80.158" ] }, { "vpn": "openvpn", "country": "Singapore", "hostname": "sg.vpnunlimitedapp.com", "udp": true, "ips": [ "139.99.62.61", "143.198.207.137", "143.198.207.145", "143.198.207.218", "143.198.208.19", "143.198.208.211", "143.198.212.21", "143.198.216.60", "143.198.216.119", "143.198.216.142", "143.198.216.213", "159.65.0.220", "159.223.48.163", "159.223.63.231", "159.223.85.125", "159.223.91.73", "174.138.22.2", "174.138.24.49", "178.128.85.6", "178.128.107.38", "209.97.161.18" ] }, { "vpn": "openvpn", "country": "Slovakia", "hostname": "sk.vpnunlimitedapp.com", "udp": true, "ips": [ "5.252.23.93", "5.252.23.194", "45.89.54.32", "45.89.54.232", "45.89.54.234" ] }, { "vpn": "openvpn", "country": "Slovenia", "hostname": "si.vpnunlimitedapp.com", "udp": true, "ips": [ "91.132.94.91", "91.132.94.240", "192.71.244.28", "192.71.244.38" ] }, { "vpn": "openvpn", "country": "South Africa", "hostname": "za.vpnunlimitedapp.com", "udp": true, "ips": [ "129.232.129.157", "129.232.130.179", "129.232.130.186", "129.232.130.187", "129.232.133.41", "129.232.134.122", "129.232.219.195", "129.232.219.196" ] }, { "vpn": "openvpn", "country": "Spain", "hostname": "es.vpnunlimitedapp.com", "udp": true, "ips": [ "65.20.97.197", "176.120.74.254", "185.231.204.2", "185.231.204.4", "185.231.204.9", "185.231.204.14", "185.231.204.16", "208.85.19.114", "208.85.21.129" ] }, { "vpn": "openvpn", "country": "Sweden", "hostname": "se.vpnunlimitedapp.com", "udp": true, "ips": [ "70.34.201.81", "70.34.202.181", "70.34.214.117", "94.131.98.211", "94.131.98.217", "94.131.98.218", "94.131.115.4", "94.131.115.66" ] }, { "vpn": "openvpn", "country": "Switzerland", "hostname": "ch.vpnunlimitedapp.com", "udp": true, "ips": [ "94.131.12.81", "94.131.12.83", "94.131.12.90", "94.131.12.96", "94.131.12.104", "94.131.12.116" ] }, { "vpn": "openvpn", "country": "Thailand", "hostname": "th.vpnunlimitedapp.com", "udp": true, "ips": [ "45.64.186.97" ] }, { "vpn": "openvpn", "country": "Turkey", "hostname": "tr.vpnunlimitedapp.com", "udp": true, "ips": [ "185.17.115.62", "185.73.202.218", "185.123.101.149" ] }, { "vpn": "openvpn", "country": "United Arab Emirates", "hostname": "ae.vpnunlimitedapp.com", "udp": true, "ips": [ "45.9.249.201", "45.9.249.202", "45.9.249.209", "45.9.249.211", "45.9.249.216", "45.9.250.143", "45.9.250.145", "147.78.0.91", "147.78.0.93" ] }, { "vpn": "openvpn", "country": "United Kingdom", "hostname": "uk.vpnunlimitedapp.com", "udp": true, "ips": [ "5.152.213.186", "77.245.65.2", "88.150.180.82", "88.150.224.74", "176.227.198.122" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "uk-cv.vpnunlimitedapp.com", "udp": true, "ips": [ "5.101.143.66", "5.101.169.146", "178.159.10.78" ] }, { "vpn": "openvpn", "country": "United Kingdom", "city": "London", "hostname": "uk-lon.vpnunlimitedapp.com", "udp": true, "ips": [ "5.101.136.154", "78.110.160.6" ] }, { "vpn": "openvpn", "country": "United States", "hostname": "us-stream.vpnunlimitedapp.com", "udp": true, "stream": true, "ips": [ "64.227.111.143", "128.199.9.51", "138.197.203.142", "143.110.156.9", "143.110.225.79", "159.89.128.183", "161.35.236.242", "164.90.144.44", "165.227.49.171", "167.99.96.113", "178.128.79.75", "192.241.194.208", "198.199.96.52", "198.199.97.247", "198.199.103.88", "198.199.103.243", "198.199.105.87", "198.199.114.155", "206.189.165.44", "206.189.211.205" ] }, { "vpn": "openvpn", "country": "United States", "hostname": "us.vpnunlimitedapp.com", "udp": true, "ips": [ "108.181.57.249", "108.181.132.151", "108.181.132.193", "108.181.132.195", "172.106.167.229", "199.115.117.81" ] }, { "vpn": "openvpn", "country": "United States", "city": "Chicago", "hostname": "us-chi.vpnunlimitedapp.com", "udp": true, "ips": [ "66.23.205.226", "108.181.62.129", "108.181.62.187", "108.181.62.189", "108.181.62.201" ] }, { "vpn": "openvpn", "country": "United States", "city": "Dallas", "hostname": "us-dal.vpnunlimitedapp.com", "udp": true, "ips": [ "172.241.113.19", "172.241.115.99" ] }, { "vpn": "openvpn", "country": "United States", "city": "Denver", "hostname": "us-den.vpnunlimitedapp.com", "udp": true, "ips": [ "23.237.26.20", "23.237.26.25", "23.237.26.26", "23.237.26.67", "23.237.26.68", "23.237.26.74" ] }, { "vpn": "openvpn", "country": "United States", "city": "Houston", "hostname": "us-hou.vpnunlimitedapp.com", "udp": true, "ips": [ "66.187.75.122", "162.218.228.194", "162.218.228.196", "162.218.229.106" ] }, { "vpn": "openvpn", "country": "United States", "city": "Las Vegas", "hostname": "us-lv.vpnunlimitedapp.com", "udp": true, "ips": [ "185.242.5.18", "185.242.5.22" ] }, { "vpn": "openvpn", "country": "United States", "city": "Los Angeles", "hostname": "us-la.vpnunlimitedapp.com", "udp": true, "ips": [ "23.83.37.209", "23.83.37.213", "45.136.131.40", "64.31.33.154", "69.162.99.70" ] }, { "vpn": "openvpn", "country": "United States", "city": "Miami", "hostname": "us-mia.vpnunlimitedapp.com", "udp": true, "ips": [ "45.32.174.147", "45.77.74.249", "45.77.95.122", "45.77.161.227", "45.77.165.103", "45.77.196.77", "140.82.29.71", "144.202.44.138", "144.202.44.229", "149.28.111.111", "207.246.75.109" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "us-ny-free.vpnunlimitedapp.com", "udp": true, "free": true, "ips": [ "64.227.9.14", "137.184.131.0", "137.184.199.252", "137.184.218.195", "143.198.124.34" ] }, { "vpn": "openvpn", "country": "United States", "city": "New York", "hostname": "us-ny.vpnunlimitedapp.com", "udp": true, "ips": [ "23.105.134.162", "64.42.178.202", "64.42.178.226" ] }, { "vpn": "openvpn", "country": "United States", "city": "Salt Lake City", "hostname": "us-slc.vpnunlimitedapp.com", "udp": true, "ips": [ "209.95.53.223", "209.95.53.225" ] }, { "vpn": "openvpn", "country": "United States", "city": "San Francisco", "hostname": "us-sf.vpnunlimitedapp.com", "udp": true, "ips": [ "209.58.135.75", "209.58.135.106", "209.58.137.71" ] }, { "vpn": "openvpn", "country": "United States", "city": "Seattle", "hostname": "us-sea.vpnunlimitedapp.com", "udp": true, "ips": [ "23.81.209.137", "64.120.123.48", "108.62.60.89", "216.244.82.50" ] }, { "vpn": "openvpn", "country": "Vietnam", "hostname": "vn.vpnunlimitedapp.com", "udp": true, "ips": [ "146.196.67.7" ] } ] }, "vpnsecure": { "version": 1, "timestamp": 1766455077, "servers": [ { "vpn": "openvpn", "country": "Australia", "region": "New South Wales", "city": "Sydney", "hostname": "au1.isponeder.com", "tcp": true, "udp": true, "ips": [ "103.75.119.47" ] }, { "vpn": "openvpn", "country": "Belgium", "hostname": "be1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "87.98.252.127" ] }, { "vpn": "openvpn", "country": "Brazil", "region": "São Paulo", "city": "São Paulo", "hostname": "br1.isponeder.com", "tcp": true, "udp": true, "ips": [ "109.104.155.30" ] }, { "vpn": "openvpn", "country": "Canada", "region": "Quebec", "city": "Montreal", "hostname": "ca0.isponeder.com", "tcp": true, "udp": true, "ips": [ "198.100.159.195" ] }, { "vpn": "openvpn", "country": "Canada", "region": "Quebec", "city": "Montreal", "hostname": "ca1.isponeder.com", "tcp": true, "udp": true, "ips": [ "149.56.46.132" ] }, { "vpn": "openvpn", "country": "Canada", "region": "Quebec", "city": "Montreal", "hostname": "ca2.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "158.69.7.165" ] }, { "vpn": "openvpn", "country": "Canada", "region": "Quebec", "city": "Montreal", "hostname": "ca3.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "158.69.7.185" ] }, { "vpn": "openvpn", "country": "Czech Republic", "hostname": "cz1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "51.77.92.182" ] }, { "vpn": "openvpn", "country": "France", "hostname": "fr0.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "5.196.34.246" ] }, { "vpn": "openvpn", "country": "France", "region": "Flanders", "city": "Antwerp", "hostname": "fr2.isponeder.com", "tcp": true, "udp": true, "ips": [ "5.135.35.186" ] }, { "vpn": "openvpn", "country": "France", "region": "Flanders", "city": "Antwerp", "hostname": "fr4.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "5.135.35.180" ] }, { "vpn": "openvpn", "country": "France", "region": "Hauts-de-France", "city": "Roubaix", "hostname": "fr1.isponeder.com", "tcp": true, "udp": true, "ips": [ "151.80.148.41" ] }, { "vpn": "openvpn", "country": "France", "region": "Hauts-de-France", "city": "Roubaix", "hostname": "fr3.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "151.80.148.150" ] }, { "vpn": "openvpn", "country": "Germany", "hostname": "de1.isponeder.com", "tcp": true, "udp": true, "ips": [ "54.38.159.43" ] }, { "vpn": "openvpn", "country": "Germany", "hostname": "de2.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "54.38.156.6" ] }, { "vpn": "openvpn", "country": "Hong Kong", "city": "Hong Kong", "hostname": "hk1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "203.23.128.147" ] }, { "vpn": "openvpn", "country": "India", "hostname": "in1.isponeder.com", "tcp": true, "udp": true, "ips": [ "103.118.17.175" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Leinster", "city": "Dublin", "hostname": "ie1.isponeder.com", "tcp": true, "udp": true, "ips": [ "185.224.197.164" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Leinster", "city": "Dublin", "hostname": "ie2.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "185.224.199.37" ] }, { "vpn": "openvpn", "country": "Ireland", "region": "Leinster", "city": "Dublin", "hostname": "ie3.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "185.224.196.102" ] }, { "vpn": "openvpn", "country": "Israel", "region": "Tel Aviv", "city": "Tel Aviv", "hostname": "il1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "83.229.71.19" ] }, { "vpn": "openvpn", "country": "Italy", "hostname": "it1.isponeder.com", "tcp": true, "udp": true, "ips": [ "51.75.158.45" ] }, { "vpn": "openvpn", "country": "Italy", "region": "Lombardy", "city": "Milan", "hostname": "it2.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "185.47.172.197" ] }, { "vpn": "openvpn", "country": "Japan", "region": "Tokyo", "city": "Tokyo", "hostname": "jp1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "103.106.228.223" ] }, { "vpn": "openvpn", "country": "Lithuania", "hostname": "lt1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "51.38.118.127" ] }, { "vpn": "openvpn", "country": "Mexico", "region": "Mexico City", "city": "Mexico City", "hostname": "mx1.isponeder.com", "tcp": true, "udp": true, "ips": [ "147.78.1.20" ] }, { "vpn": "openvpn", "country": "Netherlands", "region": "Île-de-France", "city": "Paris", "hostname": "nl1.isponeder.com", "tcp": true, "udp": true, "ips": [ "51.158.252.2" ] }, { "vpn": "openvpn", "country": "Poland", "region": "Lower Silesia", "city": "Wroclaw", "hostname": "pl1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "87.98.234.252" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Central Macedonia", "city": "Thessaloniki", "hostname": "ro1.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "154.43.62.84" ] }, { "vpn": "openvpn", "country": "Romania", "region": "Central Macedonia", "city": "Thessaloniki", "hostname": "ro2.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "154.43.62.85" ] }, { "vpn": "openvpn", "country": "Russia", "hostname": "ru1.isponeder.com", "tcp": true, "udp": true, "ips": [ "192.144.37.45" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sg0.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "216.107.138.208" ] }, { "vpn": "openvpn", "country": "Singapore", "city": "Singapore", "hostname": "sg1.isponeder.com", "tcp": true, "udp": true, "ips": [ "216.107.138.209" ] }, { "vpn": "openvpn", "country": "Spain", "hostname": "es1.isponeder.com", "tcp": true, "udp": true, "ips": [ "51.77.89.153" ] }, { "vpn": "openvpn", "country": "Spain", "region": "Madrid", "city": "Madrid", "hostname": "es2.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "103.241.67.200" ] }, { "vpn": "openvpn", "country": "Sweden", "region": "Jönköping", "city": "Jönköping", "hostname": "se1.isponeder.com", "tcp": true, "udp": true, "ips": [ "79.136.1.90" ] }, { "vpn": "openvpn", "country": "Switzerland", "region": "Zurich", "city": "Zurich", "hostname": "ch1.isponeder.com", "tcp": true, "udp": true, "ips": [ "37.143.131.123" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Kyiv City", "city": "Kyiv", "hostname": "ua1.isponeder.com", "tcp": true, "udp": true, "ips": [ "139.28.38.117" ] }, { "vpn": "openvpn", "country": "Ukraine", "region": "Kyiv City", "city": "Kyiv", "hostname": "ua2.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "139.28.39.103" ] }, { "vpn": "openvpn", "country": "United Kingdom", "hostname": "uk3.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "51.75.161.116" ] }, { "vpn": "openvpn", "country": "United Kingdom", "region": "England", "city": "Erith", "hostname": "uk2.isponeder.com", "tcp": true, "udp": true, "ips": [ "154.41.135.18" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "us11.isponeder.com", "tcp": true, "udp": true, "ips": [ "162.251.167.66" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "us12.isponeder.com", "tcp": true, "udp": true, "ips": [ "162.251.167.67" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "us13.isponeder.com", "tcp": true, "udp": true, "ips": [ "162.251.167.68" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "us14.isponeder.com", "tcp": true, "udp": true, "ips": [ "162.251.167.69" ] }, { "vpn": "openvpn", "country": "United States", "region": "California", "city": "Los Angeles", "hostname": "us15.isponeder.com", "tcp": true, "udp": true, "ips": [ "162.251.167.70" ] }, { "vpn": "openvpn", "country": "United States", "region": "Missouri", "city": "Kansas City", "hostname": "us21.isponeder.com", "tcp": true, "udp": true, "ips": [ "109.104.152.183" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York", "hostname": "us1.isponeder.com", "tcp": true, "udp": true, "ips": [ "172.96.166.26" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York", "hostname": "us2.isponeder.com", "tcp": true, "udp": true, "ips": [ "172.96.166.27" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York", "hostname": "us3.isponeder.com", "tcp": true, "udp": true, "ips": [ "172.96.166.28" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York", "hostname": "us4.isponeder.com", "tcp": true, "udp": true, "ips": [ "172.96.166.29" ] }, { "vpn": "openvpn", "country": "United States", "region": "New York", "city": "New York", "hostname": "us5.isponeder.com", "tcp": true, "udp": true, "ips": [ "172.96.166.30" ] }, { "vpn": "openvpn", "country": "United States", "region": "Oregon", "city": "Hillsboro", "hostname": "us10.isponeder.com", "tcp": true, "udp": true, "ips": [ "15.204.48.101" ] }, { "vpn": "openvpn", "country": "United States", "region": "Oregon", "city": "Hillsboro", "hostname": "us6.isponeder.com", "tcp": true, "udp": true, "ips": [ "51.81.186.71" ] }, { "vpn": "openvpn", "country": "United States", "region": "Oregon", "city": "Hillsboro", "hostname": "us7.isponeder.com", "tcp": true, "udp": true, "ips": [ "15.204.48.98" ] }, { "vpn": "openvpn", "country": "United States", "region": "Oregon", "city": "Hillsboro", "hostname": "us8.isponeder.com", "tcp": true, "udp": true, "ips": [ "15.204.48.99" ] }, { "vpn": "openvpn", "country": "United States", "region": "Oregon", "city": "Hillsboro", "hostname": "us9.isponeder.com", "tcp": true, "udp": true, "ips": [ "15.204.48.100" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Reston", "hostname": "us16.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "15.204.172.7" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Reston", "hostname": "us17.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "15.204.178.212" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Reston", "hostname": "us18.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "15.204.178.213" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Reston", "hostname": "us19.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "15.204.178.214" ] }, { "vpn": "openvpn", "country": "United States", "region": "Virginia", "city": "Reston", "hostname": "us20.isponeder.com", "tcp": true, "udp": true, "premium": true, "ips": [ "15.204.178.215" ] } ] }, "vyprvpn": { "version": 3, "timestamp": 1709814473, "servers": [ { "vpn": "openvpn", "region": "Algeria", "hostname": "dz1.vyprvpn.com", "udp": true, "ips": [ "128.90.104.254" ] }, { "vpn": "openvpn", "region": "Argentina", "hostname": "ar1.vyprvpn.com", "udp": true, "ips": [ "216.168.16.19" ] }, { "vpn": "openvpn", "region": "Australia Melbourne", "hostname": "au2.vyprvpn.com", "udp": true, "ips": [ "64.253.88.19" ] }, { "vpn": "openvpn", "region": "Australia Perth", "hostname": "au3.vyprvpn.com", "udp": true, "ips": [ "209.99.1.19" ] }, { "vpn": "openvpn", "region": "Australia Sydney", "hostname": "au1.vyprvpn.com", "udp": true, "ips": [ "64.253.88.18" ] }, { "vpn": "openvpn", "region": "Austria", "hostname": "at1.vyprvpn.com", "udp": true, "ips": [ "128.90.148.254" ] }, { "vpn": "openvpn", "region": "Bahrain", "hostname": "bh1.vyprvpn.com", "udp": true, "ips": [ "128.90.63.254" ] }, { "vpn": "openvpn", "region": "Belgium", "hostname": "be1.vyprvpn.com", "udp": true, "ips": [ "128.90.145.254" ] }, { "vpn": "openvpn", "region": "Brazil", "hostname": "br1.vyprvpn.com", "udp": true, "ips": [ "216.168.16.20" ] }, { "vpn": "openvpn", "region": "Bulgaria", "hostname": "bg1.vyprvpn.com", "udp": true, "ips": [ "128.90.167.254" ] }, { "vpn": "openvpn", "region": "Canada", "hostname": "ca1.vyprvpn.com", "udp": true, "ips": [ "128.90.34.33" ] }, { "vpn": "openvpn", "region": "Columbia", "hostname": "co1.vyprvpn.com", "udp": true, "ips": [ "216.168.16.21" ] }, { "vpn": "openvpn", "region": "Costa Rica", "hostname": "cr1.vyprvpn.com", "udp": true, "ips": [ "216.168.16.22" ] }, { "vpn": "openvpn", "region": "Czech Republic", "hostname": "cz1.vyprvpn.com", "udp": true, "ips": [ "128.90.164.254" ] }, { "vpn": "openvpn", "region": "Denmark", "hostname": "dk1.vyprvpn.com", "udp": true, "ips": [ "128.90.154.254" ] }, { "vpn": "openvpn", "region": "Dubai", "hostname": "ae1.vyprvpn.com", "udp": true, "ips": [ "128.90.101.254" ] }, { "vpn": "openvpn", "region": "Egypt", "hostname": "eg1.vyprvpn.com", "udp": true, "ips": [ "31.6.10.254" ] }, { "vpn": "openvpn", "region": "El Salvador", "hostname": "sv1.vyprvpn.com", "udp": true, "ips": [ "128.90.34.20" ] }, { "vpn": "openvpn", "region": "Finland", "hostname": "fi1.vyprvpn.com", "udp": true, "ips": [ "128.90.166.254" ] }, { "vpn": "openvpn", "region": "France", "hostname": "fr1.vyprvpn.com", "udp": true, "ips": [ "128.90.141.254" ] }, { "vpn": "openvpn", "region": "Germany", "hostname": "de1.vyprvpn.com", "udp": true, "ips": [ "128.90.128.254" ] }, { "vpn": "openvpn", "region": "Greece", "hostname": "gr1.vyprvpn.com", "udp": true, "ips": [ "31.6.11.254" ] }, { "vpn": "openvpn", "region": "Hong Kong", "hostname": "hk1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.36" ] }, { "vpn": "openvpn", "region": "Iceland", "hostname": "is1.vyprvpn.com", "udp": true, "ips": [ "31.6.17.254" ] }, { "vpn": "openvpn", "region": "India", "hostname": "in1.vyprvpn.com", "udp": true, "ips": [ "128.90.60.254" ] }, { "vpn": "openvpn", "region": "Indonesia", "hostname": "id1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.20" ] }, { "vpn": "openvpn", "region": "Ireland", "hostname": "ie1.vyprvpn.com", "udp": true, "ips": [ "31.6.19.254" ] }, { "vpn": "openvpn", "region": "Israel", "hostname": "il1.vyprvpn.com", "udp": true, "ips": [ "128.90.59.254" ] }, { "vpn": "openvpn", "region": "Italy", "hostname": "it1.vyprvpn.com", "udp": true, "ips": [ "128.90.161.254" ] }, { "vpn": "openvpn", "region": "Japan", "hostname": "jp1.vyprvpn.com", "udp": true, "ips": [ "209.99.113.18" ] }, { "vpn": "openvpn", "region": "Latvia", "hostname": "lv1.vyprvpn.com", "udp": true, "ips": [ "128.90.174.254" ] }, { "vpn": "openvpn", "region": "Liechtenstein", "hostname": "li1.vyprvpn.com", "udp": true, "ips": [ "128.90.177.254" ] }, { "vpn": "openvpn", "region": "Lithuania", "hostname": "lt1.vyprvpn.com", "udp": true, "ips": [ "128.90.173.254" ] }, { "vpn": "openvpn", "region": "Luxembourg", "hostname": "lu1.vyprvpn.com", "udp": true, "ips": [ "128.90.165.254" ] }, { "vpn": "openvpn", "region": "Macao", "hostname": "mo1.vyprvpn.com", "udp": true, "ips": [ "69.167.31.254" ] }, { "vpn": "openvpn", "region": "Malaysia", "hostname": "my1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.21" ] }, { "vpn": "openvpn", "region": "Maldives", "hostname": "mv1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.26" ] }, { "vpn": "openvpn", "region": "Marshall Islands", "hostname": "mh1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.25" ] }, { "vpn": "openvpn", "region": "Mexico", "hostname": "mx1.vyprvpn.com", "udp": true, "ips": [ "128.90.34.23" ] }, { "vpn": "openvpn", "region": "Netherlands", "hostname": "eu1.vyprvpn.com", "udp": true, "ips": [ "128.90.135.254" ] }, { "vpn": "openvpn", "region": "New Zealand", "hostname": "nz1.vyprvpn.com", "udp": true, "ips": [ "64.253.88.20" ] }, { "vpn": "openvpn", "region": "Norway", "hostname": "no1.vyprvpn.com", "udp": true, "ips": [ "128.90.163.254" ] }, { "vpn": "openvpn", "region": "Pakistan", "hostname": "pk1.vyprvpn.com", "udp": true, "ips": [ "31.6.58.254" ] }, { "vpn": "openvpn", "region": "Panama", "hostname": "pa1.vyprvpn.com", "udp": true, "ips": [ "216.168.16.23" ] }, { "vpn": "openvpn", "region": "Philippines", "hostname": "ph1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.22" ] }, { "vpn": "openvpn", "region": "Poland", "hostname": "pl1.vyprvpn.com", "udp": true, "ips": [ "128.90.170.254" ] }, { "vpn": "openvpn", "region": "Portugal", "hostname": "pt1.vyprvpn.com", "udp": true, "ips": [ "128.90.168.254" ] }, { "vpn": "openvpn", "region": "Qatar", "hostname": "qa1.vyprvpn.com", "udp": true, "ips": [ "128.90.62.254" ] }, { "vpn": "openvpn", "region": "Romania", "hostname": "ro1.vyprvpn.com", "udp": true, "ips": [ "128.90.171.254" ] }, { "vpn": "openvpn", "region": "Russia", "hostname": "ru1.vyprvpn.com", "udp": true, "ips": [ "128.90.151.254" ] }, { "vpn": "openvpn", "region": "Saudi Arabia", "hostname": "sa1.vyprvpn.com", "udp": true, "ips": [ "128.90.61.254" ] }, { "vpn": "openvpn", "region": "Singapore", "hostname": "sg1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.18" ] }, { "vpn": "openvpn", "region": "Slovakia", "hostname": "sk1.vyprvpn.com", "udp": true, "ips": [ "128.90.176.254" ] }, { "vpn": "openvpn", "region": "Slovenia", "hostname": "si1.vyprvpn.com", "udp": true, "ips": [ "128.90.175.254" ] }, { "vpn": "openvpn", "region": "South Korea", "hostname": "kr1.vyprvpn.com", "udp": true, "ips": [ "209.99.113.19" ] }, { "vpn": "openvpn", "region": "Spain", "hostname": "es1.vyprvpn.com", "udp": true, "ips": [ "128.90.157.254" ] }, { "vpn": "openvpn", "region": "Sweden", "hostname": "se1.vyprvpn.com", "udp": true, "ips": [ "128.90.159.254" ] }, { "vpn": "openvpn", "region": "Switzerland", "hostname": "ch1.vyprvpn.com", "udp": true, "ips": [ "31.6.41.254" ] }, { "vpn": "openvpn", "region": "Taiwan", "hostname": "tw1.vyprvpn.com", "udp": true, "ips": [ "69.167.32.254" ] }, { "vpn": "openvpn", "region": "Thailand", "hostname": "th1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.23" ] }, { "vpn": "openvpn", "region": "Turkey", "hostname": "tr1.vyprvpn.com", "udp": true, "ips": [ "128.90.169.254" ] }, { "vpn": "openvpn", "region": "USA Austin", "hostname": "us3.vyprvpn.com", "udp": true, "ips": [ "128.90.34.27" ] }, { "vpn": "openvpn", "region": "USA Chicago", "hostname": "us6.vyprvpn.com", "udp": true, "ips": [ "128.90.34.21" ] }, { "vpn": "openvpn", "region": "USA Los Angeles", "hostname": "us1.vyprvpn.com", "udp": true, "ips": [ "69.167.28.254" ] }, { "vpn": "openvpn", "region": "USA Miami", "hostname": "us4.vyprvpn.com", "udp": true, "ips": [ "216.168.16.18" ] }, { "vpn": "openvpn", "region": "USA New York", "hostname": "us5.vyprvpn.com", "udp": true, "ips": [ "128.90.34.31" ] }, { "vpn": "openvpn", "region": "USA San Francisco", "hostname": "us7.vyprvpn.com", "udp": true, "ips": [ "69.167.29.254" ] }, { "vpn": "openvpn", "region": "USA Seattle", "hostname": "us8.vyprvpn.com", "udp": true, "ips": [ "69.167.30.254" ] }, { "vpn": "openvpn", "region": "USA Washington DC", "hostname": "us2.vyprvpn.com", "udp": true, "ips": [ "209.160.115.254" ] }, { "vpn": "openvpn", "region": "Ukraine", "hostname": "ua1.vyprvpn.com", "udp": true, "ips": [ "128.90.172.254" ] }, { "vpn": "openvpn", "region": "United Kingdom", "hostname": "uk1.vyprvpn.com", "udp": true, "ips": [ "178.208.168.254" ] }, { "vpn": "openvpn", "region": "Uruguay", "hostname": "uy1.vyprvpn.com", "udp": true, "ips": [ "128.90.34.25" ] }, { "vpn": "openvpn", "region": "Vietnam", "hostname": "vn1.vyprvpn.com", "udp": true, "ips": [ "209.99.1.24" ] } ] }, "windscribe": { "version": 2, "timestamp": 1722459630, "servers": [ { "vpn": "openvpn", "region": "Albania", "city": "Tirana", "hostname": "al-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tia-283.windscribe.com", "ips": [ "194.113.94.210", "194.113.94.211" ] }, { "vpn": "wireguard", "region": "Albania", "city": "Tirana", "hostname": "al-003.whiskergalaxy.com", "wgpubkey": "/8WvGXPoWTiPmrQsmakiEk7wFhn0ab7FWqN5k13oszQ=", "ips": [ "194.113.94.212" ] }, { "vpn": "openvpn", "region": "Albania", "city": "Tirana", "hostname": "al-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tia-423.windscribe.com", "ips": [ "87.120.103.226", "87.120.103.227" ] }, { "vpn": "wireguard", "region": "Albania", "city": "Tirana", "hostname": "al-004.whiskergalaxy.com", "wgpubkey": "Y+/gx8qgmaUqnfVJ0Sp/y6ji6oPrPj4ESLwLWIwOIHg=", "ips": [ "87.120.103.228" ] }, { "vpn": "openvpn", "region": "Albania", "city": "Tirana", "hostname": "al-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tia-423.windscribe.com", "ips": [ "87.120.103.242", "87.120.103.243" ] }, { "vpn": "wireguard", "region": "Albania", "city": "Tirana", "hostname": "al-005.whiskergalaxy.com", "wgpubkey": "Y+/gx8qgmaUqnfVJ0Sp/y6ji6oPrPj4ESLwLWIwOIHg=", "ips": [ "87.120.103.244" ] }, { "vpn": "openvpn", "region": "Argentina", "city": "Buenos Aires", "hostname": "ar-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "eze-278.windscribe.com", "ips": [ "190.103.176.146", "190.103.176.147" ] }, { "vpn": "wireguard", "region": "Argentina", "city": "Buenos Aires", "hostname": "ar-008.whiskergalaxy.com", "wgpubkey": "2+O8VAshLkyWM1b6Ye2Cuoa3R/guKZgQ+YLoCsseWCU=", "ips": [ "190.103.176.148" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Adelaide", "hostname": "au-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "adl-319.windscribe.com", "ips": [ "116.90.72.242", "116.90.72.243" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Adelaide", "hostname": "au-008.whiskergalaxy.com", "wgpubkey": "tEh6Z8bnFmQU2KWHWYOS7yuDFZgwn3LGOZAdR1hN8kU=", "ips": [ "116.90.72.244" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Adelaide", "hostname": "au-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "adl-354.windscribe.com", "ips": [ "103.108.92.82", "103.108.92.83" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Adelaide", "hostname": "au-011.whiskergalaxy.com", "wgpubkey": "Sb5VSMZhhqSo5absckjzPn9HWhT7UrKk1AQv0me0zhI=", "ips": [ "103.108.92.84" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Brisbane", "hostname": "au-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bne-225.windscribe.com", "ips": [ "103.62.50.130", "103.62.50.131" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Brisbane", "hostname": "au-007.whiskergalaxy.com", "wgpubkey": "KvFr7Te5+RaFATDKJzrNXKf44ws8J6E9WbNVsMPvY1I=", "ips": [ "103.62.50.132" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Brisbane", "hostname": "au-018.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bne-357.windscribe.com", "ips": [ "103.108.95.226", "103.108.95.227" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Brisbane", "hostname": "au-018.whiskergalaxy.com", "wgpubkey": "iY4MhQqQTP4uT7U4w9DfUEVxi5I3HJvjZcIL2dwmtTw=", "ips": [ "103.108.95.228" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Melbourne", "hostname": "au-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mel-224.windscribe.com", "ips": [ "103.137.14.34", "103.137.14.35" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Melbourne", "hostname": "au-005.whiskergalaxy.com", "wgpubkey": "sDDXsvjyVqpB8fecUsjX0/Y8YdZye+oiV1Dy9BfUkwE=", "ips": [ "103.137.14.36" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Melbourne", "hostname": "au-017.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mel-356.windscribe.com", "ips": [ "116.206.228.178", "116.206.228.179" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Melbourne", "hostname": "au-017.whiskergalaxy.com", "wgpubkey": "r5BDU0T+VGZU6I+zuF3vlGrdORtgNvLhY08gQxrFRCw=", "ips": [ "116.206.228.180" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Perth", "hostname": "au-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "per-223.windscribe.com", "ips": [ "45.121.208.128", "45.121.208.160" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Perth", "hostname": "au-004.whiskergalaxy.com", "wgpubkey": "dqRF96aFvKwZ/UZXC+VuIciE6e2Iy138Vx54D2iHug8=", "ips": [ "45.121.208.161" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Perth", "hostname": "au-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "per-355.windscribe.com", "ips": [ "103.77.234.210", "103.77.234.211" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Perth", "hostname": "au-012.whiskergalaxy.com", "wgpubkey": "Jhhq6jvPxABM8OmzaM4/zJbcoRBR5OZalIHrZaFuXAU=", "ips": [ "103.77.234.212" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Sydney", "hostname": "au-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "syd-226.windscribe.com", "ips": [ "103.1.213.210", "103.1.213.211" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Sydney", "hostname": "au-015.whiskergalaxy.com", "wgpubkey": "jCi1I5HBTtwCblBbMzOFmOOFNG1GilYOZgst0kyq9gY=", "ips": [ "103.1.213.212" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Sydney", "hostname": "au-016.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "syd-226.windscribe.com", "ips": [ "103.1.212.242", "103.1.212.243" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Sydney", "hostname": "au-016.whiskergalaxy.com", "wgpubkey": "jCi1I5HBTtwCblBbMzOFmOOFNG1GilYOZgst0kyq9gY=", "ips": [ "103.1.212.244" ] }, { "vpn": "openvpn", "region": "Australia", "city": "Sydney", "hostname": "au-019.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "syd-243.windscribe.com", "ips": [ "103.77.232.74", "103.77.232.75" ] }, { "vpn": "wireguard", "region": "Australia", "city": "Sydney", "hostname": "au-019.whiskergalaxy.com", "wgpubkey": "eSxX+L8qX+1MdmwjtlZGIDbDivFdURBh5Rm1KfUpYzc=", "ips": [ "103.77.232.76" ] }, { "vpn": "openvpn", "region": "Austria", "city": "Vienna", "hostname": "at-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "vie-308.windscribe.com", "ips": [ "89.187.168.65", "89.187.168.66" ] }, { "vpn": "wireguard", "region": "Austria", "city": "Vienna", "hostname": "at-004.whiskergalaxy.com", "wgpubkey": "KtJIKy9zsCXtKwFMQeGDEZVXtqw+X1+5z10Rh84/N0s=", "ips": [ "89.187.168.67" ] }, { "vpn": "openvpn", "region": "Austria", "city": "Vienna", "hostname": "at-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "vie-308.windscribe.com", "ips": [ "154.47.19.129", "154.47.19.130" ] }, { "vpn": "wireguard", "region": "Austria", "city": "Vienna", "hostname": "at-005.whiskergalaxy.com", "wgpubkey": "KtJIKy9zsCXtKwFMQeGDEZVXtqw+X1+5z10Rh84/N0s=", "ips": [ "154.47.19.131" ] }, { "vpn": "openvpn", "region": "Austria", "city": "Vienna", "hostname": "at-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "vie-87.windscribe.com", "ips": [ "146.70.244.18", "146.70.244.19" ] }, { "vpn": "wireguard", "region": "Austria", "city": "Vienna", "hostname": "at-006.whiskergalaxy.com", "wgpubkey": "TPJ0lv9z95UaBKA64lQYcpAsoYmmMxvX4cnMh3nHqgs=", "ips": [ "146.70.244.20" ] }, { "vpn": "openvpn", "region": "Austria", "city": "Vienna", "hostname": "at-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "vie-87.windscribe.com", "ips": [ "146.70.244.2", "146.70.244.3" ] }, { "vpn": "wireguard", "region": "Austria", "city": "Vienna", "hostname": "at-007.whiskergalaxy.com", "wgpubkey": "TPJ0lv9z95UaBKA64lQYcpAsoYmmMxvX4cnMh3nHqgs=", "ips": [ "146.70.244.4" ] }, { "vpn": "openvpn", "region": "Belgium", "city": "Brussels", "hostname": "be-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bru-99.windscribe.com", "ips": [ "146.70.176.242", "146.70.176.243" ] }, { "vpn": "wireguard", "region": "Belgium", "city": "Brussels", "hostname": "be-007.whiskergalaxy.com", "wgpubkey": "TA+nBx5qMBdyIiug4SHgbw30/GXrRZ2aUAH7MQHJwzc=", "ips": [ "146.70.176.244" ] }, { "vpn": "openvpn", "region": "Belgium", "city": "Brussels", "hostname": "be-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bru-99.windscribe.com", "ips": [ "146.70.123.98", "146.70.123.99" ] }, { "vpn": "wireguard", "region": "Belgium", "city": "Brussels", "hostname": "be-008.whiskergalaxy.com", "wgpubkey": "TA+nBx5qMBdyIiug4SHgbw30/GXrRZ2aUAH7MQHJwzc=", "ips": [ "146.70.123.100" ] }, { "vpn": "openvpn", "region": "Bosnia", "city": "Novi Travnik", "hostname": "ba-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sjj-410.windscribe.com", "ips": [ "45.156.248.50", "45.156.248.51" ] }, { "vpn": "wireguard", "region": "Bosnia", "city": "Novi Travnik", "hostname": "ba-002.whiskergalaxy.com", "wgpubkey": "T9eiZMCJSOeNgm9n6s5/5WKDjMTN2TAKLbRvUNrGKUo=", "ips": [ "45.156.248.52" ] }, { "vpn": "openvpn", "region": "Bosnia", "city": "Sarajevo", "hostname": "ba-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sjj-286.windscribe.com", "ips": [ "185.164.35.16", "185.99.3.24" ] }, { "vpn": "wireguard", "region": "Bosnia", "city": "Sarajevo", "hostname": "ba-001.whiskergalaxy.com", "wgpubkey": "6oMHpHHL3pq6Pdr2HoDRYuyjcyQGxfQaSRQR+HPyvgc=", "ips": [ "185.99.3.25" ] }, { "vpn": "openvpn", "region": "Brazil", "city": "Sao Paulo", "hostname": "br-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "gru-231.windscribe.com", "ips": [ "149.78.184.70", "149.78.184.98" ] }, { "vpn": "wireguard", "region": "Brazil", "city": "Sao Paulo", "hostname": "br-007.whiskergalaxy.com", "wgpubkey": "bfeZeTGkISX5GVgVOkTMRlqvWlTI8obCb7vVdy8XGWk=", "ips": [ "149.78.184.99" ] }, { "vpn": "openvpn", "region": "Brazil", "city": "Sao Paulo", "hostname": "br-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "gru-165.windscribe.com", "ips": [ "149.102.251.206", "149.102.251.207" ] }, { "vpn": "wireguard", "region": "Brazil", "city": "Sao Paulo", "hostname": "br-008.whiskergalaxy.com", "wgpubkey": "c88CXfzJqasp/RIf7hQyYjrakrSyI4zfZdcTmcTwwxQ=", "ips": [ "149.102.251.208" ] }, { "vpn": "openvpn", "region": "Brazil", "city": "Sao Paulo", "hostname": "br-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "gru-165.windscribe.com", "ips": [ "149.102.251.193", "149.102.251.194" ] }, { "vpn": "wireguard", "region": "Brazil", "city": "Sao Paulo", "hostname": "br-009.whiskergalaxy.com", "wgpubkey": "c88CXfzJqasp/RIf7hQyYjrakrSyI4zfZdcTmcTwwxQ=", "ips": [ "149.102.251.195" ] }, { "vpn": "openvpn", "region": "Bulgaria", "city": "Sofia", "hostname": "bg-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sof-100.windscribe.com", "ips": [ "185.94.192.194", "185.94.192.195" ] }, { "vpn": "wireguard", "region": "Bulgaria", "city": "Sofia", "hostname": "bg-004.whiskergalaxy.com", "wgpubkey": "kDDue7viLOXcxayH/VWzI8EhqeeSHrwOSt3IF9rHIlI=", "ips": [ "185.94.192.196" ] }, { "vpn": "openvpn", "region": "Bulgaria", "city": "Sofia", "hostname": "bg-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sof-100.windscribe.com", "ips": [ "185.94.192.210", "185.94.192.211" ] }, { "vpn": "wireguard", "region": "Bulgaria", "city": "Sofia", "hostname": "bg-005.whiskergalaxy.com", "wgpubkey": "kDDue7viLOXcxayH/VWzI8EhqeeSHrwOSt3IF9rHIlI=", "ips": [ "185.94.192.212" ] }, { "vpn": "openvpn", "region": "Cambodia", "city": "Phnom Penh", "hostname": "kh-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "pnh-374.windscribe.com", "ips": [ "195.80.149.242", "195.80.149.243" ] }, { "vpn": "wireguard", "region": "Cambodia", "city": "Phnom Penh", "hostname": "kh-001.whiskergalaxy.com", "wgpubkey": "V95mJcGcpBFRAy3rQQJc6pWe5VA/28YoWKTl53slzz4=", "ips": [ "195.80.149.244" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Halifax", "hostname": "ca-021.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yhz-386.windscribe.com", "ips": [ "23.191.80.2", "23.191.80.3" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Halifax", "hostname": "ca-021.whiskergalaxy.com", "wgpubkey": "w262TI0UyIg9pFunMiekVURYUuT/z4qXRor2Z7VcOn4=", "ips": [ "23.191.80.4" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Halifax", "hostname": "ca-048.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yhz-386.windscribe.com", "ips": [ "23.191.80.98", "23.191.80.99" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Halifax", "hostname": "ca-048.whiskergalaxy.com", "wgpubkey": "w262TI0UyIg9pFunMiekVURYUuT/z4qXRor2Z7VcOn4=", "ips": [ "23.191.80.100" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Montreal", "hostname": "ca-027.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yul-316.windscribe.com", "ips": [ "38.170.155.242", "38.153.115.1" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Montreal", "hostname": "ca-027.whiskergalaxy.com", "wgpubkey": "DxBtB3enAlS3OtJ9+jFtrTmuiGs36aV6HyyjKcit71o=", "ips": [ "38.153.115.2" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Montreal", "hostname": "ca-028.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yul-316.windscribe.com", "ips": [ "23.236.161.50", "38.153.115.33" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Montreal", "hostname": "ca-028.whiskergalaxy.com", "wgpubkey": "DxBtB3enAlS3OtJ9+jFtrTmuiGs36aV6HyyjKcit71o=", "ips": [ "38.153.115.34" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Montreal", "hostname": "ca-032.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yul-316.windscribe.com", "ips": [ "23.236.161.210", "38.170.148.1" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Montreal", "hostname": "ca-032.whiskergalaxy.com", "wgpubkey": "DxBtB3enAlS3OtJ9+jFtrTmuiGs36aV6HyyjKcit71o=", "ips": [ "38.170.148.2" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Montreal", "hostname": "ca-050.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yul-359.windscribe.com", "ips": [ "172.98.82.2", "172.98.82.3" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Montreal", "hostname": "ca-050.whiskergalaxy.com", "wgpubkey": "nfFRpFZ0ZXWVoz8C4gP5ti7V1snFT1gV8EcIxTWJtB4=", "ips": [ "172.98.82.4" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Montreal", "hostname": "ca-051.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yul-359.windscribe.com", "ips": [ "172.98.68.194", "172.98.68.195" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Montreal", "hostname": "ca-051.whiskergalaxy.com", "wgpubkey": "nfFRpFZ0ZXWVoz8C4gP5ti7V1snFT1gV8EcIxTWJtB4=", "ips": [ "172.98.68.196" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Montreal", "hostname": "ca-052.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yul-359.windscribe.com", "ips": [ "172.98.68.205", "172.98.68.206" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Montreal", "hostname": "ca-052.whiskergalaxy.com", "wgpubkey": "nfFRpFZ0ZXWVoz8C4gP5ti7V1snFT1gV8EcIxTWJtB4=", "ips": [ "172.98.68.207" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Montreal", "hostname": "ca-053.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yul-359.windscribe.com", "ips": [ "172.98.68.216", "172.98.68.217" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Montreal", "hostname": "ca-053.whiskergalaxy.com", "wgpubkey": "nfFRpFZ0ZXWVoz8C4gP5ti7V1snFT1gV8EcIxTWJtB4=", "ips": [ "172.98.68.218" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Toronto", "hostname": "ca-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yyz-72.windscribe.com", "ips": [ "104.254.92.10", "104.254.92.11" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Toronto", "hostname": "ca-002.whiskergalaxy.com", "wgpubkey": "pKXBuReWe+HfrILovyFzIybA8AVAsFgfDUyo42tLT1g=", "ips": [ "104.254.92.12" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Toronto", "hostname": "ca-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yyz-72.windscribe.com", "ips": [ "104.254.92.90", "104.254.92.91" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Toronto", "hostname": "ca-009.whiskergalaxy.com", "wgpubkey": "pKXBuReWe+HfrILovyFzIybA8AVAsFgfDUyo42tLT1g=", "ips": [ "104.254.92.92" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Toronto", "hostname": "ca-017.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yyz-72.windscribe.com", "ips": [ "184.75.212.90", "184.75.212.91" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Toronto", "hostname": "ca-017.whiskergalaxy.com", "wgpubkey": "pKXBuReWe+HfrILovyFzIybA8AVAsFgfDUyo42tLT1g=", "ips": [ "184.75.212.92" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Toronto", "hostname": "ca-056.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yyz-197.windscribe.com", "ips": [ "149.88.98.65", "149.88.98.66" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Toronto", "hostname": "ca-056.whiskergalaxy.com", "wgpubkey": "U5s7Yy/2fCqlaFcI96dFKupqEVCn+BYF04LRLD1zOhg=", "ips": [ "149.88.98.67" ] }, { "vpn": "openvpn", "region": "Canada East", "city": "Toronto", "hostname": "ca-057.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yyz-197.windscribe.com", "ips": [ "149.88.98.81", "149.88.98.82" ] }, { "vpn": "wireguard", "region": "Canada East", "city": "Toronto", "hostname": "ca-057.whiskergalaxy.com", "wgpubkey": "U5s7Yy/2fCqlaFcI96dFKupqEVCn+BYF04LRLD1zOhg=", "ips": [ "149.88.98.83" ] }, { "vpn": "openvpn", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-017.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yvr-311.windscribe.com", "ips": [ "208.78.41.130", "208.78.41.131" ] }, { "vpn": "wireguard", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-017.whiskergalaxy.com", "wgpubkey": "YxWQDjNmU41PJXtoobFek3Y6nhICSLgsqH+QKPO5AQ8=", "ips": [ "208.78.41.132" ] }, { "vpn": "openvpn", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-019.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yvr-311.windscribe.com", "ips": [ "208.78.41.162", "208.78.41.163" ] }, { "vpn": "wireguard", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-019.whiskergalaxy.com", "wgpubkey": "YxWQDjNmU41PJXtoobFek3Y6nhICSLgsqH+QKPO5AQ8=", "ips": [ "208.78.41.164" ] }, { "vpn": "openvpn", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yvr-311.windscribe.com", "ips": [ "198.8.92.98", "198.8.92.99" ] }, { "vpn": "wireguard", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-020.whiskergalaxy.com", "wgpubkey": "YxWQDjNmU41PJXtoobFek3Y6nhICSLgsqH+QKPO5AQ8=", "ips": [ "198.8.92.100" ] }, { "vpn": "openvpn", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-021.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yvr-124.windscribe.com", "ips": [ "167.88.50.2", "167.88.50.3" ] }, { "vpn": "wireguard", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-021.whiskergalaxy.com", "wgpubkey": "ig1yNm9ck4lesT3MShd4JN7ngvLLDMR+l7Euc88oLzQ=", "ips": [ "167.88.50.4" ] }, { "vpn": "openvpn", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-022.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yvr-124.windscribe.com", "ips": [ "167.88.50.34", "167.88.50.35" ] }, { "vpn": "wireguard", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-022.whiskergalaxy.com", "wgpubkey": "ig1yNm9ck4lesT3MShd4JN7ngvLLDMR+l7Euc88oLzQ=", "ips": [ "167.88.50.36" ] }, { "vpn": "openvpn", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-023.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yvr-187.windscribe.com", "ips": [ "95.173.219.1", "95.173.219.2" ] }, { "vpn": "wireguard", "region": "Canada West", "city": "Vancouver", "hostname": "ca-west-023.whiskergalaxy.com", "wgpubkey": "hHmf2yS/Hjkh6ZJ4seoO5Vwv0LwNlYFTnUK3v9lGvEQ=", "ips": [ "95.173.219.3" ] }, { "vpn": "openvpn", "region": "Chile", "city": "Santiago", "hostname": "cl-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "scl-373.windscribe.com", "ips": [ "149.88.104.225", "149.88.104.226" ] }, { "vpn": "wireguard", "region": "Chile", "city": "Santiago", "hostname": "cl-003.whiskergalaxy.com", "wgpubkey": "md4drvl8I1VnIAIfUnvEQYd8QRUVk7NC3gLE2+Eu20M=", "ips": [ "149.88.104.227" ] }, { "vpn": "openvpn", "region": "Chile", "city": "Santiago", "hostname": "cl-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "scl-373.windscribe.com", "ips": [ "149.88.104.238", "149.88.104.239" ] }, { "vpn": "wireguard", "region": "Chile", "city": "Santiago", "hostname": "cl-004.whiskergalaxy.com", "wgpubkey": "md4drvl8I1VnIAIfUnvEQYd8QRUVk7NC3gLE2+Eu20M=", "ips": [ "149.88.104.240" ] }, { "vpn": "openvpn", "region": "Colombia", "city": "Bogota", "hostname": "co-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bog-360.windscribe.com", "ips": [ "149.88.111.14", "149.88.111.15" ] }, { "vpn": "wireguard", "region": "Colombia", "city": "Bogota", "hostname": "co-003.whiskergalaxy.com", "wgpubkey": "QpdeoH7VxAatKlFm0sPo8phHjv1tiiHdqQaACmzMJjE=", "ips": [ "149.88.111.16" ] }, { "vpn": "openvpn", "region": "Colombia", "city": "Bogota", "hostname": "co-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bog-360.windscribe.com", "ips": [ "149.88.111.1", "149.88.111.2" ] }, { "vpn": "wireguard", "region": "Colombia", "city": "Bogota", "hostname": "co-004.whiskergalaxy.com", "wgpubkey": "QpdeoH7VxAatKlFm0sPo8phHjv1tiiHdqQaACmzMJjE=", "ips": [ "149.88.111.3" ] }, { "vpn": "openvpn", "region": "Croatia", "city": "Zagreb", "hostname": "hr-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zag-252.windscribe.com", "ips": [ "154.47.29.161", "154.47.29.162" ] }, { "vpn": "wireguard", "region": "Croatia", "city": "Zagreb", "hostname": "hr-005.whiskergalaxy.com", "wgpubkey": "aTyGd+x2cPxFdPzi7FfbKc7SG4Rc5VE0c/Tdyd2MdzA=", "ips": [ "154.47.29.163" ] }, { "vpn": "openvpn", "region": "Croatia", "city": "Zagreb", "hostname": "hr-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zag-252.windscribe.com", "ips": [ "154.47.29.174", "154.47.29.175" ] }, { "vpn": "wireguard", "region": "Croatia", "city": "Zagreb", "hostname": "hr-006.whiskergalaxy.com", "wgpubkey": "aTyGd+x2cPxFdPzi7FfbKc7SG4Rc5VE0c/Tdyd2MdzA=", "ips": [ "154.47.29.176" ] }, { "vpn": "openvpn", "region": "Cyprus", "city": "Nicosia", "hostname": "cy-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lca-320.windscribe.com", "ips": [ "46.199.75.105", "46.199.75.106" ] }, { "vpn": "wireguard", "region": "Cyprus", "city": "Nicosia", "hostname": "cy-002.whiskergalaxy.com", "wgpubkey": "90fjr1sq0Hgv2l+DgMaaGQ009SDw7VxmzJwaYmclaFs=", "ips": [ "46.199.75.107" ] }, { "vpn": "openvpn", "region": "Cyprus", "city": "Nicosia", "hostname": "cy-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lca-320.windscribe.com", "ips": [ "46.199.75.100", "46.199.75.101" ] }, { "vpn": "wireguard", "region": "Cyprus", "city": "Nicosia", "hostname": "cy-003.whiskergalaxy.com", "wgpubkey": "90fjr1sq0Hgv2l+DgMaaGQ009SDw7VxmzJwaYmclaFs=", "ips": [ "46.199.75.102" ] }, { "vpn": "openvpn", "region": "Cyprus", "city": "Nicosia", "hostname": "cy-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lca-320.windscribe.com", "ips": [ "85.190.230.21", "85.190.230.22" ] }, { "vpn": "wireguard", "region": "Cyprus", "city": "Nicosia", "hostname": "cy-004.whiskergalaxy.com", "wgpubkey": "90fjr1sq0Hgv2l+DgMaaGQ009SDw7VxmzJwaYmclaFs=", "ips": [ "85.190.230.23" ] }, { "vpn": "openvpn", "region": "Czech Republic", "city": "Prague", "hostname": "cz-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "prg-338.windscribe.com", "ips": [ "185.246.210.1", "185.246.210.2" ] }, { "vpn": "wireguard", "region": "Czech Republic", "city": "Prague", "hostname": "cz-002.whiskergalaxy.com", "wgpubkey": "dAaOzl6DBAuFWC85UJUY378WwEHUoNqbE5lJMDfNamo=", "ips": [ "185.246.210.3" ] }, { "vpn": "openvpn", "region": "Czech Republic", "city": "Prague", "hostname": "cz-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "prg-338.windscribe.com", "ips": [ "149.40.61.225", "149.40.61.226" ] }, { "vpn": "wireguard", "region": "Czech Republic", "city": "Prague", "hostname": "cz-004.whiskergalaxy.com", "wgpubkey": "dAaOzl6DBAuFWC85UJUY378WwEHUoNqbE5lJMDfNamo=", "ips": [ "149.40.61.227" ] }, { "vpn": "openvpn", "region": "Czech Republic", "city": "Prague", "hostname": "cz-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "prg-338.windscribe.com", "ips": [ "149.40.61.193", "149.40.61.194" ] }, { "vpn": "wireguard", "region": "Czech Republic", "city": "Prague", "hostname": "cz-006.whiskergalaxy.com", "wgpubkey": "dAaOzl6DBAuFWC85UJUY378WwEHUoNqbE5lJMDfNamo=", "ips": [ "149.40.61.195" ] }, { "vpn": "openvpn", "region": "Czech Republic", "city": "Prague", "hostname": "cz-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "prg-88.windscribe.com", "ips": [ "185.216.35.66", "185.216.35.67" ] }, { "vpn": "wireguard", "region": "Czech Republic", "city": "Prague", "hostname": "cz-007.whiskergalaxy.com", "wgpubkey": "a599bjD8WzXg94xH1DfGBxW8yJ64EXMZq18elEfAwyk=", "ips": [ "185.216.35.68" ] }, { "vpn": "openvpn", "region": "Czech Republic", "city": "Prague", "hostname": "cz-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "prg-88.windscribe.com", "ips": [ "185.216.35.130", "185.216.35.131" ] }, { "vpn": "wireguard", "region": "Czech Republic", "city": "Prague", "hostname": "cz-008.whiskergalaxy.com", "wgpubkey": "a599bjD8WzXg94xH1DfGBxW8yJ64EXMZq18elEfAwyk=", "ips": [ "185.216.35.132" ] }, { "vpn": "openvpn", "region": "Denmark", "city": "Copenhagen", "hostname": "dk-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cph-153.windscribe.com", "ips": [ "185.245.84.34", "185.245.84.35" ] }, { "vpn": "wireguard", "region": "Denmark", "city": "Copenhagen", "hostname": "dk-005.whiskergalaxy.com", "wgpubkey": "QgQ3dPssF5IGZczLNP1KKbkohpIu/GCYBdi6ecuoqwU=", "ips": [ "185.245.84.36" ] }, { "vpn": "openvpn", "region": "Denmark", "city": "Copenhagen", "hostname": "dk-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cph-153.windscribe.com", "ips": [ "185.245.84.50", "185.245.84.51" ] }, { "vpn": "wireguard", "region": "Denmark", "city": "Copenhagen", "hostname": "dk-006.whiskergalaxy.com", "wgpubkey": "QgQ3dPssF5IGZczLNP1KKbkohpIu/GCYBdi6ecuoqwU=", "ips": [ "185.245.84.52" ] }, { "vpn": "openvpn", "region": "Ecuador", "city": "Quito", "hostname": "ec-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "uio-385.windscribe.com", "ips": [ "179.49.5.122", "179.49.5.123" ] }, { "vpn": "wireguard", "region": "Ecuador", "city": "Quito", "hostname": "ec-002.whiskergalaxy.com", "wgpubkey": "nwpvJ7AtDjk77dpyL7qKkvwsWQL82Fqy3JEk/KR/iGw=", "ips": [ "179.49.5.124" ] }, { "vpn": "openvpn", "region": "Estonia", "city": "Tallinn", "hostname": "ee-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tll-299.windscribe.com", "ips": [ "165.231.141.122", "165.231.141.123" ] }, { "vpn": "wireguard", "region": "Estonia", "city": "Tallinn", "hostname": "ee-006.whiskergalaxy.com", "wgpubkey": "FoZuoiJqIy/0h7Jv+7Jli4E49KFv0riLg1eVaI7j6X8=", "ips": [ "165.231.141.124" ] }, { "vpn": "openvpn", "region": "Estonia", "city": "Tallinn", "hostname": "ee-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tll-299.windscribe.com", "ips": [ "165.231.141.130", "165.231.141.131" ] }, { "vpn": "wireguard", "region": "Estonia", "city": "Tallinn", "hostname": "ee-007.whiskergalaxy.com", "wgpubkey": "FoZuoiJqIy/0h7Jv+7Jli4E49KFv0riLg1eVaI7j6X8=", "ips": [ "165.231.141.132" ] }, { "vpn": "openvpn", "region": "Estonia", "city": "Tallinn", "hostname": "ee-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tll-299.windscribe.com", "ips": [ "165.231.141.138", "165.231.141.139" ] }, { "vpn": "wireguard", "region": "Estonia", "city": "Tallinn", "hostname": "ee-008.whiskergalaxy.com", "wgpubkey": "FoZuoiJqIy/0h7Jv+7Jli4E49KFv0riLg1eVaI7j6X8=", "ips": [ "165.231.141.140" ] }, { "vpn": "openvpn", "region": "Estonia", "city": "Tallinn", "hostname": "ee-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tll-299.windscribe.com", "ips": [ "165.231.141.74", "196.196.122.227" ] }, { "vpn": "wireguard", "region": "Estonia", "city": "Tallinn", "hostname": "ee-009.whiskergalaxy.com", "wgpubkey": "FoZuoiJqIy/0h7Jv+7Jli4E49KFv0riLg1eVaI7j6X8=", "ips": [ "196.196.122.228" ] }, { "vpn": "openvpn", "region": "Fake Antarctica", "city": "Troll", "hostname": "aq-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfr-332.windscribe.com", "ips": [ "149.57.28.8", "149.57.28.225" ] }, { "vpn": "wireguard", "region": "Fake Antarctica", "city": "Troll", "hostname": "aq-001.whiskergalaxy.com", "wgpubkey": "vwimooPysZvNdJULeFQVovYfqhsLG5gVdzgoTnfm+iE=", "ips": [ "149.57.28.226" ] }, { "vpn": "openvpn", "region": "Fake Antarctica", "city": "Troll", "hostname": "aq-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfr-332.windscribe.com", "ips": [ "149.57.28.9", "149.57.28.241" ] }, { "vpn": "wireguard", "region": "Fake Antarctica", "city": "Troll", "hostname": "aq-002.whiskergalaxy.com", "wgpubkey": "vwimooPysZvNdJULeFQVovYfqhsLG5gVdzgoTnfm+iE=", "ips": [ "149.57.28.242" ] }, { "vpn": "openvpn", "region": "Fake Antarctica", "city": "Troll", "hostname": "aq-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfr-332.windscribe.com", "ips": [ "181.215.52.192", "181.215.52.193" ] }, { "vpn": "wireguard", "region": "Fake Antarctica", "city": "Troll", "hostname": "aq-003.whiskergalaxy.com", "wgpubkey": "vwimooPysZvNdJULeFQVovYfqhsLG5gVdzgoTnfm+iE=", "ips": [ "181.215.52.194" ] }, { "vpn": "openvpn", "region": "Finland", "city": "Helsinki", "hostname": "fi-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hel-98.windscribe.com", "ips": [ "196.244.192.202", "196.244.192.203" ] }, { "vpn": "wireguard", "region": "Finland", "city": "Helsinki", "hostname": "fi-006.whiskergalaxy.com", "wgpubkey": "2LiGGjfWP64d7uVNpgV8n/lIg2iM62iz8ZXRHFd1Qw0=", "ips": [ "196.244.192.204" ] }, { "vpn": "openvpn", "region": "Finland", "city": "Helsinki", "hostname": "fi-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hel-186.windscribe.com", "ips": [ "193.161.204.22", "193.161.204.23" ] }, { "vpn": "wireguard", "region": "Finland", "city": "Helsinki", "hostname": "fi-007.whiskergalaxy.com", "wgpubkey": "Z3Nfo50Hl0+A96/RXWGV2HPl5rJGsk2unuD1accZPWQ=", "ips": [ "193.161.204.24" ] }, { "vpn": "openvpn", "region": "Finland", "city": "Helsinki", "hostname": "fi-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hel-186.windscribe.com", "ips": [ "185.212.149.49", "185.212.149.50" ] }, { "vpn": "wireguard", "region": "Finland", "city": "Helsinki", "hostname": "fi-008.whiskergalaxy.com", "wgpubkey": "Z3Nfo50Hl0+A96/RXWGV2HPl5rJGsk2unuD1accZPWQ=", "ips": [ "185.212.149.51" ] }, { "vpn": "openvpn", "region": "Finland", "city": "Helsinki", "hostname": "fi-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hel-98.windscribe.com", "ips": [ "196.244.194.2", "196.244.194.3" ] }, { "vpn": "wireguard", "region": "Finland", "city": "Helsinki", "hostname": "fi-009.whiskergalaxy.com", "wgpubkey": "2LiGGjfWP64d7uVNpgV8n/lIg2iM62iz8ZXRHFd1Qw0=", "ips": [ "196.244.194.4" ] }, { "vpn": "openvpn", "region": "France", "city": "Marseille", "hostname": "fr-024.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mrs-411.windscribe.com", "ips": [ "149.102.245.65", "149.102.245.66" ] }, { "vpn": "wireguard", "region": "France", "city": "Marseille", "hostname": "fr-024.whiskergalaxy.com", "wgpubkey": "Cqqx4g+EJG8C+CGRA/WCeMH7pixp9jLSXuadJCDPZ2g=", "ips": [ "149.102.245.67" ] }, { "vpn": "openvpn", "region": "France", "city": "Paris", "hostname": "fr-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cdg-342.windscribe.com", "ips": [ "84.17.42.33", "84.17.42.37" ] }, { "vpn": "wireguard", "region": "France", "city": "Paris", "hostname": "fr-008.whiskergalaxy.com", "wgpubkey": "cmaT8JIehfRf5PWWDkcBRwLWDb3jrIkk/SDbw4JmUAc=", "ips": [ "84.17.42.35" ] }, { "vpn": "openvpn", "region": "France", "city": "Paris", "hostname": "fr-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cdg-342.windscribe.com", "ips": [ "84.17.42.1", "84.17.42.2" ] }, { "vpn": "wireguard", "region": "France", "city": "Paris", "hostname": "fr-009.whiskergalaxy.com", "wgpubkey": "cmaT8JIehfRf5PWWDkcBRwLWDb3jrIkk/SDbw4JmUAc=", "ips": [ "84.17.42.3" ] }, { "vpn": "openvpn", "region": "France", "city": "Paris", "hostname": "fr-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cdg-103.windscribe.com", "ips": [ "45.89.174.34", "45.89.174.35" ] }, { "vpn": "wireguard", "region": "France", "city": "Paris", "hostname": "fr-011.whiskergalaxy.com", "wgpubkey": "3si2nD1DKbbkeZkdg3hLMfOYw1gdKbVFtTOj2NOA+nM=", "ips": [ "45.89.174.36" ] }, { "vpn": "openvpn", "region": "France", "city": "Paris", "hostname": "fr-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cdg-103.windscribe.com", "ips": [ "188.241.83.66", "188.241.83.67" ] }, { "vpn": "wireguard", "region": "France", "city": "Paris", "hostname": "fr-012.whiskergalaxy.com", "wgpubkey": "3si2nD1DKbbkeZkdg3hLMfOYw1gdKbVFtTOj2NOA+nM=", "ips": [ "188.241.83.68" ] }, { "vpn": "openvpn", "region": "France", "city": "Paris", "hostname": "fr-016.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cdg-342.windscribe.com", "ips": [ "138.199.47.220", "138.199.47.221" ] }, { "vpn": "wireguard", "region": "France", "city": "Paris", "hostname": "fr-016.whiskergalaxy.com", "wgpubkey": "cmaT8JIehfRf5PWWDkcBRwLWDb3jrIkk/SDbw4JmUAc=", "ips": [ "138.199.47.222" ] }, { "vpn": "openvpn", "region": "France", "city": "Paris", "hostname": "fr-021.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cdg-103.windscribe.com", "ips": [ "146.70.105.2", "146.70.105.3" ] }, { "vpn": "wireguard", "region": "France", "city": "Paris", "hostname": "fr-021.whiskergalaxy.com", "wgpubkey": "3si2nD1DKbbkeZkdg3hLMfOYw1gdKbVFtTOj2NOA+nM=", "ips": [ "146.70.105.4" ] }, { "vpn": "openvpn", "region": "France", "city": "Paris", "hostname": "fr-022.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cdg-103.windscribe.com", "ips": [ "146.70.105.34", "146.70.105.35" ] }, { "vpn": "wireguard", "region": "France", "city": "Paris", "hostname": "fr-022.whiskergalaxy.com", "wgpubkey": "3si2nD1DKbbkeZkdg3hLMfOYw1gdKbVFtTOj2NOA+nM=", "ips": [ "146.70.105.36" ] }, { "vpn": "openvpn", "region": "Georgia", "city": "Tbilisi", "hostname": "ge-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tbs-387.windscribe.com", "ips": [ "195.54.178.210", "195.54.178.211" ] }, { "vpn": "wireguard", "region": "Georgia", "city": "Tbilisi", "hostname": "ge-002.whiskergalaxy.com", "wgpubkey": "Jntc7e8Zxk9vNvq2dbOOwyoXsB9nybUMF1LRdCZZgWk=", "ips": [ "195.54.178.212" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-113.windscribe.com", "ips": [ "45.87.212.50", "45.87.212.51" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-012.whiskergalaxy.com", "wgpubkey": "e1kA4Tn1REdBHHo3BZsApwhCybD+VpGQ9FoUxUq4mzY=", "ips": [ "45.87.212.52" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-113.windscribe.com", "ips": [ "45.87.212.66", "45.87.212.67" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-013.whiskergalaxy.com", "wgpubkey": "e1kA4Tn1REdBHHo3BZsApwhCybD+VpGQ9FoUxUq4mzY=", "ips": [ "45.87.212.68" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-014.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-113.windscribe.com", "ips": [ "193.27.14.178", "193.27.14.179" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-014.whiskergalaxy.com", "wgpubkey": "e1kA4Tn1REdBHHo3BZsApwhCybD+VpGQ9FoUxUq4mzY=", "ips": [ "193.27.14.180" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-017.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-113.windscribe.com", "ips": [ "45.87.212.82", "45.87.212.83" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-017.whiskergalaxy.com", "wgpubkey": "e1kA4Tn1REdBHHo3BZsApwhCybD+VpGQ9FoUxUq4mzY=", "ips": [ "45.87.212.84" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-018.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-113.windscribe.com", "ips": [ "146.70.101.34", "146.70.101.35" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-018.whiskergalaxy.com", "wgpubkey": "e1kA4Tn1REdBHHo3BZsApwhCybD+VpGQ9FoUxUq4mzY=", "ips": [ "146.70.101.36" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-228.windscribe.com", "ips": [ "87.249.132.196", "87.249.132.197" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-020.whiskergalaxy.com", "wgpubkey": "QgKUjSTh1LGfLqcM1UAzIjTIviacHG+auN3PEXRhZkM=", "ips": [ "87.249.132.198" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-026.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-113.windscribe.com", "ips": [ "146.70.107.2", "146.70.107.3" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-026.whiskergalaxy.com", "wgpubkey": "e1kA4Tn1REdBHHo3BZsApwhCybD+VpGQ9FoUxUq4mzY=", "ips": [ "146.70.107.4" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-032.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-228.windscribe.com", "ips": [ "149.36.50.129", "149.36.50.130" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-032.whiskergalaxy.com", "wgpubkey": "QgKUjSTh1LGfLqcM1UAzIjTIviacHG+auN3PEXRhZkM=", "ips": [ "149.36.50.131" ] }, { "vpn": "openvpn", "region": "Germany", "city": "Frankfurt", "hostname": "de-033.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fra-228.windscribe.com", "ips": [ "87.249.132.97", "87.249.132.98" ] }, { "vpn": "wireguard", "region": "Germany", "city": "Frankfurt", "hostname": "de-033.whiskergalaxy.com", "wgpubkey": "QgKUjSTh1LGfLqcM1UAzIjTIviacHG+auN3PEXRhZkM=", "ips": [ "87.249.132.99" ] }, { "vpn": "openvpn", "region": "Ghana", "city": "Accra", "hostname": "gh-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "acc-394.windscribe.com", "ips": [ "169.255.56.202", "169.255.56.203" ] }, { "vpn": "wireguard", "region": "Ghana", "city": "Accra", "hostname": "gh-001.whiskergalaxy.com", "wgpubkey": "+ZYeVrDMZ+7Kpewr4IL/jRRpb2x3pjky+xwkY1wiUjM=", "ips": [ "169.255.56.204" ] }, { "vpn": "openvpn", "region": "Greece", "city": "Athens", "hostname": "gr-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ath-247.windscribe.com", "ips": [ "149.22.85.65", "149.22.85.66" ] }, { "vpn": "wireguard", "region": "Greece", "city": "Athens", "hostname": "gr-009.whiskergalaxy.com", "wgpubkey": "abAIyZlBkims+My2pZVgkY2Z83JskM7w4LLUIEjcgmQ=", "ips": [ "149.22.85.67" ] }, { "vpn": "openvpn", "region": "Greece", "city": "Athens", "hostname": "gr-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ath-247.windscribe.com", "ips": [ "149.22.85.78", "149.22.85.79" ] }, { "vpn": "wireguard", "region": "Greece", "city": "Athens", "hostname": "gr-010.whiskergalaxy.com", "wgpubkey": "abAIyZlBkims+My2pZVgkY2Z83JskM7w4LLUIEjcgmQ=", "ips": [ "149.22.85.80" ] }, { "vpn": "openvpn", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hkg-189.windscribe.com", "ips": [ "84.17.57.113", "84.17.57.114" ] }, { "vpn": "wireguard", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-006.whiskergalaxy.com", "wgpubkey": "zi62xnrtbvAbaavB8MLoTF36BX/stxjfnGJ6mIsZYzg=", "ips": [ "84.17.57.115" ] }, { "vpn": "openvpn", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hkg-189.windscribe.com", "ips": [ "149.40.54.129", "149.40.54.130" ] }, { "vpn": "wireguard", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-010.whiskergalaxy.com", "wgpubkey": "zi62xnrtbvAbaavB8MLoTF36BX/stxjfnGJ6mIsZYzg=", "ips": [ "149.40.54.131" ] }, { "vpn": "openvpn", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hkg-26.windscribe.com", "ips": [ "146.70.9.226", "146.70.9.227" ] }, { "vpn": "wireguard", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-013.whiskergalaxy.com", "wgpubkey": "wfSHdnVIT/SlLwKCz+QWTs0ZIPRtYd2NKpMXDPe7sWk=", "ips": [ "146.70.9.228" ] }, { "vpn": "openvpn", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hkg-26.windscribe.com", "ips": [ "146.70.9.242", "146.70.9.243" ] }, { "vpn": "wireguard", "region": "Hong Kong", "city": "Hong Kong", "hostname": "hk-015.whiskergalaxy.com", "wgpubkey": "wfSHdnVIT/SlLwKCz+QWTs0ZIPRtYd2NKpMXDPe7sWk=", "ips": [ "146.70.9.244" ] }, { "vpn": "openvpn", "region": "Hungary", "city": "Budapest", "hostname": "hu-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bud-90.windscribe.com", "ips": [ "146.70.120.130", "146.70.120.131" ] }, { "vpn": "wireguard", "region": "Hungary", "city": "Budapest", "hostname": "hu-003.whiskergalaxy.com", "wgpubkey": "ENe619amvJuPmyAtuLnGziKl1Yr1n3SoXgHrmosbRhk=", "ips": [ "146.70.120.132" ] }, { "vpn": "openvpn", "region": "Hungary", "city": "Budapest", "hostname": "hu-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bud-90.windscribe.com", "ips": [ "146.70.203.18", "146.70.203.19" ] }, { "vpn": "wireguard", "region": "Hungary", "city": "Budapest", "hostname": "hu-004.whiskergalaxy.com", "wgpubkey": "ENe619amvJuPmyAtuLnGziKl1Yr1n3SoXgHrmosbRhk=", "ips": [ "146.70.203.20" ] }, { "vpn": "openvpn", "region": "Iceland", "city": "Reykjavik", "hostname": "is-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kef-344.windscribe.com", "ips": [ "185.165.170.1", "185.165.170.2" ] }, { "vpn": "wireguard", "region": "Iceland", "city": "Reykjavik", "hostname": "is-002.whiskergalaxy.com", "wgpubkey": "ua7TUXkcSiiHeTyCok5b3PX9DkJ4l5yVvGlSmJ34WU8=", "ips": [ "185.165.170.3" ] }, { "vpn": "openvpn", "region": "Iceland", "city": "Reykjavik", "hostname": "is-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kef-121.windscribe.com", "ips": [ "45.133.192.194", "45.133.192.195" ] }, { "vpn": "wireguard", "region": "Iceland", "city": "Reykjavik", "hostname": "is-003.whiskergalaxy.com", "wgpubkey": "8ZGAQUv1E/9pfVmPwasDo4g69PlAHIzlUf5pAmCJ7hk=", "ips": [ "45.133.192.196" ] }, { "vpn": "openvpn", "region": "India", "city": "Mumbai", "hostname": "in-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bom-372.windscribe.com", "ips": [ "165.231.253.210", "165.231.253.211" ] }, { "vpn": "wireguard", "region": "India", "city": "Mumbai", "hostname": "in-009.whiskergalaxy.com", "wgpubkey": "zyGN4Q1r+3C7OVg7cQEf3Wq1Ts+oXlBVGPPp3r+wnCM=", "ips": [ "165.231.253.212" ] }, { "vpn": "openvpn", "region": "India", "city": "Mumbai", "hostname": "in-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bom-372.windscribe.com", "ips": [ "165.231.253.242", "165.231.253.243" ] }, { "vpn": "wireguard", "region": "India", "city": "Mumbai", "hostname": "in-010.whiskergalaxy.com", "wgpubkey": "zyGN4Q1r+3C7OVg7cQEf3Wq1Ts+oXlBVGPPp3r+wnCM=", "ips": [ "165.231.253.244" ] }, { "vpn": "openvpn", "region": "India", "city": "Mumbai", "hostname": "in-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bom-372.windscribe.com", "ips": [ "165.231.253.66", "165.231.253.67" ] }, { "vpn": "wireguard", "region": "India", "city": "Mumbai", "hostname": "in-012.whiskergalaxy.com", "wgpubkey": "zyGN4Q1r+3C7OVg7cQEf3Wq1Ts+oXlBVGPPp3r+wnCM=", "ips": [ "165.231.253.68" ] }, { "vpn": "openvpn", "region": "India", "city": "Mumbai", "hostname": "in-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bom-372.windscribe.com", "ips": [ "196.240.60.66", "196.240.60.67" ] }, { "vpn": "wireguard", "region": "India", "city": "Mumbai", "hostname": "in-013.whiskergalaxy.com", "wgpubkey": "zyGN4Q1r+3C7OVg7cQEf3Wq1Ts+oXlBVGPPp3r+wnCM=", "ips": [ "196.240.60.68" ] }, { "vpn": "openvpn", "region": "India", "city": "New Delhi", "hostname": "in-014.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "del-417.windscribe.com", "ips": [ "103.26.207.55", "103.26.207.109" ] }, { "vpn": "wireguard", "region": "India", "city": "New Delhi", "hostname": "in-014.whiskergalaxy.com", "wgpubkey": "Ve/vQfFTt4NRr0RWG0muS7Gv0SpqaLdsk16mj33GUXA=", "ips": [ "103.26.207.110" ] }, { "vpn": "openvpn", "region": "India", "city": "New Delhi", "hostname": "in-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "del-417.windscribe.com", "ips": [ "103.26.207.94", "103.26.207.213" ] }, { "vpn": "wireguard", "region": "India", "city": "New Delhi", "hostname": "in-015.whiskergalaxy.com", "wgpubkey": "Ve/vQfFTt4NRr0RWG0muS7Gv0SpqaLdsk16mj33GUXA=", "ips": [ "103.26.207.214" ] }, { "vpn": "openvpn", "region": "Indonesia", "city": "Jakarta", "hostname": "id-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cgk-391.windscribe.com", "ips": [ "202.74.239.10", "202.74.239.11" ] }, { "vpn": "wireguard", "region": "Indonesia", "city": "Jakarta", "hostname": "id-007.whiskergalaxy.com", "wgpubkey": "g4dIl4jA8VB8aUNWW3EgABrge+TnaAwHxM7flakbZH8=", "ips": [ "202.74.239.12" ] }, { "vpn": "openvpn", "region": "Indonesia", "city": "Jakarta", "hostname": "id-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cgk-391.windscribe.com", "ips": [ "202.74.239.90", "202.74.239.91" ] }, { "vpn": "wireguard", "region": "Indonesia", "city": "Jakarta", "hostname": "id-008.whiskergalaxy.com", "wgpubkey": "g4dIl4jA8VB8aUNWW3EgABrge+TnaAwHxM7flakbZH8=", "ips": [ "202.74.239.92" ] }, { "vpn": "openvpn", "region": "Indonesia", "city": "Jakarta", "hostname": "id-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cgk-416.windscribe.com", "ips": [ "103.87.68.50", "103.87.68.51" ] }, { "vpn": "wireguard", "region": "Indonesia", "city": "Jakarta", "hostname": "id-009.whiskergalaxy.com", "wgpubkey": "n+cx0HnDtLEjiK8TzHH2qhuBKKZvt1iWU/e0ba0jyRE=", "ips": [ "103.87.68.52" ] }, { "vpn": "openvpn", "region": "Indonesia", "city": "Jakarta", "hostname": "id-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cgk-416.windscribe.com", "ips": [ "103.87.68.146", "103.87.68.147" ] }, { "vpn": "wireguard", "region": "Indonesia", "city": "Jakarta", "hostname": "id-010.whiskergalaxy.com", "wgpubkey": "n+cx0HnDtLEjiK8TzHH2qhuBKKZvt1iWU/e0ba0jyRE=", "ips": [ "103.87.68.148" ] }, { "vpn": "openvpn", "region": "Ireland", "city": "Dublin", "hostname": "ie-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dub-370.windscribe.com", "ips": [ "23.92.127.34", "23.92.127.35" ] }, { "vpn": "wireguard", "region": "Ireland", "city": "Dublin", "hostname": "ie-003.whiskergalaxy.com", "wgpubkey": "VgzE+XeQUxX54wMZdhRBU4Qxqba95iVpXi197ZbBBgA=", "ips": [ "23.92.127.36" ] }, { "vpn": "openvpn", "region": "Ireland", "city": "Dublin", "hostname": "ie-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dub-370.windscribe.com", "ips": [ "5.157.13.146", "5.157.13.147" ] }, { "vpn": "wireguard", "region": "Ireland", "city": "Dublin", "hostname": "ie-004.whiskergalaxy.com", "wgpubkey": "VgzE+XeQUxX54wMZdhRBU4Qxqba95iVpXi197ZbBBgA=", "ips": [ "5.157.13.148" ] }, { "vpn": "openvpn", "region": "Ireland", "city": "Dublin", "hostname": "ie-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dub-73.windscribe.com", "ips": [ "185.104.217.66", "185.104.217.67" ] }, { "vpn": "wireguard", "region": "Ireland", "city": "Dublin", "hostname": "ie-008.whiskergalaxy.com", "wgpubkey": "7V00BhJ4cAxsJmU8mEXbdUU5wljw67fGKs1oDhUYtl8=", "ips": [ "185.104.217.68" ] }, { "vpn": "openvpn", "region": "Ireland", "city": "Dublin", "hostname": "ie-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dub-400.windscribe.com", "ips": [ "149.88.96.12", "149.88.96.13" ] }, { "vpn": "wireguard", "region": "Ireland", "city": "Dublin", "hostname": "ie-010.whiskergalaxy.com", "wgpubkey": "yRHO50Kvdoa4Xkf9qRxHZQGwiTbqYPzLHQVbLmKS2SE=", "ips": [ "149.88.96.14" ] }, { "vpn": "openvpn", "region": "Ireland", "city": "Dublin", "hostname": "ie-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dub-400.windscribe.com", "ips": [ "149.88.96.1", "149.88.96.2" ] }, { "vpn": "wireguard", "region": "Ireland", "city": "Dublin", "hostname": "ie-011.whiskergalaxy.com", "wgpubkey": "yRHO50Kvdoa4Xkf9qRxHZQGwiTbqYPzLHQVbLmKS2SE=", "ips": [ "149.88.96.3" ] }, { "vpn": "openvpn", "region": "Israel", "city": "Ashdod", "hostname": "il-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tlv-218.windscribe.com", "ips": [ "185.191.205.2", "185.191.205.3" ] }, { "vpn": "wireguard", "region": "Israel", "city": "Ashdod", "hostname": "il-005.whiskergalaxy.com", "wgpubkey": "2tyuu2HcOljr/wndoswy2Vk9gqXgjaP/IRg3vXoqFig=", "ips": [ "185.191.205.4" ] }, { "vpn": "openvpn", "region": "Israel", "city": "Ashdod", "hostname": "il-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tlv-218.windscribe.com", "ips": [ "185.191.204.98", "185.191.204.99" ] }, { "vpn": "wireguard", "region": "Israel", "city": "Ashdod", "hostname": "il-006.whiskergalaxy.com", "wgpubkey": "2tyuu2HcOljr/wndoswy2Vk9gqXgjaP/IRg3vXoqFig=", "ips": [ "185.191.204.100" ] }, { "vpn": "openvpn", "region": "Italy", "city": "Milan", "hostname": "it-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mxp-318.windscribe.com", "ips": [ "84.17.59.65", "84.17.59.66" ] }, { "vpn": "wireguard", "region": "Italy", "city": "Milan", "hostname": "it-004.whiskergalaxy.com", "wgpubkey": "QI+u918O4tyAtoV37B6HVdiQeZoEUi0dWXhSsC3LiWQ=", "ips": [ "84.17.59.67" ] }, { "vpn": "openvpn", "region": "Italy", "city": "Milan", "hostname": "it-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mxp-318.windscribe.com", "ips": [ "149.102.237.33", "149.102.237.34" ] }, { "vpn": "wireguard", "region": "Italy", "city": "Milan", "hostname": "it-008.whiskergalaxy.com", "wgpubkey": "QI+u918O4tyAtoV37B6HVdiQeZoEUi0dWXhSsC3LiWQ=", "ips": [ "149.102.237.35" ] }, { "vpn": "openvpn", "region": "Italy", "city": "Milan", "hostname": "it-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mxp-110.windscribe.com", "ips": [ "185.183.105.130", "185.183.105.131" ] }, { "vpn": "wireguard", "region": "Italy", "city": "Milan", "hostname": "it-009.whiskergalaxy.com", "wgpubkey": "PG6oqmH+m3JPVRBjfkbBlI/72noVZ8KrnSRq7GuGink=", "ips": [ "185.183.105.132" ] }, { "vpn": "openvpn", "region": "Italy", "city": "Milan", "hostname": "it-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mxp-110.windscribe.com", "ips": [ "185.183.105.146", "185.183.105.147" ] }, { "vpn": "wireguard", "region": "Italy", "city": "Milan", "hostname": "it-010.whiskergalaxy.com", "wgpubkey": "PG6oqmH+m3JPVRBjfkbBlI/72noVZ8KrnSRq7GuGink=", "ips": [ "185.183.105.148" ] }, { "vpn": "openvpn", "region": "Italy", "city": "Rome", "hostname": "it-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fco-238.windscribe.com", "ips": [ "82.102.26.18", "82.102.26.19" ] }, { "vpn": "wireguard", "region": "Italy", "city": "Rome", "hostname": "it-011.whiskergalaxy.com", "wgpubkey": "CfcxKJFjdKn/idQ/QadOCGHLpcLOLDXr0H+AtA1EqUg=", "ips": [ "82.102.26.20" ] }, { "vpn": "openvpn", "region": "Italy", "city": "Rome", "hostname": "it-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "fco-238.windscribe.com", "ips": [ "82.102.26.50", "82.102.26.51" ] }, { "vpn": "wireguard", "region": "Italy", "city": "Rome", "hostname": "it-012.whiskergalaxy.com", "wgpubkey": "CfcxKJFjdKn/idQ/QadOCGHLpcLOLDXr0H+AtA1EqUg=", "ips": [ "82.102.26.52" ] }, { "vpn": "openvpn", "region": "Japan", "city": "Tokyo", "hostname": "jp-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hnd-148.windscribe.com", "ips": [ "138.199.22.161", "138.199.22.162" ] }, { "vpn": "wireguard", "region": "Japan", "city": "Tokyo", "hostname": "jp-006.whiskergalaxy.com", "wgpubkey": "8n68GM7n6dm6Hj3RIIh5q1q6Un52Cq82LYEXHRAtPg4=", "ips": [ "138.199.22.163" ] }, { "vpn": "openvpn", "region": "Japan", "city": "Tokyo", "hostname": "jp-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hnd-148.windscribe.com", "ips": [ "143.244.40.225", "143.244.40.226" ] }, { "vpn": "wireguard", "region": "Japan", "city": "Tokyo", "hostname": "jp-007.whiskergalaxy.com", "wgpubkey": "8n68GM7n6dm6Hj3RIIh5q1q6Un52Cq82LYEXHRAtPg4=", "ips": [ "143.244.40.227" ] }, { "vpn": "openvpn", "region": "Japan", "city": "Tokyo", "hostname": "jp-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hnd-287.windscribe.com", "ips": [ "37.120.210.66", "37.120.210.67" ] }, { "vpn": "wireguard", "region": "Japan", "city": "Tokyo", "hostname": "jp-009.whiskergalaxy.com", "wgpubkey": "X6LjCVZ41wLoSbWWZpFET+Ejw0VsGuvJ5utU/l3rKl4=", "ips": [ "37.120.210.68" ] }, { "vpn": "openvpn", "region": "Japan", "city": "Tokyo", "hostname": "jp-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hnd-287.windscribe.com", "ips": [ "37.120.210.146", "37.120.210.147" ] }, { "vpn": "wireguard", "region": "Japan", "city": "Tokyo", "hostname": "jp-010.whiskergalaxy.com", "wgpubkey": "X6LjCVZ41wLoSbWWZpFET+Ejw0VsGuvJ5utU/l3rKl4=", "ips": [ "37.120.210.148" ] }, { "vpn": "openvpn", "region": "Kenya", "city": "Nairobi", "hostname": "ke-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "nbo-389.windscribe.com", "ips": [ "45.138.86.226", "45.138.86.227" ] }, { "vpn": "wireguard", "region": "Kenya", "city": "Nairobi", "hostname": "ke-001.whiskergalaxy.com", "wgpubkey": "S/qPJPWnfwfb1pWIcKN8FH71j5dFt9eH2KbEeU1+QlE=", "ips": [ "45.138.86.228" ] }, { "vpn": "openvpn", "region": "Latvia", "city": "Riga", "hostname": "lv-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "rix-398.windscribe.com", "ips": [ "185.145.245.88", "185.145.245.96" ] }, { "vpn": "wireguard", "region": "Latvia", "city": "Riga", "hostname": "lv-011.whiskergalaxy.com", "wgpubkey": "Him1/R5t9kASh5ic+MaTmGUlL6ryE/VM4SJNlq6dIyk=", "ips": [ "185.145.245.98" ] }, { "vpn": "openvpn", "region": "Latvia", "city": "Riga", "hostname": "lv-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "rix-398.windscribe.com", "ips": [ "185.145.245.89", "185.145.245.97" ] }, { "vpn": "wireguard", "region": "Latvia", "city": "Riga", "hostname": "lv-012.whiskergalaxy.com", "wgpubkey": "Him1/R5t9kASh5ic+MaTmGUlL6ryE/VM4SJNlq6dIyk=", "ips": [ "185.145.245.99" ] }, { "vpn": "openvpn", "region": "Latvia", "city": "Riga", "hostname": "lv-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "rix-254.windscribe.com", "ips": [ "109.248.147.66", "109.248.147.67" ] }, { "vpn": "wireguard", "region": "Latvia", "city": "Riga", "hostname": "lv-013.whiskergalaxy.com", "wgpubkey": "hcn+JR0QAhhUVVRND5Djq35caGmBEGlcp4MX/xlm6HE=", "ips": [ "109.248.147.68" ] }, { "vpn": "openvpn", "region": "Latvia", "city": "Riga", "hostname": "lv-014.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "rix-254.windscribe.com", "ips": [ "109.248.149.34", "109.248.149.35" ] }, { "vpn": "wireguard", "region": "Latvia", "city": "Riga", "hostname": "lv-014.whiskergalaxy.com", "wgpubkey": "hcn+JR0QAhhUVVRND5Djq35caGmBEGlcp4MX/xlm6HE=", "ips": [ "109.248.149.36" ] }, { "vpn": "openvpn", "region": "Lithuania", "city": "Vilnius", "hostname": "lt-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "vno-378.windscribe.com", "ips": [ "37.156.216.146", "37.156.216.147" ] }, { "vpn": "wireguard", "region": "Lithuania", "city": "Vilnius", "hostname": "lt-004.whiskergalaxy.com", "wgpubkey": "0CUpqMsVggxsjvdZewCsBFsw84goCitq0G9nytQhpDw=", "ips": [ "37.156.216.148" ] }, { "vpn": "openvpn", "region": "Lithuania", "city": "Vilnius", "hostname": "lt-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "vno-378.windscribe.com", "ips": [ "37.156.216.130", "37.156.216.131" ] }, { "vpn": "wireguard", "region": "Lithuania", "city": "Vilnius", "hostname": "lt-005.whiskergalaxy.com", "wgpubkey": "0CUpqMsVggxsjvdZewCsBFsw84goCitq0G9nytQhpDw=", "ips": [ "37.156.216.132" ] }, { "vpn": "openvpn", "region": "Luxembourg", "city": "Luxembourg", "hostname": "lu-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lux-152.windscribe.com", "ips": [ "185.221.132.242", "185.221.132.243" ] }, { "vpn": "wireguard", "region": "Luxembourg", "city": "Luxembourg", "hostname": "lu-006.whiskergalaxy.com", "wgpubkey": "BzMLell5uUM/d9aNGaGMog+GFH36s4dFO0WuQ6/VxCg=", "ips": [ "185.221.132.244" ] }, { "vpn": "openvpn", "region": "Luxembourg", "city": "Luxembourg", "hostname": "lu-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lux-152.windscribe.com", "ips": [ "185.221.132.226", "185.221.132.227" ] }, { "vpn": "wireguard", "region": "Luxembourg", "city": "Luxembourg", "hostname": "lu-007.whiskergalaxy.com", "wgpubkey": "BzMLell5uUM/d9aNGaGMog+GFH36s4dFO0WuQ6/VxCg=", "ips": [ "185.221.132.228" ] }, { "vpn": "openvpn", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kul-270.windscribe.com", "ips": [ "118.107.220.29", "118.107.220.30" ] }, { "vpn": "wireguard", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-010.whiskergalaxy.com", "wgpubkey": "7r3RICLhFxj54Udb9heUGeBoI814UAuaUJwc65IbMnw=", "ips": [ "118.107.220.31" ] }, { "vpn": "openvpn", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kul-270.windscribe.com", "ips": [ "118.107.220.37", "118.107.220.38" ] }, { "vpn": "wireguard", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-011.whiskergalaxy.com", "wgpubkey": "7r3RICLhFxj54Udb9heUGeBoI814UAuaUJwc65IbMnw=", "ips": [ "118.107.220.39" ] }, { "vpn": "openvpn", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kul-270.windscribe.com", "ips": [ "118.107.220.53", "118.107.220.54" ] }, { "vpn": "wireguard", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-012.whiskergalaxy.com", "wgpubkey": "7r3RICLhFxj54Udb9heUGeBoI814UAuaUJwc65IbMnw=", "ips": [ "118.107.220.55" ] }, { "vpn": "openvpn", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kul-270.windscribe.com", "ips": [ "118.107.220.45", "118.107.220.46" ] }, { "vpn": "wireguard", "region": "Malaysia", "city": "Kuala Lumpur", "hostname": "my-013.whiskergalaxy.com", "wgpubkey": "7r3RICLhFxj54Udb9heUGeBoI814UAuaUJwc65IbMnw=", "ips": [ "118.107.220.47" ] }, { "vpn": "openvpn", "region": "Mexico", "city": "Querétaro", "hostname": "mx-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "qro-420.windscribe.com", "ips": [ "149.88.22.33", "149.88.22.34" ] }, { "vpn": "wireguard", "region": "Mexico", "city": "Querétaro", "hostname": "mx-012.whiskergalaxy.com", "wgpubkey": "V3tmL5CQsOEXUm6DwKAEvKpLZFMLdwI+6aCOIsakER8=", "ips": [ "149.88.22.35" ] }, { "vpn": "openvpn", "region": "Mexico", "city": "Querétaro", "hostname": "mx-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "qro-420.windscribe.com", "ips": [ "149.88.22.46", "149.88.22.47" ] }, { "vpn": "wireguard", "region": "Mexico", "city": "Querétaro", "hostname": "mx-013.whiskergalaxy.com", "wgpubkey": "V3tmL5CQsOEXUm6DwKAEvKpLZFMLdwI+6aCOIsakER8=", "ips": [ "149.88.22.48" ] }, { "vpn": "openvpn", "region": "Moldova", "city": "Chisinau", "hostname": "md-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kiv-210.windscribe.com", "ips": [ "178.175.134.186", "178.175.134.187" ] }, { "vpn": "wireguard", "region": "Moldova", "city": "Chisinau", "hostname": "md-003.whiskergalaxy.com", "wgpubkey": "HHDA7gntK+JWWxilBUsDI1FMgeGZtVFKKhbWVIbwMC0=", "ips": [ "178.175.134.188" ] }, { "vpn": "openvpn", "region": "Moldova", "city": "Chisinau", "hostname": "md-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kiv-210.windscribe.com", "ips": [ "178.175.142.7", "178.175.140.209" ] }, { "vpn": "wireguard", "region": "Moldova", "city": "Chisinau", "hostname": "md-004.whiskergalaxy.com", "wgpubkey": "HHDA7gntK+JWWxilBUsDI1FMgeGZtVFKKhbWVIbwMC0=", "ips": [ "178.175.140.210" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-120.windscribe.com", "ips": [ "185.253.96.2", "185.253.96.3" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-008.whiskergalaxy.com", "wgpubkey": "c9QHUQhVUNIYqcp5HQ4gwoSoKzAgK8uSsoiJUrlriDA=", "ips": [ "185.253.96.4" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-193.windscribe.com", "ips": [ "84.17.46.1", "84.17.46.2" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-011.whiskergalaxy.com", "wgpubkey": "pLzFr9exM2Z5oXw0iuKnXIJZxa4I0UEmyFC85sHtDwk=", "ips": [ "84.17.46.3" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-289.windscribe.com", "ips": [ "72.11.157.66", "72.11.157.67" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-013.whiskergalaxy.com", "wgpubkey": "EN0anJ12SaB6+aNVh1iRNQ9wEqMlwXTDv4OzAGhm1zw=", "ips": [ "72.11.157.68" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-014.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-289.windscribe.com", "ips": [ "72.11.157.34", "72.11.157.35" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-014.whiskergalaxy.com", "wgpubkey": "EN0anJ12SaB6+aNVh1iRNQ9wEqMlwXTDv4OzAGhm1zw=", "ips": [ "72.11.157.36" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-229.windscribe.com", "ips": [ "109.201.130.1", "109.201.130.2" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-015.whiskergalaxy.com", "wgpubkey": "cwzVI0WaEnJHhkSzrRdStijZSjVL/fd/jWNxShL0fTo=", "ips": [ "109.201.130.3" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-019.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-120.windscribe.com", "ips": [ "185.156.172.162", "185.156.172.163" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-019.whiskergalaxy.com", "wgpubkey": "c9QHUQhVUNIYqcp5HQ4gwoSoKzAgK8uSsoiJUrlriDA=", "ips": [ "185.156.172.164" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-193.windscribe.com", "ips": [ "195.181.172.145", "195.181.172.146" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-020.whiskergalaxy.com", "wgpubkey": "pLzFr9exM2Z5oXw0iuKnXIJZxa4I0UEmyFC85sHtDwk=", "ips": [ "195.181.172.147" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-030.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-120.windscribe.com", "ips": [ "146.70.108.162", "146.70.108.163" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-030.whiskergalaxy.com", "wgpubkey": "c9QHUQhVUNIYqcp5HQ4gwoSoKzAgK8uSsoiJUrlriDA=", "ips": [ "146.70.108.164" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-037.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-229.windscribe.com", "ips": [ "185.107.81.129", "185.107.81.130" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-037.whiskergalaxy.com", "wgpubkey": "cwzVI0WaEnJHhkSzrRdStijZSjVL/fd/jWNxShL0fTo=", "ips": [ "185.107.81.131" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-038.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-193.windscribe.com", "ips": [ "149.36.51.129", "149.36.51.130" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-038.whiskergalaxy.com", "wgpubkey": "pLzFr9exM2Z5oXw0iuKnXIJZxa4I0UEmyFC85sHtDwk=", "ips": [ "149.36.51.131" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-039.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-229.windscribe.com", "ips": [ "46.166.179.209", "46.166.179.210" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-039.whiskergalaxy.com", "wgpubkey": "cwzVI0WaEnJHhkSzrRdStijZSjVL/fd/jWNxShL0fTo=", "ips": [ "46.166.179.211" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-040.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-229.windscribe.com", "ips": [ "46.166.129.1", "46.166.129.2" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-040.whiskergalaxy.com", "wgpubkey": "cwzVI0WaEnJHhkSzrRdStijZSjVL/fd/jWNxShL0fTo=", "ips": [ "46.166.129.3" ] }, { "vpn": "openvpn", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-041.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ams-229.windscribe.com", "ips": [ "185.107.95.49", "185.107.95.50" ] }, { "vpn": "wireguard", "region": "Netherlands", "city": "Amsterdam", "hostname": "nl-041.whiskergalaxy.com", "wgpubkey": "cwzVI0WaEnJHhkSzrRdStijZSjVL/fd/jWNxShL0fTo=", "ips": [ "185.107.95.51" ] }, { "vpn": "openvpn", "region": "New Zealand", "city": "Auckland", "hostname": "nz-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "akl-352.windscribe.com", "ips": [ "103.108.94.162", "103.108.94.163" ] }, { "vpn": "wireguard", "region": "New Zealand", "city": "Auckland", "hostname": "nz-003.whiskergalaxy.com", "wgpubkey": "el0He87GLmmywBmn7ErEiuKd5Bjc6Q4zWciL86rYcxw=", "ips": [ "103.108.94.164" ] }, { "vpn": "openvpn", "region": "New Zealand", "city": "Auckland", "hostname": "nz-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "akl-251.windscribe.com", "ips": [ "116.90.75.226", "116.90.75.227" ] }, { "vpn": "wireguard", "region": "New Zealand", "city": "Auckland", "hostname": "nz-004.whiskergalaxy.com", "wgpubkey": "LxvdxRlnn73teVay3m0wY8tP1131yCbfnCAftD+p7VE=", "ips": [ "116.90.75.228" ] }, { "vpn": "openvpn", "region": "North Macedonia", "city": "Skopje", "hostname": "mk-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "skp-339.windscribe.com", "ips": [ "185.225.28.50", "185.225.28.51" ] }, { "vpn": "wireguard", "region": "North Macedonia", "city": "Skopje", "hostname": "mk-003.whiskergalaxy.com", "wgpubkey": "9J0kA4c4i7N/+6B+3j0zFkDTHocZNsw6eK6+sLZ1qCQ=", "ips": [ "185.225.28.52" ] }, { "vpn": "openvpn", "region": "Norway", "city": "Oslo", "hostname": "no-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "osl-169.windscribe.com", "ips": [ "185.206.225.130", "185.206.225.131" ] }, { "vpn": "wireguard", "region": "Norway", "city": "Oslo", "hostname": "no-003.whiskergalaxy.com", "wgpubkey": "y+Kvlfz0z8DF17hVvEezMml3SH3OaB2l5l09DPdQNCk=", "ips": [ "185.206.225.132" ] }, { "vpn": "openvpn", "region": "Norway", "city": "Oslo", "hostname": "no-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "osl-169.windscribe.com", "ips": [ "37.120.203.66", "37.120.203.67" ] }, { "vpn": "wireguard", "region": "Norway", "city": "Oslo", "hostname": "no-006.whiskergalaxy.com", "wgpubkey": "y+Kvlfz0z8DF17hVvEezMml3SH3OaB2l5l09DPdQNCk=", "ips": [ "37.120.203.68" ] }, { "vpn": "openvpn", "region": "Norway", "city": "Oslo", "hostname": "no-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "osl-169.windscribe.com", "ips": [ "37.120.149.50", "37.120.149.51" ] }, { "vpn": "wireguard", "region": "Norway", "city": "Oslo", "hostname": "no-008.whiskergalaxy.com", "wgpubkey": "y+Kvlfz0z8DF17hVvEezMml3SH3OaB2l5l09DPdQNCk=", "ips": [ "37.120.149.52" ] }, { "vpn": "openvpn", "region": "Panama", "city": "Panama City", "hostname": "pa-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "pty-358.windscribe.com", "ips": [ "138.186.142.202", "138.186.142.203" ] }, { "vpn": "wireguard", "region": "Panama", "city": "Panama City", "hostname": "pa-001.whiskergalaxy.com", "wgpubkey": "3L8yhe+v7TzBeesOFxSdU2VUa8FG4PTuoiiUoV7DAGY=", "ips": [ "138.186.142.204" ] }, { "vpn": "openvpn", "region": "Peru", "city": "Lima", "hostname": "pe-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lim-367.windscribe.com", "ips": [ "95.173.223.78", "95.173.223.79" ] }, { "vpn": "wireguard", "region": "Peru", "city": "Lima", "hostname": "pe-004.whiskergalaxy.com", "wgpubkey": "ZrLVHs2FNXanFBtymCd64gZNNixH7k2K5F9+O+xpt0o=", "ips": [ "95.173.223.80" ] }, { "vpn": "openvpn", "region": "Philippines", "city": "Manila", "hostname": "ph-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mnl-365.windscribe.com", "ips": [ "128.1.209.254", "129.227.97.114" ] }, { "vpn": "wireguard", "region": "Philippines", "city": "Manila", "hostname": "ph-006.whiskergalaxy.com", "wgpubkey": "J2Cy7FP1gYxd3TDaw4xialgPusIxQUfXUYWzqhv/KWI=", "ips": [ "129.227.97.115" ] }, { "vpn": "openvpn", "region": "Philippines", "city": "Manila", "hostname": "ph-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mnl-365.windscribe.com", "ips": [ "129.227.103.90", "129.227.97.98" ] }, { "vpn": "wireguard", "region": "Philippines", "city": "Manila", "hostname": "ph-007.whiskergalaxy.com", "wgpubkey": "J2Cy7FP1gYxd3TDaw4xialgPusIxQUfXUYWzqhv/KWI=", "ips": [ "129.227.97.99" ] }, { "vpn": "openvpn", "region": "Poland", "city": "Warsaw", "hostname": "pl-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "waw-309.windscribe.com", "ips": [ "84.17.55.97", "84.17.55.98" ] }, { "vpn": "wireguard", "region": "Poland", "city": "Warsaw", "hostname": "pl-004.whiskergalaxy.com", "wgpubkey": "MYoOwWssF5fWZ+bOQINzfitdjwyqiHcJhr607wSAzEY=", "ips": [ "84.17.55.99" ] }, { "vpn": "openvpn", "region": "Poland", "city": "Warsaw", "hostname": "pl-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "waw-237.windscribe.com", "ips": [ "37.120.156.18", "37.120.156.19" ] }, { "vpn": "wireguard", "region": "Poland", "city": "Warsaw", "hostname": "pl-007.whiskergalaxy.com", "wgpubkey": "aZkVfQ47eZjQXlFXaXR/joai25TTXOH0jk8JU4S+718=", "ips": [ "37.120.156.20" ] }, { "vpn": "openvpn", "region": "Poland", "city": "Warsaw", "hostname": "pl-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "waw-237.windscribe.com", "ips": [ "37.120.156.34", "37.120.156.35" ] }, { "vpn": "wireguard", "region": "Poland", "city": "Warsaw", "hostname": "pl-008.whiskergalaxy.com", "wgpubkey": "aZkVfQ47eZjQXlFXaXR/joai25TTXOH0jk8JU4S+718=", "ips": [ "37.120.156.36" ] }, { "vpn": "openvpn", "region": "Portugal", "city": "Lisbon", "hostname": "pt-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lis-249.windscribe.com", "ips": [ "149.22.86.1", "149.22.86.2" ] }, { "vpn": "wireguard", "region": "Portugal", "city": "Lisbon", "hostname": "pt-004.whiskergalaxy.com", "wgpubkey": "olUvyUS7X592mAkw3tV1g4drB4XyNl7422F5zo6pd0o=", "ips": [ "149.22.86.3" ] }, { "vpn": "openvpn", "region": "Portugal", "city": "Lisbon", "hostname": "pt-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lis-249.windscribe.com", "ips": [ "149.22.86.14", "149.22.86.15" ] }, { "vpn": "wireguard", "region": "Portugal", "city": "Lisbon", "hostname": "pt-005.whiskergalaxy.com", "wgpubkey": "olUvyUS7X592mAkw3tV1g4drB4XyNl7422F5zo6pd0o=", "ips": [ "149.22.86.16" ] }, { "vpn": "openvpn", "region": "Romania", "city": "Bucharest", "hostname": "ro-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "otp-105.windscribe.com", "ips": [ "91.207.102.146", "91.207.102.147" ] }, { "vpn": "wireguard", "region": "Romania", "city": "Bucharest", "hostname": "ro-008.whiskergalaxy.com", "wgpubkey": "eIYiubmBdTz6WEopGNvlou37zzJ4/wD0LgsQudpiAgA=", "ips": [ "91.207.102.148" ] }, { "vpn": "openvpn", "region": "Romania", "city": "Bucharest", "hostname": "ro-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "otp-105.windscribe.com", "ips": [ "146.70.97.178", "146.70.97.179" ] }, { "vpn": "wireguard", "region": "Romania", "city": "Bucharest", "hostname": "ro-010.whiskergalaxy.com", "wgpubkey": "eIYiubmBdTz6WEopGNvlou37zzJ4/wD0LgsQudpiAgA=", "ips": [ "146.70.97.180" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Moscow", "hostname": "ru-021.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "svo-346.windscribe.com", "ips": [ "95.143.177.98", "95.143.177.101" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Moscow", "hostname": "ru-021.whiskergalaxy.com", "wgpubkey": "A557Tcs9ezMHjMO3QoCox2fgcc9/uR/nOjbw28AKqkg=", "ips": [ "95.143.177.99" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Moscow", "hostname": "ru-022.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "svo-346.windscribe.com", "ips": [ "95.143.177.69", "95.143.177.66" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Moscow", "hostname": "ru-022.whiskergalaxy.com", "wgpubkey": "A557Tcs9ezMHjMO3QoCox2fgcc9/uR/nOjbw28AKqkg=", "ips": [ "95.143.177.67" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "led-265.windscribe.com", "ips": [ "188.124.42.114", "188.124.42.115" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-012.whiskergalaxy.com", "wgpubkey": "gLPWBcPANL0mgwEkImb6PUJmR2ncz7S9DKIDDYvgJkk=", "ips": [ "188.124.42.116" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "led-265.windscribe.com", "ips": [ "188.124.42.98", "188.124.42.99" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-013.whiskergalaxy.com", "wgpubkey": "gLPWBcPANL0mgwEkImb6PUJmR2ncz7S9DKIDDYvgJkk=", "ips": [ "188.124.42.100" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-016.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "led-211.windscribe.com", "ips": [ "94.242.50.213", "94.242.50.214" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-016.whiskergalaxy.com", "wgpubkey": "Yom91OWyt0otz1S4hgQMhp1q1y8tpDvUWwVkNXpmpjc=", "ips": [ "94.242.50.215" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-017.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "led-211.windscribe.com", "ips": [ "94.242.50.203", "94.242.50.204" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-017.whiskergalaxy.com", "wgpubkey": "Yom91OWyt0otz1S4hgQMhp1q1y8tpDvUWwVkNXpmpjc=", "ips": [ "94.242.50.205" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-018.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "led-211.windscribe.com", "ips": [ "94.242.50.193", "94.242.50.194" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-018.whiskergalaxy.com", "wgpubkey": "Yom91OWyt0otz1S4hgQMhp1q1y8tpDvUWwVkNXpmpjc=", "ips": [ "94.242.50.195" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-019.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "led-211.windscribe.com", "ips": [ "94.242.50.183", "94.242.50.184" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-019.whiskergalaxy.com", "wgpubkey": "Yom91OWyt0otz1S4hgQMhp1q1y8tpDvUWwVkNXpmpjc=", "ips": [ "94.242.50.185" ] }, { "vpn": "openvpn", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "led-211.windscribe.com", "ips": [ "94.242.50.173", "94.242.50.174" ] }, { "vpn": "wireguard", "region": "Russia", "city": "Saint Petersburg", "hostname": "ru-020.whiskergalaxy.com", "wgpubkey": "Yom91OWyt0otz1S4hgQMhp1q1y8tpDvUWwVkNXpmpjc=", "ips": [ "94.242.50.175" ] }, { "vpn": "openvpn", "region": "Serbia", "city": "Belgrade", "hostname": "rs-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "beg-288.windscribe.com", "ips": [ "146.70.221.18", "146.70.221.19" ] }, { "vpn": "wireguard", "region": "Serbia", "city": "Belgrade", "hostname": "rs-005.whiskergalaxy.com", "wgpubkey": "SZAf6bGig5dmm+dihnqRQMOEr27FK9NG8Vklmj3IQ0o=", "ips": [ "146.70.221.20" ] }, { "vpn": "openvpn", "region": "Serbia", "city": "Belgrade", "hostname": "rs-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "beg-288.windscribe.com", "ips": [ "146.70.221.34", "146.70.221.35" ] }, { "vpn": "wireguard", "region": "Serbia", "city": "Belgrade", "hostname": "rs-006.whiskergalaxy.com", "wgpubkey": "SZAf6bGig5dmm+dihnqRQMOEr27FK9NG8Vklmj3IQ0o=", "ips": [ "146.70.221.36" ] }, { "vpn": "openvpn", "region": "Singapore", "city": "Singapore", "hostname": "sg-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sin-235.windscribe.com", "ips": [ "156.146.56.97", "156.146.56.98" ] }, { "vpn": "wireguard", "region": "Singapore", "city": "Singapore", "hostname": "sg-006.whiskergalaxy.com", "wgpubkey": "sv9o+LudivUcZh3f92hEFFu5KGCT/2QISYy3OpPC0h0=", "ips": [ "156.146.56.99" ] }, { "vpn": "openvpn", "region": "Singapore", "city": "Singapore", "hostname": "sg-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sin-235.windscribe.com", "ips": [ "156.146.56.110", "156.146.56.111" ] }, { "vpn": "wireguard", "region": "Singapore", "city": "Singapore", "hostname": "sg-007.whiskergalaxy.com", "wgpubkey": "sv9o+LudivUcZh3f92hEFFu5KGCT/2QISYy3OpPC0h0=", "ips": [ "156.146.56.112" ] }, { "vpn": "openvpn", "region": "Singapore", "city": "Singapore", "hostname": "sg-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sin-241.windscribe.com", "ips": [ "103.107.198.226", "103.107.198.227" ] }, { "vpn": "wireguard", "region": "Singapore", "city": "Singapore", "hostname": "sg-008.whiskergalaxy.com", "wgpubkey": "tJa6iPx6mpOktn5KoalMslWcpg6pRUdVx3bKDi3wtDg=", "ips": [ "103.107.198.228" ] }, { "vpn": "openvpn", "region": "Singapore", "city": "Singapore", "hostname": "sg-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sin-170.windscribe.com", "ips": [ "82.102.25.50", "82.102.25.51" ] }, { "vpn": "wireguard", "region": "Singapore", "city": "Singapore", "hostname": "sg-010.whiskergalaxy.com", "wgpubkey": "ePfazP+V1DkyyzK2VpSKS1JFiChU2TpO6jyYOmjnRAw=", "ips": [ "82.102.25.52" ] }, { "vpn": "openvpn", "region": "Singapore", "city": "Singapore", "hostname": "sg-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sin-170.windscribe.com", "ips": [ "82.102.25.210", "82.102.25.211" ] }, { "vpn": "wireguard", "region": "Singapore", "city": "Singapore", "hostname": "sg-011.whiskergalaxy.com", "wgpubkey": "ePfazP+V1DkyyzK2VpSKS1JFiChU2TpO6jyYOmjnRAw=", "ips": [ "82.102.25.212" ] }, { "vpn": "openvpn", "region": "Singapore", "city": "Singapore", "hostname": "sg-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sin-241.windscribe.com", "ips": [ "103.107.198.242", "103.107.198.243" ] }, { "vpn": "wireguard", "region": "Singapore", "city": "Singapore", "hostname": "sg-012.whiskergalaxy.com", "wgpubkey": "tJa6iPx6mpOktn5KoalMslWcpg6pRUdVx3bKDi3wtDg=", "ips": [ "103.107.198.244" ] }, { "vpn": "openvpn", "region": "Slovakia", "city": "Bratislava", "hostname": "sk-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bts-213.windscribe.com", "ips": [ "146.70.114.146", "146.70.114.147" ] }, { "vpn": "wireguard", "region": "Slovakia", "city": "Bratislava", "hostname": "sk-003.whiskergalaxy.com", "wgpubkey": "87RdB427Hxehe3ePG8mSpPBsdwGgKWwAkEtbleThckw=", "ips": [ "146.70.114.148" ] }, { "vpn": "openvpn", "region": "Slovakia", "city": "Bratislava", "hostname": "sk-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bts-213.windscribe.com", "ips": [ "146.70.114.162", "146.70.114.163" ] }, { "vpn": "wireguard", "region": "Slovakia", "city": "Bratislava", "hostname": "sk-004.whiskergalaxy.com", "wgpubkey": "87RdB427Hxehe3ePG8mSpPBsdwGgKWwAkEtbleThckw=", "ips": [ "146.70.114.164" ] }, { "vpn": "openvpn", "region": "South Africa", "city": "Johannesburg", "hostname": "za-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jnb-164.windscribe.com", "ips": [ "197.242.155.133", "197.242.157.235" ] }, { "vpn": "wireguard", "region": "South Africa", "city": "Johannesburg", "hostname": "za-001.whiskergalaxy.com", "wgpubkey": "Nh5LEJT44xbuvTQnv3OZ0bXi09BFXV4SBB1XVMI12Ec=", "ips": [ "197.242.157.255" ] }, { "vpn": "openvpn", "region": "South Africa", "city": "Johannesburg", "hostname": "za-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jnb-164.windscribe.com", "ips": [ "197.242.155.197", "197.242.156.53" ] }, { "vpn": "wireguard", "region": "South Africa", "city": "Johannesburg", "hostname": "za-003.whiskergalaxy.com", "wgpubkey": "Nh5LEJT44xbuvTQnv3OZ0bXi09BFXV4SBB1XVMI12Ec=", "ips": [ "197.242.156.56" ] }, { "vpn": "openvpn", "region": "South Africa", "city": "Johannesburg", "hostname": "za-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jnb-232.windscribe.com", "ips": [ "165.73.248.90", "165.73.248.91" ] }, { "vpn": "wireguard", "region": "South Africa", "city": "Johannesburg", "hostname": "za-004.whiskergalaxy.com", "wgpubkey": "stPvzj5yM1z5Qg9H3gMvAKNPJLU0X3SeUSJPg3wqDR8=", "ips": [ "165.73.248.92" ] }, { "vpn": "openvpn", "region": "South Africa", "city": "Johannesburg", "hostname": "za-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jnb-164.windscribe.com", "ips": [ "197.242.159.23", "197.242.159.199" ] }, { "vpn": "wireguard", "region": "South Africa", "city": "Johannesburg", "hostname": "za-006.whiskergalaxy.com", "wgpubkey": "Nh5LEJT44xbuvTQnv3OZ0bXi09BFXV4SBB1XVMI12Ec=", "ips": [ "197.242.159.229" ] }, { "vpn": "openvpn", "region": "South Africa", "city": "Johannesburg", "hostname": "za-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jnb-232.windscribe.com", "ips": [ "108.181.120.26", "108.181.120.27" ] }, { "vpn": "wireguard", "region": "South Africa", "city": "Johannesburg", "hostname": "za-008.whiskergalaxy.com", "wgpubkey": "stPvzj5yM1z5Qg9H3gMvAKNPJLU0X3SeUSJPg3wqDR8=", "ips": [ "108.181.120.28" ] }, { "vpn": "openvpn", "region": "South Africa", "city": "Johannesburg", "hostname": "za-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jnb-409.windscribe.com", "ips": [ "149.102.248.110", "149.102.248.111" ] }, { "vpn": "wireguard", "region": "South Africa", "city": "Johannesburg", "hostname": "za-009.whiskergalaxy.com", "wgpubkey": "YQMr8hKdHeoj5MMeVyUT5NeGshAbN2QmswaqHNrFjn4=", "ips": [ "149.102.248.112" ] }, { "vpn": "openvpn", "region": "South Africa", "city": "Johannesburg", "hostname": "za-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jnb-409.windscribe.com", "ips": [ "149.102.248.97", "149.102.248.98" ] }, { "vpn": "wireguard", "region": "South Africa", "city": "Johannesburg", "hostname": "za-010.whiskergalaxy.com", "wgpubkey": "YQMr8hKdHeoj5MMeVyUT5NeGshAbN2QmswaqHNrFjn4=", "ips": [ "149.102.248.99" ] }, { "vpn": "openvpn", "region": "South Korea", "city": "Seoul", "hostname": "kr-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "icn-362.windscribe.com", "ips": [ "45.133.194.210", "45.133.194.211" ] }, { "vpn": "wireguard", "region": "South Korea", "city": "Seoul", "hostname": "kr-009.whiskergalaxy.com", "wgpubkey": "rtk1/cMCEyJw9xgs6v0ef0rsk2bwi+sI/zgbo+gLkko=", "ips": [ "45.133.194.212" ] }, { "vpn": "openvpn", "region": "South Korea", "city": "Seoul", "hostname": "kr-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "icn-399.windscribe.com", "ips": [ "58.120.141.74", "58.120.141.75" ] }, { "vpn": "wireguard", "region": "South Korea", "city": "Seoul", "hostname": "kr-010.whiskergalaxy.com", "wgpubkey": "4LAPQWjzxtuGHyHjij+ZiM3idLe3xY9IiYNFD/V9akM=", "ips": [ "58.120.141.76" ] }, { "vpn": "openvpn", "region": "Spain", "city": "Barcelona", "hostname": "es-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bcn-239.windscribe.com", "ips": [ "130.195.250.34", "130.195.250.35" ] }, { "vpn": "wireguard", "region": "Spain", "city": "Barcelona", "hostname": "es-007.whiskergalaxy.com", "wgpubkey": "IdglMouv0zOaeA+oNqoN5Gk2I8h4zWlmRxH5qwDFBUI=", "ips": [ "130.195.250.36" ] }, { "vpn": "openvpn", "region": "Spain", "city": "Barcelona", "hostname": "es-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bcn-239.windscribe.com", "ips": [ "130.195.250.18", "130.195.250.19" ] }, { "vpn": "wireguard", "region": "Spain", "city": "Barcelona", "hostname": "es-008.whiskergalaxy.com", "wgpubkey": "IdglMouv0zOaeA+oNqoN5Gk2I8h4zWlmRxH5qwDFBUI=", "ips": [ "130.195.250.20" ] }, { "vpn": "openvpn", "region": "Spain", "city": "Madrid", "hostname": "es-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mad-115.windscribe.com", "ips": [ "82.102.17.130", "82.102.17.131" ] }, { "vpn": "wireguard", "region": "Spain", "city": "Madrid", "hostname": "es-005.whiskergalaxy.com", "wgpubkey": "3AuxTNwzilEtwUvEd71zqbjjBuGD/XcnOEPnVLn2gWQ=", "ips": [ "82.102.17.132" ] }, { "vpn": "openvpn", "region": "Spain", "city": "Madrid", "hostname": "es-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mad-115.windscribe.com", "ips": [ "82.102.17.178", "82.102.17.179" ] }, { "vpn": "wireguard", "region": "Spain", "city": "Madrid", "hostname": "es-006.whiskergalaxy.com", "wgpubkey": "3AuxTNwzilEtwUvEd71zqbjjBuGD/XcnOEPnVLn2gWQ=", "ips": [ "82.102.17.180" ] }, { "vpn": "openvpn", "region": "Sweden", "city": "Stockholm", "hostname": "se-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "arn-234.windscribe.com", "ips": [ "79.142.76.197", "79.142.76.198" ] }, { "vpn": "wireguard", "region": "Sweden", "city": "Stockholm", "hostname": "se-002.whiskergalaxy.com", "wgpubkey": "P5X43E/SgvnJtbrKnJwLFxqFoZGsCghW2SxlXvfdzm0=", "ips": [ "79.142.76.199" ] }, { "vpn": "openvpn", "region": "Sweden", "city": "Stockholm", "hostname": "se-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "arn-159.windscribe.com", "ips": [ "195.181.166.71", "195.181.166.129" ] }, { "vpn": "wireguard", "region": "Sweden", "city": "Stockholm", "hostname": "se-003.whiskergalaxy.com", "wgpubkey": "HENIT1CTAKjPrhG4s64jPJSzEjtEZPRARxA3amm49WU=", "ips": [ "195.181.166.130" ] }, { "vpn": "openvpn", "region": "Sweden", "city": "Stockholm", "hostname": "se-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "arn-234.windscribe.com", "ips": [ "79.142.77.63", "79.142.77.64" ] }, { "vpn": "wireguard", "region": "Sweden", "city": "Stockholm", "hostname": "se-005.whiskergalaxy.com", "wgpubkey": "P5X43E/SgvnJtbrKnJwLFxqFoZGsCghW2SxlXvfdzm0=", "ips": [ "79.142.77.65" ] }, { "vpn": "openvpn", "region": "Sweden", "city": "Stockholm", "hostname": "se-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "arn-159.windscribe.com", "ips": [ "149.50.216.65", "149.50.216.66" ] }, { "vpn": "wireguard", "region": "Sweden", "city": "Stockholm", "hostname": "se-006.whiskergalaxy.com", "wgpubkey": "HENIT1CTAKjPrhG4s64jPJSzEjtEZPRARxA3amm49WU=", "ips": [ "149.50.216.67" ] }, { "vpn": "openvpn", "region": "Sweden", "city": "Stockholm", "hostname": "se-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "arn-30.windscribe.com", "ips": [ "146.70.242.130", "146.70.242.131" ] }, { "vpn": "wireguard", "region": "Sweden", "city": "Stockholm", "hostname": "se-007.whiskergalaxy.com", "wgpubkey": "PE9KAfm60yg/rr247eAsZb+gVJxrN4NeQLT6sIdYyDc=", "ips": [ "146.70.242.132" ] }, { "vpn": "openvpn", "region": "Sweden", "city": "Stockholm", "hostname": "se-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "arn-30.windscribe.com", "ips": [ "146.70.242.146", "146.70.242.147" ] }, { "vpn": "wireguard", "region": "Sweden", "city": "Stockholm", "hostname": "se-008.whiskergalaxy.com", "wgpubkey": "PE9KAfm60yg/rr247eAsZb+gVJxrN4NeQLT6sIdYyDc=", "ips": [ "146.70.242.148" ] }, { "vpn": "openvpn", "region": "Switzerland", "city": "Zurich", "hostname": "ch-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zrh-112.windscribe.com", "ips": [ "185.156.175.178", "185.156.175.179" ] }, { "vpn": "wireguard", "region": "Switzerland", "city": "Zurich", "hostname": "ch-003.whiskergalaxy.com", "wgpubkey": "uFOg97vQhHVCUfZy/HwmGH+dR6/9lpeWZ5tV3PysHRE=", "ips": [ "185.156.175.180" ] }, { "vpn": "openvpn", "region": "Switzerland", "city": "Zurich", "hostname": "ch-005.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zrh-317.windscribe.com", "ips": [ "89.187.165.97", "89.187.165.98" ] }, { "vpn": "wireguard", "region": "Switzerland", "city": "Zurich", "hostname": "ch-005.whiskergalaxy.com", "wgpubkey": "G7LkwWk08Ase/Wi9mnOW77brNBC0vTCemvy1IW1nlV4=", "ips": [ "89.187.165.99" ] }, { "vpn": "openvpn", "region": "Switzerland", "city": "Zurich", "hostname": "ch-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zrh-317.windscribe.com", "ips": [ "84.17.53.1", "84.17.53.2" ] }, { "vpn": "wireguard", "region": "Switzerland", "city": "Zurich", "hostname": "ch-006.whiskergalaxy.com", "wgpubkey": "G7LkwWk08Ase/Wi9mnOW77brNBC0vTCemvy1IW1nlV4=", "ips": [ "84.17.53.3" ] }, { "vpn": "openvpn", "region": "Switzerland", "city": "Zurich", "hostname": "ch-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zrh-112.windscribe.com", "ips": [ "37.120.213.162", "37.120.213.163" ] }, { "vpn": "wireguard", "region": "Switzerland", "city": "Zurich", "hostname": "ch-008.whiskergalaxy.com", "wgpubkey": "uFOg97vQhHVCUfZy/HwmGH+dR6/9lpeWZ5tV3PysHRE=", "ips": [ "37.120.213.164" ] }, { "vpn": "openvpn", "region": "Switzerland", "city": "Zurich", "hostname": "ch-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zrh-317.windscribe.com", "ips": [ "169.150.197.161", "169.150.197.162" ] }, { "vpn": "wireguard", "region": "Switzerland", "city": "Zurich", "hostname": "ch-013.whiskergalaxy.com", "wgpubkey": "G7LkwWk08Ase/Wi9mnOW77brNBC0vTCemvy1IW1nlV4=", "ips": [ "169.150.197.163" ] }, { "vpn": "openvpn", "region": "Switzerland", "city": "Zurich", "hostname": "ch-017.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zrh-264.windscribe.com", "ips": [ "141.255.162.194", "141.255.162.195" ] }, { "vpn": "wireguard", "region": "Switzerland", "city": "Zurich", "hostname": "ch-017.whiskergalaxy.com", "wgpubkey": "3+ehrqWHaqA4lC10BRkscYasaewB2eamMSRda+HSkxQ=", "ips": [ "141.255.162.196" ] }, { "vpn": "openvpn", "region": "Switzerland", "city": "Zurich", "hostname": "ch-018.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "zrh-264.windscribe.com", "ips": [ "141.255.162.210", "141.255.162.211" ] }, { "vpn": "wireguard", "region": "Switzerland", "city": "Zurich", "hostname": "ch-018.whiskergalaxy.com", "wgpubkey": "3+ehrqWHaqA4lC10BRkscYasaewB2eamMSRda+HSkxQ=", "ips": [ "141.255.162.212" ] }, { "vpn": "openvpn", "region": "Taiwan", "city": "Taipei", "hostname": "tw-008.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tpe-314.windscribe.com", "ips": [ "103.4.29.76", "103.4.29.77" ] }, { "vpn": "wireguard", "region": "Taiwan", "city": "Taipei", "hostname": "tw-008.whiskergalaxy.com", "wgpubkey": "dAAkV3G3YFurH3+3198clav9vlh4FxB1asqNc0tLeCk=", "ips": [ "103.4.29.78" ] }, { "vpn": "openvpn", "region": "Taiwan", "city": "Taipei", "hostname": "tw-009.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tpe-314.windscribe.com", "ips": [ "185.189.160.11", "185.189.160.12" ] }, { "vpn": "wireguard", "region": "Taiwan", "city": "Taipei", "hostname": "tw-009.whiskergalaxy.com", "wgpubkey": "dAAkV3G3YFurH3+3198clav9vlh4FxB1asqNc0tLeCk=", "ips": [ "185.189.160.13" ] }, { "vpn": "openvpn", "region": "Taiwan", "city": "Taipei", "hostname": "tw-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tpe-314.windscribe.com", "ips": [ "103.4.30.197", "185.189.160.27" ] }, { "vpn": "wireguard", "region": "Taiwan", "city": "Taipei", "hostname": "tw-010.whiskergalaxy.com", "wgpubkey": "dAAkV3G3YFurH3+3198clav9vlh4FxB1asqNc0tLeCk=", "ips": [ "185.189.161.50" ] }, { "vpn": "openvpn", "region": "Taiwan", "city": "Taipei", "hostname": "tw-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tpe-314.windscribe.com", "ips": [ "103.4.30.203", "185.189.160.32" ] }, { "vpn": "wireguard", "region": "Taiwan", "city": "Taipei", "hostname": "tw-011.whiskergalaxy.com", "wgpubkey": "dAAkV3G3YFurH3+3198clav9vlh4FxB1asqNc0tLeCk=", "ips": [ "185.189.161.51" ] }, { "vpn": "openvpn", "region": "Taiwan", "city": "Taipei", "hostname": "tw-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tpe-314.windscribe.com", "ips": [ "185.189.163.157", "185.189.163.162" ] }, { "vpn": "wireguard", "region": "Taiwan", "city": "Taipei", "hostname": "tw-012.whiskergalaxy.com", "wgpubkey": "dAAkV3G3YFurH3+3198clav9vlh4FxB1asqNc0tLeCk=", "ips": [ "185.189.163.176" ] }, { "vpn": "openvpn", "region": "Taiwan", "city": "Taipei", "hostname": "tw-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tpe-314.windscribe.com", "ips": [ "185.189.163.211", "185.189.163.214" ] }, { "vpn": "wireguard", "region": "Taiwan", "city": "Taipei", "hostname": "tw-013.whiskergalaxy.com", "wgpubkey": "dAAkV3G3YFurH3+3198clav9vlh4FxB1asqNc0tLeCk=", "ips": [ "185.189.163.219" ] }, { "vpn": "openvpn", "region": "Thailand", "city": "Bangkok", "hostname": "th-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bkk-361.windscribe.com", "ips": [ "103.27.203.47", "103.230.122.176" ] }, { "vpn": "wireguard", "region": "Thailand", "city": "Bangkok", "hostname": "th-006.whiskergalaxy.com", "wgpubkey": "DUUQLXeyl2nC4PCBQ07YsQOStFzr3P2BooWkNu318SA=", "ips": [ "103.230.122.177" ] }, { "vpn": "openvpn", "region": "Thailand", "city": "Bangkok", "hostname": "th-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bkk-415.windscribe.com", "ips": [ "212.80.214.2", "212.80.214.3" ] }, { "vpn": "wireguard", "region": "Thailand", "city": "Bangkok", "hostname": "th-007.whiskergalaxy.com", "wgpubkey": "jPRI236aNThUWlgrP2LY1HKCusk/ZIWiVIIV0u6bShU=", "ips": [ "212.80.214.4" ] }, { "vpn": "openvpn", "region": "Thailand", "city": "Bangkok", "hostname": "th-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bkk-415.windscribe.com", "ips": [ "45.154.27.207", "45.154.27.3" ] }, { "vpn": "wireguard", "region": "Thailand", "city": "Bangkok", "hostname": "th-010.whiskergalaxy.com", "wgpubkey": "jPRI236aNThUWlgrP2LY1HKCusk/ZIWiVIIV0u6bShU=", "ips": [ "45.154.27.203" ] }, { "vpn": "openvpn", "region": "Thailand", "city": "Bangkok", "hostname": "th-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bkk-361.windscribe.com", "ips": [ "103.27.203.46", "116.206.126.48" ] }, { "vpn": "wireguard", "region": "Thailand", "city": "Bangkok", "hostname": "th-015.whiskergalaxy.com", "wgpubkey": "DUUQLXeyl2nC4PCBQ07YsQOStFzr3P2BooWkNu318SA=", "ips": [ "116.206.126.49" ] }, { "vpn": "openvpn", "region": "Turkey", "city": "Istanbul", "hostname": "tr-018.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ist-250.windscribe.com", "ips": [ "89.252.132.34", "89.252.132.35" ] }, { "vpn": "wireguard", "region": "Turkey", "city": "Istanbul", "hostname": "tr-018.whiskergalaxy.com", "wgpubkey": "jJUwb5Ekpn3w4fqZiCjO6GDRQ882AeiLjvDx5tYOfTw=", "ips": [ "89.252.132.36" ] }, { "vpn": "openvpn", "region": "Turkey", "city": "Istanbul", "hostname": "tr-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ist-405.windscribe.com", "ips": [ "45.136.155.225", "45.136.155.226" ] }, { "vpn": "wireguard", "region": "Turkey", "city": "Istanbul", "hostname": "tr-020.whiskergalaxy.com", "wgpubkey": "YQvL8lipIGjEE4qgpjMX3FrG+CnVNFyiGgg3wkvhSw4=", "ips": [ "45.136.155.227" ] }, { "vpn": "openvpn", "region": "Turkey", "city": "Istanbul", "hostname": "tr-021.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ist-405.windscribe.com", "ips": [ "149.102.229.193", "149.102.229.194" ] }, { "vpn": "wireguard", "region": "Turkey", "city": "Istanbul", "hostname": "tr-021.whiskergalaxy.com", "wgpubkey": "YQvL8lipIGjEE4qgpjMX3FrG+CnVNFyiGgg3wkvhSw4=", "ips": [ "149.102.229.195" ] }, { "vpn": "openvpn", "region": "Turkey", "city": "Istanbul", "hostname": "tr-029.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ist-250.windscribe.com", "ips": [ "89.252.132.18", "89.252.132.19" ] }, { "vpn": "wireguard", "region": "Turkey", "city": "Istanbul", "hostname": "tr-029.whiskergalaxy.com", "wgpubkey": "jJUwb5Ekpn3w4fqZiCjO6GDRQ882AeiLjvDx5tYOfTw=", "ips": [ "89.252.132.20" ] }, { "vpn": "openvpn", "region": "Turkey", "city": "Istanbul", "hostname": "tr-030.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ist-250.windscribe.com", "ips": [ "89.252.133.211", "89.252.133.212" ] }, { "vpn": "wireguard", "region": "Turkey", "city": "Istanbul", "hostname": "tr-030.whiskergalaxy.com", "wgpubkey": "jJUwb5Ekpn3w4fqZiCjO6GDRQ882AeiLjvDx5tYOfTw=", "ips": [ "89.252.133.213" ] }, { "vpn": "openvpn", "region": "Turkey", "city": "Istanbul", "hostname": "tr-031.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ist-250.windscribe.com", "ips": [ "89.252.133.237", "89.252.133.238" ] }, { "vpn": "wireguard", "region": "Turkey", "city": "Istanbul", "hostname": "tr-031.whiskergalaxy.com", "wgpubkey": "jJUwb5Ekpn3w4fqZiCjO6GDRQ882AeiLjvDx5tYOfTw=", "ips": [ "89.252.133.239" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "107.150.31.130", "107.150.31.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-015.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "107.150.31.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "104.129.18.130", "104.129.18.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-020.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "104.129.18.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-034.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "161.129.70.194", "161.129.70.195" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-034.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "161.129.70.196" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-050.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "107.150.31.66", "107.150.31.67" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-050.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "107.150.31.68" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-070.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "107.150.30.194", "107.150.30.195" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-070.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "107.150.30.196" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-077.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "162.222.198.130", "162.222.198.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-077.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "162.222.198.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-087.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "104.223.93.130", "104.223.93.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-087.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "104.223.93.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-088.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "155.94.216.130", "155.94.216.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-088.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "155.94.216.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-089.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "155.94.216.194", "155.94.216.195" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-089.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "155.94.216.196" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-100.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "107.150.31.2", "107.150.31.3" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-100.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "107.150.31.4" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-101.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "107.150.31.194", "107.150.31.195" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-101.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "107.150.31.196" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-103.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-109.windscribe.com", "ips": [ "104.223.88.2", "104.223.88.3" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-103.whiskergalaxy.com", "wgpubkey": "D2Tx/zEgTy2uoH2HLp5EBIFyLkHGEhkhLMYYedpcUFw=", "ips": [ "104.223.88.4" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Atlanta", "hostname": "us-central-107.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "atl-331.windscribe.com", "ips": [ "154.47.28.129", "154.47.28.130" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Atlanta", "hostname": "us-central-107.whiskergalaxy.com", "wgpubkey": "v8yTgxOMZjdZkCUoBVMUOiDBYgaNzQ9OfXc+uz2GUDc=", "ips": [ "154.47.28.131" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-029.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "198.55.125.194", "198.55.125.195" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-029.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "198.55.125.196" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-036.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "204.44.112.66", "204.44.112.67" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-036.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "204.44.112.68" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-037.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "204.44.112.130", "204.44.112.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-037.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "204.44.112.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-045.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-328.windscribe.com", "ips": [ "172.241.115.46", "172.241.131.129" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-045.whiskergalaxy.com", "wgpubkey": "OhfZprfgCdrELOzmZyXaVa35AssZyYkzNiAeulqIXis=", "ips": [ "172.241.131.130" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-055.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-192.windscribe.com", "ips": [ "206.217.139.18", "206.217.139.19" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-055.whiskergalaxy.com", "wgpubkey": "47tLjymDPpTIBerb+wn02/XNFABF4YDAGwOnijSoZmQ=", "ips": [ "206.217.139.20" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-057.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-328.windscribe.com", "ips": [ "172.241.113.18", "172.241.26.78" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-057.whiskergalaxy.com", "wgpubkey": "OhfZprfgCdrELOzmZyXaVa35AssZyYkzNiAeulqIXis=", "ips": [ "172.241.26.79" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-060.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "198.55.126.130", "198.55.126.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-060.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "198.55.126.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-067.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "104.223.98.194", "104.223.98.195" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-067.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "104.223.98.196" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-072.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "162.218.120.66", "162.218.120.67" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-072.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "162.218.120.68" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-078.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "155.94.248.66", "155.94.248.67" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-078.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "155.94.248.68" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-079.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "192.161.189.130", "192.161.189.131" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-079.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "192.161.189.132" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-080.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "192.161.188.194", "192.161.188.195" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-080.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "192.161.188.196" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-081.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-86.windscribe.com", "ips": [ "155.94.249.66", "155.94.249.67" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-081.whiskergalaxy.com", "wgpubkey": "pASG4FD9LwOfJukT/wYbUF10gD6v8DVuv5hrNbiOnHQ=", "ips": [ "155.94.249.68" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-095.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-192.windscribe.com", "ips": [ "206.217.134.114", "206.217.134.115" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-095.whiskergalaxy.com", "wgpubkey": "47tLjymDPpTIBerb+wn02/XNFABF4YDAGwOnijSoZmQ=", "ips": [ "206.217.134.116" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-096.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-192.windscribe.com", "ips": [ "23.95.42.210", "23.95.42.211" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-096.whiskergalaxy.com", "wgpubkey": "47tLjymDPpTIBerb+wn02/XNFABF4YDAGwOnijSoZmQ=", "ips": [ "23.95.42.212" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Dallas", "hostname": "us-central-104.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dfw-414.windscribe.com", "ips": [ "149.88.100.65", "149.88.100.66" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Dallas", "hostname": "us-central-104.whiskergalaxy.com", "wgpubkey": "gSj19b2N8kfxHE9SuU2IS+FGZaOlL5p5b3xth9adhHE=", "ips": [ "149.88.100.67" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Denver", "hostname": "us-central-106.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "den-145.windscribe.com", "ips": [ "95.173.221.1", "95.173.221.2" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Denver", "hostname": "us-central-106.whiskergalaxy.com", "wgpubkey": "c31sdkhmVsucRVa6nSNNSiZ2UHHLdUhq5gvfdJxSnFw=", "ips": [ "95.173.221.3" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Kansas City", "hostname": "us-central-097.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mci-371.windscribe.com", "ips": [ "74.80.181.131", "74.80.181.132" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Kansas City", "hostname": "us-central-097.whiskergalaxy.com", "wgpubkey": "0VAbqR6QprUwYMbgo1Xuel23UzzibC7OIxDJYAe3wx4=", "ips": [ "74.80.181.133" ] }, { "vpn": "openvpn", "region": "US Central", "city": "Kansas City", "hostname": "us-central-098.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mci-371.windscribe.com", "ips": [ "74.80.181.146", "74.80.181.147" ] }, { "vpn": "wireguard", "region": "US Central", "city": "Kansas City", "hostname": "us-central-098.whiskergalaxy.com", "wgpubkey": "0VAbqR6QprUwYMbgo1Xuel23UzzibC7OIxDJYAe3wx4=", "ips": [ "74.80.181.148" ] }, { "vpn": "openvpn", "region": "US East", "city": "Boston", "hostname": "us-east-051.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bos-298.windscribe.com", "ips": [ "199.217.105.226", "199.217.105.227" ] }, { "vpn": "wireguard", "region": "US East", "city": "Boston", "hostname": "us-east-051.whiskergalaxy.com", "wgpubkey": "5yBJlSpfxd8Hq4+X4ZD60MYc6tosaMh5inQwA18XCCk=", "ips": [ "199.217.105.228" ] }, { "vpn": "openvpn", "region": "US East", "city": "Boston", "hostname": "us-east-117.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bos-408.windscribe.com", "ips": [ "149.40.50.81", "149.40.50.82" ] }, { "vpn": "wireguard", "region": "US East", "city": "Boston", "hostname": "us-east-117.whiskergalaxy.com", "wgpubkey": "kggnERjnDsc9j4BQR+vA4IHsCtJqO1pZtFiXcKESWzw=", "ips": [ "149.40.50.83" ] }, { "vpn": "openvpn", "region": "US East", "city": "Boston", "hostname": "us-east-118.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bos-408.windscribe.com", "ips": [ "149.40.50.66", "149.40.50.67" ] }, { "vpn": "wireguard", "region": "US East", "city": "Boston", "hostname": "us-east-118.whiskergalaxy.com", "wgpubkey": "kggnERjnDsc9j4BQR+vA4IHsCtJqO1pZtFiXcKESWzw=", "ips": [ "149.40.50.68" ] }, { "vpn": "openvpn", "region": "US East", "city": "Boston", "hostname": "us-east-123.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bos-298.windscribe.com", "ips": [ "192.34.83.226", "192.34.83.227" ] }, { "vpn": "wireguard", "region": "US East", "city": "Boston", "hostname": "us-east-123.whiskergalaxy.com", "wgpubkey": "5yBJlSpfxd8Hq4+X4ZD60MYc6tosaMh5inQwA18XCCk=", "ips": [ "192.34.83.228" ] }, { "vpn": "openvpn", "region": "US East", "city": "Boston", "hostname": "us-east-124.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bos-298.windscribe.com", "ips": [ "199.217.104.226", "199.217.104.227" ] }, { "vpn": "wireguard", "region": "US East", "city": "Boston", "hostname": "us-east-124.whiskergalaxy.com", "wgpubkey": "5yBJlSpfxd8Hq4+X4ZD60MYc6tosaMh5inQwA18XCCk=", "ips": [ "199.217.104.228" ] }, { "vpn": "openvpn", "region": "US East", "city": "Boston", "hostname": "us-east-125.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "bos-408.windscribe.com", "ips": [ "149.88.108.1", "149.88.108.2" ] }, { "vpn": "wireguard", "region": "US East", "city": "Boston", "hostname": "us-east-125.whiskergalaxy.com", "wgpubkey": "kggnERjnDsc9j4BQR+vA4IHsCtJqO1pZtFiXcKESWzw=", "ips": [ "149.88.108.3" ] }, { "vpn": "openvpn", "region": "US East", "city": "Buffalo", "hostname": "us-east-045.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "buf-281.windscribe.com", "ips": [ "104.168.34.146", "104.168.34.147" ] }, { "vpn": "wireguard", "region": "US East", "city": "Buffalo", "hostname": "us-east-045.whiskergalaxy.com", "wgpubkey": "z77o+FZ5AcTxTvkNyjLv69ZqaQtzFoS6UdtTK1eyoE8=", "ips": [ "104.168.34.148" ] }, { "vpn": "openvpn", "region": "US East", "city": "Buffalo", "hostname": "us-east-065.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "buf-281.windscribe.com", "ips": [ "198.12.64.34", "198.12.64.35" ] }, { "vpn": "wireguard", "region": "US East", "city": "Buffalo", "hostname": "us-east-065.whiskergalaxy.com", "wgpubkey": "z77o+FZ5AcTxTvkNyjLv69ZqaQtzFoS6UdtTK1eyoE8=", "ips": [ "198.12.64.36" ] }, { "vpn": "openvpn", "region": "US East", "city": "Charlotte", "hostname": "us-east-040.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "clt-303.windscribe.com", "ips": [ "67.21.32.144", "67.21.32.145" ] }, { "vpn": "wireguard", "region": "US East", "city": "Charlotte", "hostname": "us-east-040.whiskergalaxy.com", "wgpubkey": "FUPy5mxwpV0z7j5d1Pqb37wHcyuqcCKSRDTBu/8kezc=", "ips": [ "67.21.32.146" ] }, { "vpn": "openvpn", "region": "US East", "city": "Charlotte", "hostname": "us-east-100.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "clt-303.windscribe.com", "ips": [ "192.158.226.14", "192.158.226.15" ] }, { "vpn": "wireguard", "region": "US East", "city": "Charlotte", "hostname": "us-east-100.whiskergalaxy.com", "wgpubkey": "FUPy5mxwpV0z7j5d1Pqb37wHcyuqcCKSRDTBu/8kezc=", "ips": [ "192.158.226.16" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-63.windscribe.com", "ips": [ "68.235.50.226", "68.235.50.227" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-015.whiskergalaxy.com", "wgpubkey": "6O1bKP+apj/JT/aV++aODc1+EHlPO+c0xGyfKXE+k14=", "ips": [ "68.235.50.228" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-019.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-130.windscribe.com", "ips": [ "23.226.141.194", "23.226.141.195" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-019.whiskergalaxy.com", "wgpubkey": "qt+nrPNqLaB7dNOKD3JWvkG4JbgZgKfHZv7t0818LTg=", "ips": [ "23.226.141.196" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-022.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-130.windscribe.com", "ips": [ "167.160.172.2", "167.160.172.3" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-022.whiskergalaxy.com", "wgpubkey": "qt+nrPNqLaB7dNOKD3JWvkG4JbgZgKfHZv7t0818LTg=", "ips": [ "167.160.172.4" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-053.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-130.windscribe.com", "ips": [ "107.150.29.130", "107.150.29.131" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-053.whiskergalaxy.com", "wgpubkey": "qt+nrPNqLaB7dNOKD3JWvkG4JbgZgKfHZv7t0818LTg=", "ips": [ "107.150.29.132" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-071.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-63.windscribe.com", "ips": [ "68.235.35.11", "68.235.35.12" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-071.whiskergalaxy.com", "wgpubkey": "6O1bKP+apj/JT/aV++aODc1+EHlPO+c0xGyfKXE+k14=", "ips": [ "68.235.35.13" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-077.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-63.windscribe.com", "ips": [ "68.235.43.203", "68.235.43.204" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-077.whiskergalaxy.com", "wgpubkey": "6O1bKP+apj/JT/aV++aODc1+EHlPO+c0xGyfKXE+k14=", "ips": [ "68.235.43.205" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-086.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-63.windscribe.com", "ips": [ "208.77.22.99", "208.77.22.100" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-086.whiskergalaxy.com", "wgpubkey": "6O1bKP+apj/JT/aV++aODc1+EHlPO+c0xGyfKXE+k14=", "ips": [ "208.77.22.101" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-101.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-130.windscribe.com", "ips": [ "107.150.28.130", "107.150.28.131" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-101.whiskergalaxy.com", "wgpubkey": "qt+nrPNqLaB7dNOKD3JWvkG4JbgZgKfHZv7t0818LTg=", "ips": [ "107.150.28.132" ] }, { "vpn": "openvpn", "region": "US East", "city": "Chicago", "hostname": "us-east-128.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ord-323.windscribe.com", "ips": [ "154.47.25.65", "154.47.25.66" ] }, { "vpn": "wireguard", "region": "US East", "city": "Chicago", "hostname": "us-east-128.whiskergalaxy.com", "wgpubkey": "5LYbbr320XMoXPrLsZex+2cDAMUOnzX5Htpcgb4Uc1c=", "ips": [ "154.47.25.67" ] }, { "vpn": "openvpn", "region": "US East", "city": "Cleveland", "hostname": "us-east-112.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cle-146.windscribe.com", "ips": [ "104.244.209.34", "104.244.209.35" ] }, { "vpn": "wireguard", "region": "US East", "city": "Cleveland", "hostname": "us-east-112.whiskergalaxy.com", "wgpubkey": "Ptieqs4YovU0Jxgu9d7rSTapQPp7G+8GYWiwaf8jPlA=", "ips": [ "104.244.209.36" ] }, { "vpn": "openvpn", "region": "US East", "city": "Cleveland", "hostname": "us-east-114.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "cle-146.windscribe.com", "ips": [ "104.244.209.66", "104.244.209.67" ] }, { "vpn": "wireguard", "region": "US East", "city": "Cleveland", "hostname": "us-east-114.whiskergalaxy.com", "wgpubkey": "Ptieqs4YovU0Jxgu9d7rSTapQPp7G+8GYWiwaf8jPlA=", "ips": [ "104.244.209.68" ] }, { "vpn": "openvpn", "region": "US East", "city": "Detroit", "hostname": "us-east-079.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dtw-368.windscribe.com", "ips": [ "104.244.210.50", "104.244.210.51" ] }, { "vpn": "wireguard", "region": "US East", "city": "Detroit", "hostname": "us-east-079.whiskergalaxy.com", "wgpubkey": "IMHoX/bhNghQVQB0pYKi14pwJhkOcLevpiMa7Khaz2I=", "ips": [ "104.244.210.52" ] }, { "vpn": "openvpn", "region": "US East", "city": "Detroit", "hostname": "us-east-098.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dtw-368.windscribe.com", "ips": [ "104.244.210.242", "104.244.210.243" ] }, { "vpn": "wireguard", "region": "US East", "city": "Detroit", "hostname": "us-east-098.whiskergalaxy.com", "wgpubkey": "IMHoX/bhNghQVQB0pYKi14pwJhkOcLevpiMa7Khaz2I=", "ips": [ "104.244.210.244" ] }, { "vpn": "openvpn", "region": "US East", "city": "Miami", "hostname": "us-east-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mia-206.windscribe.com", "ips": [ "173.44.36.66", "173.44.36.67" ] }, { "vpn": "wireguard", "region": "US East", "city": "Miami", "hostname": "us-east-006.whiskergalaxy.com", "wgpubkey": "7LiZu9B4qzVwl3jKRVs7ivx/BHi/jnSS/GWSuxEClgk=", "ips": [ "173.44.36.68" ] }, { "vpn": "openvpn", "region": "US East", "city": "Miami", "hostname": "us-east-028.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mia-206.windscribe.com", "ips": [ "104.223.127.194", "104.223.127.195" ] }, { "vpn": "wireguard", "region": "US East", "city": "Miami", "hostname": "us-east-028.whiskergalaxy.com", "wgpubkey": "7LiZu9B4qzVwl3jKRVs7ivx/BHi/jnSS/GWSuxEClgk=", "ips": [ "104.223.127.196" ] }, { "vpn": "openvpn", "region": "US East", "city": "Miami", "hostname": "us-east-067.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mia-140.windscribe.com", "ips": [ "86.106.87.82", "86.106.87.83" ] }, { "vpn": "wireguard", "region": "US East", "city": "Miami", "hostname": "us-east-067.whiskergalaxy.com", "wgpubkey": "1S9LgDyVSo2X34ZG8ukQQ7vqL5RpmXszNe0SYNjiUws=", "ips": [ "86.106.87.84" ] }, { "vpn": "openvpn", "region": "US East", "city": "Miami", "hostname": "us-east-097.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mia-206.windscribe.com", "ips": [ "173.44.43.130", "173.44.43.131" ] }, { "vpn": "wireguard", "region": "US East", "city": "Miami", "hostname": "us-east-097.whiskergalaxy.com", "wgpubkey": "7LiZu9B4qzVwl3jKRVs7ivx/BHi/jnSS/GWSuxEClgk=", "ips": [ "173.44.43.132" ] }, { "vpn": "openvpn", "region": "US East", "city": "Miami", "hostname": "us-east-129.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mia-326.windscribe.com", "ips": [ "149.34.248.65", "149.34.248.66" ] }, { "vpn": "wireguard", "region": "US East", "city": "Miami", "hostname": "us-east-129.whiskergalaxy.com", "wgpubkey": "makkxzTeghSw9LGaFifz0C251aBeDCKhMmtJ8p0E6Uw=", "ips": [ "149.34.248.67" ] }, { "vpn": "openvpn", "region": "US East", "city": "New Jersey", "hostname": "us-east-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ewr-181.windscribe.com", "ips": [ "162.222.195.66", "162.222.195.67" ] }, { "vpn": "wireguard", "region": "US East", "city": "New Jersey", "hostname": "us-east-020.whiskergalaxy.com", "wgpubkey": "cHmeYFIKgOrUDgfx6xOTjPUnnUtUapeLa2xA2XHvBFc=", "ips": [ "162.222.195.68" ] }, { "vpn": "openvpn", "region": "US East", "city": "New Jersey", "hostname": "us-east-054.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ewr-181.windscribe.com", "ips": [ "167.160.167.194", "167.160.167.195" ] }, { "vpn": "wireguard", "region": "US East", "city": "New Jersey", "hostname": "us-east-054.whiskergalaxy.com", "wgpubkey": "cHmeYFIKgOrUDgfx6xOTjPUnnUtUapeLa2xA2XHvBFc=", "ips": [ "167.160.167.196" ] }, { "vpn": "openvpn", "region": "US East", "city": "New Jersey", "hostname": "us-east-095.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "ewr-181.windscribe.com", "ips": [ "173.205.85.162", "173.205.85.163" ] }, { "vpn": "wireguard", "region": "US East", "city": "New Jersey", "hostname": "us-east-095.whiskergalaxy.com", "wgpubkey": "cHmeYFIKgOrUDgfx6xOTjPUnnUtUapeLa2xA2XHvBFc=", "ips": [ "173.205.85.164" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-106.windscribe.com", "ips": [ "185.232.22.194", "185.232.22.195" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-013.whiskergalaxy.com", "wgpubkey": "Tu8tlHPMbkXRANX3AF1Te+stynfOJS1mCtIOjiRToCg=", "ips": [ "185.232.22.196" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-031.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-106.windscribe.com", "ips": [ "77.81.136.66", "77.81.136.67" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-031.whiskergalaxy.com", "wgpubkey": "Tu8tlHPMbkXRANX3AF1Te+stynfOJS1mCtIOjiRToCg=", "ips": [ "77.81.136.68" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-063.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-106.windscribe.com", "ips": [ "92.119.177.82", "92.119.177.83" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-063.whiskergalaxy.com", "wgpubkey": "Tu8tlHPMbkXRANX3AF1Te+stynfOJS1mCtIOjiRToCg=", "ips": [ "92.119.177.84" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-068.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-330.windscribe.com", "ips": [ "142.234.200.140", "142.234.200.176" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-068.whiskergalaxy.com", "wgpubkey": "B8Oyz2mKiUvv3iMiKt7/rhLccCB3KcAYnCj5+fO4hHM=", "ips": [ "23.81.64.130" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-074.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-106.windscribe.com", "ips": [ "217.138.255.178", "217.138.255.179" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-074.whiskergalaxy.com", "wgpubkey": "Tu8tlHPMbkXRANX3AF1Te+stynfOJS1mCtIOjiRToCg=", "ips": [ "217.138.255.180" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-116.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-384.windscribe.com", "ips": [ "149.102.226.97", "149.102.226.98" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-116.whiskergalaxy.com", "wgpubkey": "VB4VC+CyLyFtYO86OsTV4Z17X/sa1t3pPqbJejI/Enc=", "ips": [ "149.102.226.99" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-119.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-330.windscribe.com", "ips": [ "142.234.204.65", "142.234.204.1" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-119.whiskergalaxy.com", "wgpubkey": "B8Oyz2mKiUvv3iMiKt7/rhLccCB3KcAYnCj5+fO4hHM=", "ips": [ "142.234.204.2" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-120.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-384.windscribe.com", "ips": [ "149.88.21.129", "149.88.21.130" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-120.whiskergalaxy.com", "wgpubkey": "VB4VC+CyLyFtYO86OsTV4Z17X/sa1t3pPqbJejI/Enc=", "ips": [ "149.88.21.131" ] }, { "vpn": "openvpn", "region": "US East", "city": "New York", "hostname": "us-east-127.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "jfk-330.windscribe.com", "ips": [ "108.62.49.221", "23.81.64.209" ] }, { "vpn": "wireguard", "region": "US East", "city": "New York", "hostname": "us-east-127.whiskergalaxy.com", "wgpubkey": "B8Oyz2mKiUvv3iMiKt7/rhLccCB3KcAYnCj5+fO4hHM=", "ips": [ "23.81.64.210" ] }, { "vpn": "openvpn", "region": "US East", "city": "Orlando", "hostname": "us-east-052.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mco-336.windscribe.com", "ips": [ "198.147.22.186", "198.147.22.225" ] }, { "vpn": "wireguard", "region": "US East", "city": "Orlando", "hostname": "us-east-052.whiskergalaxy.com", "wgpubkey": "b5fIKEXhihCI7f4NOkQO/2BOd+bYHa0c05OylImgB0E=", "ips": [ "198.147.22.227" ] }, { "vpn": "openvpn", "region": "US East", "city": "Orlando", "hostname": "us-east-082.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "mco-336.windscribe.com", "ips": [ "66.115.182.130", "66.115.182.131" ] }, { "vpn": "wireguard", "region": "US East", "city": "Orlando", "hostname": "us-east-082.whiskergalaxy.com", "wgpubkey": "b5fIKEXhihCI7f4NOkQO/2BOd+bYHa0c05OylImgB0E=", "ips": [ "66.115.182.132" ] }, { "vpn": "openvpn", "region": "US East", "city": "Philadelphia", "hostname": "us-east-061.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "phl-348.windscribe.com", "ips": [ "23.172.112.226", "23.172.112.227" ] }, { "vpn": "wireguard", "region": "US East", "city": "Philadelphia", "hostname": "us-east-061.whiskergalaxy.com", "wgpubkey": "oZSSjyLgPsssnrWYUZYiU5x1wF4wuuENQUoY5S4oeHc=", "ips": [ "23.172.112.228" ] }, { "vpn": "openvpn", "region": "US East", "city": "Philadelphia", "hostname": "us-east-121.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "phl-413.windscribe.com", "ips": [ "23.148.146.178", "23.146.243.194" ] }, { "vpn": "wireguard", "region": "US East", "city": "Philadelphia", "hostname": "us-east-121.whiskergalaxy.com", "wgpubkey": "1Fy3ynW7Y8y0VTKH/J2IP5ETlXF/ATneNmZDhydyvxA=", "ips": [ "23.146.243.195" ] }, { "vpn": "openvpn", "region": "US East", "city": "Philadelphia", "hostname": "us-east-122.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "phl-413.windscribe.com", "ips": [ "23.148.146.179", "23.146.243.210" ] }, { "vpn": "wireguard", "region": "US East", "city": "Philadelphia", "hostname": "us-east-122.whiskergalaxy.com", "wgpubkey": "1Fy3ynW7Y8y0VTKH/J2IP5ETlXF/ATneNmZDhydyvxA=", "ips": [ "23.146.243.211" ] }, { "vpn": "openvpn", "region": "US East", "city": "South Bend", "hostname": "us-east-113.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sbn-388.windscribe.com", "ips": [ "74.80.180.194", "74.80.180.195" ] }, { "vpn": "wireguard", "region": "US East", "city": "South Bend", "hostname": "us-east-113.whiskergalaxy.com", "wgpubkey": "E2MkaH7nxlerMCZsZu/KTJOTb5Typp9A2DuOqzbdvTM=", "ips": [ "74.80.180.196" ] }, { "vpn": "openvpn", "region": "US East", "city": "South Bend", "hostname": "us-east-115.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sbn-388.windscribe.com", "ips": [ "74.80.180.178", "74.80.180.179" ] }, { "vpn": "wireguard", "region": "US East", "city": "South Bend", "hostname": "us-east-115.whiskergalaxy.com", "wgpubkey": "E2MkaH7nxlerMCZsZu/KTJOTb5Typp9A2DuOqzbdvTM=", "ips": [ "74.80.180.180" ] }, { "vpn": "openvpn", "region": "US East", "city": "Tampa", "hostname": "us-east-110.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "tpa-349.windscribe.com", "ips": [ "38.95.13.130", "38.95.13.131" ] }, { "vpn": "wireguard", "region": "US East", "city": "Tampa", "hostname": "us-east-110.whiskergalaxy.com", "wgpubkey": "jqf7HHmkBdzk1kkGLD20O/EzLHSFV2Bc7z4MeHcP7iA=", "ips": [ "38.95.13.132" ] }, { "vpn": "openvpn", "region": "US East", "city": "Washington DC", "hostname": "us-east-089.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "was-324.windscribe.com", "ips": [ "198.7.56.247", "198.7.56.226" ] }, { "vpn": "wireguard", "region": "US East", "city": "Washington DC", "hostname": "us-east-089.whiskergalaxy.com", "wgpubkey": "uZxQR1klZ1Ere9kA8Thp7CUgAlviSWXdYjagsNdunjM=", "ips": [ "198.7.56.228" ] }, { "vpn": "openvpn", "region": "US East", "city": "Washington DC", "hostname": "us-east-090.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "was-324.windscribe.com", "ips": [ "198.7.56.248", "198.7.56.231" ] }, { "vpn": "wireguard", "region": "US East", "city": "Washington DC", "hostname": "us-east-090.whiskergalaxy.com", "wgpubkey": "uZxQR1klZ1Ere9kA8Thp7CUgAlviSWXdYjagsNdunjM=", "ips": [ "207.244.91.131" ] }, { "vpn": "openvpn", "region": "US East", "city": "Washington DC", "hostname": "us-east-092.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "was-324.windscribe.com", "ips": [ "198.7.56.232", "207.244.91.143" ] }, { "vpn": "wireguard", "region": "US East", "city": "Washington DC", "hostname": "us-east-092.whiskergalaxy.com", "wgpubkey": "uZxQR1klZ1Ere9kA8Thp7CUgAlviSWXdYjagsNdunjM=", "ips": [ "207.244.91.144" ] }, { "vpn": "openvpn", "region": "US East", "city": "Washington DC", "hostname": "us-east-093.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "was-324.windscribe.com", "ips": [ "198.7.56.230", "198.7.56.238" ] }, { "vpn": "wireguard", "region": "US East", "city": "Washington DC", "hostname": "us-east-093.whiskergalaxy.com", "wgpubkey": "uZxQR1klZ1Ere9kA8Thp7CUgAlviSWXdYjagsNdunjM=", "ips": [ "198.7.56.239" ] }, { "vpn": "openvpn", "region": "US West", "city": "Bend", "hostname": "us-west-038.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "pdx-302.windscribe.com", "ips": [ "104.152.222.32", "104.152.222.33" ] }, { "vpn": "wireguard", "region": "US West", "city": "Bend", "hostname": "us-west-038.whiskergalaxy.com", "wgpubkey": "oIt9F8IfWqCvSQACrDcmfLPFrhn+RtG+Mr9/sd4VSSU=", "ips": [ "104.152.222.34" ] }, { "vpn": "openvpn", "region": "US West", "city": "Bend", "hostname": "us-west-072.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "pdx-302.windscribe.com", "ips": [ "104.255.169.109", "104.255.169.110" ] }, { "vpn": "wireguard", "region": "US West", "city": "Bend", "hostname": "us-west-072.whiskergalaxy.com", "wgpubkey": "oIt9F8IfWqCvSQACrDcmfLPFrhn+RtG+Mr9/sd4VSSU=", "ips": [ "104.255.169.111" ] }, { "vpn": "openvpn", "region": "US West", "city": "Las Vegas", "hostname": "us-west-075.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "las-183.windscribe.com", "ips": [ "37.120.147.146", "37.120.147.147" ] }, { "vpn": "wireguard", "region": "US West", "city": "Las Vegas", "hostname": "us-west-075.whiskergalaxy.com", "wgpubkey": "XF69enunWI6bbHHwgRbE/jAvuM6plb4kyGcObYKvLVc=", "ips": [ "37.120.147.148" ] }, { "vpn": "openvpn", "region": "US West", "city": "Las Vegas", "hostname": "us-west-076.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "las-183.windscribe.com", "ips": [ "82.102.31.146", "82.102.31.147" ] }, { "vpn": "wireguard", "region": "US West", "city": "Las Vegas", "hostname": "us-west-076.whiskergalaxy.com", "wgpubkey": "XF69enunWI6bbHHwgRbE/jAvuM6plb4kyGcObYKvLVc=", "ips": [ "82.102.31.148" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-107.windscribe.com", "ips": [ "185.236.200.34", "185.236.200.35" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-004.whiskergalaxy.com", "wgpubkey": "fvmyuUJF8JvjzIts5bROwwZQ0zkSB7lk/q8E4G3+F20=", "ips": [ "185.236.200.36" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-180.windscribe.com", "ips": [ "216.45.53.130", "216.45.53.131" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-015.whiskergalaxy.com", "wgpubkey": "99Kk/D1AJ2R1Tjtcvv2JaiKrBU0Jp2z9543lX1bSfUE=", "ips": [ "216.45.53.132" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-027.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-107.windscribe.com", "ips": [ "212.103.49.66", "212.103.49.67" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-027.whiskergalaxy.com", "wgpubkey": "fvmyuUJF8JvjzIts5bROwwZQ0zkSB7lk/q8E4G3+F20=", "ips": [ "212.103.49.68" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-040.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-310.windscribe.com", "ips": [ "89.187.185.33", "89.187.185.34" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-040.whiskergalaxy.com", "wgpubkey": "7CGKj3gnMrJ73Q3TX/YPtk94ZqX+H3kfBbMwfhze/Hg=", "ips": [ "89.187.185.35" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-044.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-321.windscribe.com", "ips": [ "192.3.20.50", "192.3.20.51" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-044.whiskergalaxy.com", "wgpubkey": "EOprktmhNg2NV9HqyHTs+uLNnTwpVnXe1/wBIFesQTE=", "ips": [ "192.3.20.52" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-047.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-327.windscribe.com", "ips": [ "23.19.68.138", "172.241.214.202" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-047.whiskergalaxy.com", "wgpubkey": "sgBIEKuocQBegrbXRmTVl6QvbhdXj2MQlIrhfEMf3RQ=", "ips": [ "172.241.214.203" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-055.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-180.windscribe.com", "ips": [ "104.129.3.66", "104.129.3.67" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-055.whiskergalaxy.com", "wgpubkey": "99Kk/D1AJ2R1Tjtcvv2JaiKrBU0Jp2z9543lX1bSfUE=", "ips": [ "104.129.3.68" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-059.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-180.windscribe.com", "ips": [ "104.129.3.162", "104.129.3.163" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-059.whiskergalaxy.com", "wgpubkey": "99Kk/D1AJ2R1Tjtcvv2JaiKrBU0Jp2z9543lX1bSfUE=", "ips": [ "104.129.3.164" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-060.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-107.windscribe.com", "ips": [ "217.138.217.50", "217.138.217.51" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-060.whiskergalaxy.com", "wgpubkey": "fvmyuUJF8JvjzIts5bROwwZQ0zkSB7lk/q8E4G3+F20=", "ips": [ "217.138.217.52" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-063.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-321.windscribe.com", "ips": [ "198.23.242.146", "198.23.242.147" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-063.whiskergalaxy.com", "wgpubkey": "EOprktmhNg2NV9HqyHTs+uLNnTwpVnXe1/wBIFesQTE=", "ips": [ "198.23.242.148" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-065.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-107.windscribe.com", "ips": [ "217.138.217.210", "217.138.217.211" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-065.whiskergalaxy.com", "wgpubkey": "fvmyuUJF8JvjzIts5bROwwZQ0zkSB7lk/q8E4G3+F20=", "ips": [ "217.138.217.212" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-066.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-310.windscribe.com", "ips": [ "89.187.187.97", "89.187.187.98" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-066.whiskergalaxy.com", "wgpubkey": "7CGKj3gnMrJ73Q3TX/YPtk94ZqX+H3kfBbMwfhze/Hg=", "ips": [ "89.187.187.99" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-069.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-310.windscribe.com", "ips": [ "185.152.67.225", "185.152.67.226" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-069.whiskergalaxy.com", "wgpubkey": "7CGKj3gnMrJ73Q3TX/YPtk94ZqX+H3kfBbMwfhze/Hg=", "ips": [ "185.152.67.227" ] }, { "vpn": "openvpn", "region": "US West", "city": "Los Angeles", "hostname": "us-west-070.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lax-180.windscribe.com", "ips": [ "104.129.4.66", "104.129.4.67" ] }, { "vpn": "wireguard", "region": "US West", "city": "Los Angeles", "hostname": "us-west-070.whiskergalaxy.com", "wgpubkey": "99Kk/D1AJ2R1Tjtcvv2JaiKrBU0Jp2z9543lX1bSfUE=", "ips": [ "104.129.4.68" ] }, { "vpn": "openvpn", "region": "US West", "city": "Phoenix", "hostname": "us-west-046.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "phx-325.windscribe.com", "ips": [ "23.83.129.72", "23.83.130.166" ] }, { "vpn": "wireguard", "region": "US West", "city": "Phoenix", "hostname": "us-west-046.whiskergalaxy.com", "wgpubkey": "ZXYlnCS0zJGhpsYDhCxs8pYXsB00yqxhagTBjRD002U=", "ips": [ "23.83.130.167" ] }, { "vpn": "openvpn", "region": "US West", "city": "Phoenix", "hostname": "us-west-061.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "phx-325.windscribe.com", "ips": [ "23.83.129.65", "23.83.131.187" ] }, { "vpn": "wireguard", "region": "US West", "city": "Phoenix", "hostname": "us-west-061.whiskergalaxy.com", "wgpubkey": "ZXYlnCS0zJGhpsYDhCxs8pYXsB00yqxhagTBjRD002U=", "ips": [ "23.83.184.129" ] }, { "vpn": "openvpn", "region": "US West", "city": "San Francisco", "hostname": "us-west-048.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sfo-329.windscribe.com", "ips": [ "172.241.250.137", "172.241.250.131" ] }, { "vpn": "wireguard", "region": "US West", "city": "San Francisco", "hostname": "us-west-048.whiskergalaxy.com", "wgpubkey": "6GllLFSyxxwlqV9Yd9xij83CYgfGvfQGgN6SNh9h0xM=", "ips": [ "172.241.250.171" ] }, { "vpn": "openvpn", "region": "US West", "city": "San Francisco", "hostname": "us-west-053.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sfo-329.windscribe.com", "ips": [ "209.58.129.83", "209.58.129.121" ] }, { "vpn": "wireguard", "region": "US West", "city": "San Francisco", "hostname": "us-west-053.whiskergalaxy.com", "wgpubkey": "6GllLFSyxxwlqV9Yd9xij83CYgfGvfQGgN6SNh9h0xM=", "ips": [ "209.58.129.122" ] }, { "vpn": "openvpn", "region": "US West", "city": "San Francisco", "hostname": "us-west-054.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sfo-329.windscribe.com", "ips": [ "209.58.129.88", "172.255.125.141" ] }, { "vpn": "wireguard", "region": "US West", "city": "San Francisco", "hostname": "us-west-054.whiskergalaxy.com", "wgpubkey": "6GllLFSyxxwlqV9Yd9xij83CYgfGvfQGgN6SNh9h0xM=", "ips": [ "172.255.125.161" ] }, { "vpn": "openvpn", "region": "US West", "city": "San Jose", "hostname": "us-west-078.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sjc-337.windscribe.com", "ips": [ "149.50.212.206", "149.50.212.207" ] }, { "vpn": "wireguard", "region": "US West", "city": "San Jose", "hostname": "us-west-078.whiskergalaxy.com", "wgpubkey": "DBXvFCQL1KxJkVfJGiFzAru/1ClQi54EV1GHgoyIsWY=", "ips": [ "149.50.212.208" ] }, { "vpn": "openvpn", "region": "US West", "city": "San Jose", "hostname": "us-west-079.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sjc-337.windscribe.com", "ips": [ "149.50.212.193", "149.50.212.194" ] }, { "vpn": "wireguard", "region": "US West", "city": "San Jose", "hostname": "us-west-079.whiskergalaxy.com", "wgpubkey": "DBXvFCQL1KxJkVfJGiFzAru/1ClQi54EV1GHgoyIsWY=", "ips": [ "149.50.212.195" ] }, { "vpn": "openvpn", "region": "US West", "city": "Santa Clara", "hostname": "us-west-050.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sjc-333.windscribe.com", "ips": [ "167.88.60.226", "167.88.60.227" ] }, { "vpn": "wireguard", "region": "US West", "city": "Santa Clara", "hostname": "us-west-050.whiskergalaxy.com", "wgpubkey": "/oz2frQv99JveBgmTXW22QXIEulQURK79BW+ugk8fCE=", "ips": [ "167.88.60.228" ] }, { "vpn": "openvpn", "region": "US West", "city": "Santa Clara", "hostname": "us-west-051.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sjc-333.windscribe.com", "ips": [ "167.88.60.242", "167.88.60.243" ] }, { "vpn": "wireguard", "region": "US West", "city": "Santa Clara", "hostname": "us-west-051.whiskergalaxy.com", "wgpubkey": "/oz2frQv99JveBgmTXW22QXIEulQURK79BW+ugk8fCE=", "ips": [ "167.88.60.244" ] }, { "vpn": "openvpn", "region": "US West", "city": "Seattle", "hostname": "us-west-043.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sea-221.windscribe.com", "ips": [ "23.94.74.98", "23.94.74.99" ] }, { "vpn": "wireguard", "region": "US West", "city": "Seattle", "hostname": "us-west-043.whiskergalaxy.com", "wgpubkey": "mRksyUF7wDK/8uBoPoEujp+yoUhjhq0N2LnNJFJnmiE=", "ips": [ "23.94.74.100" ] }, { "vpn": "openvpn", "region": "US West", "city": "Seattle", "hostname": "us-west-056.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sea-290.windscribe.com", "ips": [ "104.129.56.66", "104.129.56.67" ] }, { "vpn": "wireguard", "region": "US West", "city": "Seattle", "hostname": "us-west-056.whiskergalaxy.com", "wgpubkey": "89DUtbYYyXcAktaB2cnCVA/YiZQEddYHuOz2K0vBAn4=", "ips": [ "104.129.56.68" ] }, { "vpn": "openvpn", "region": "US West", "city": "Seattle", "hostname": "us-west-057.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sea-290.windscribe.com", "ips": [ "104.129.56.130", "104.129.56.131" ] }, { "vpn": "wireguard", "region": "US West", "city": "Seattle", "hostname": "us-west-057.whiskergalaxy.com", "wgpubkey": "89DUtbYYyXcAktaB2cnCVA/YiZQEddYHuOz2K0vBAn4=", "ips": [ "104.129.56.132" ] }, { "vpn": "openvpn", "region": "US West", "city": "Seattle", "hostname": "us-west-062.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sea-221.windscribe.com", "ips": [ "198.12.116.194", "198.12.116.195" ] }, { "vpn": "wireguard", "region": "US West", "city": "Seattle", "hostname": "us-west-062.whiskergalaxy.com", "wgpubkey": "mRksyUF7wDK/8uBoPoEujp+yoUhjhq0N2LnNJFJnmiE=", "ips": [ "198.12.116.196" ] }, { "vpn": "openvpn", "region": "US West", "city": "Seattle", "hostname": "us-west-071.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sea-290.windscribe.com", "ips": [ "104.129.56.2", "104.129.56.3" ] }, { "vpn": "wireguard", "region": "US West", "city": "Seattle", "hostname": "us-west-071.whiskergalaxy.com", "wgpubkey": "89DUtbYYyXcAktaB2cnCVA/YiZQEddYHuOz2K0vBAn4=", "ips": [ "104.129.56.4" ] }, { "vpn": "openvpn", "region": "US West", "city": "Seattle", "hostname": "us-west-077.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "sea-182.windscribe.com", "ips": [ "149.22.88.65", "149.22.88.66" ] }, { "vpn": "wireguard", "region": "US West", "city": "Seattle", "hostname": "us-west-077.whiskergalaxy.com", "wgpubkey": "mPzcl2obsDyjjBl4tExF+gSle0jEhv9bHRZEi8D0PQA=", "ips": [ "149.22.88.67" ] }, { "vpn": "openvpn", "region": "Ukraine", "city": "Kyiv", "hostname": "ua-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kbp-383.windscribe.com", "ips": [ "37.19.218.1", "37.19.218.2" ] }, { "vpn": "wireguard", "region": "Ukraine", "city": "Kyiv", "hostname": "ua-010.whiskergalaxy.com", "wgpubkey": "xd+b0SNB38ILyN8mfY3d7w7zLggbq4CkkxqPavP2OUk=", "ips": [ "37.19.218.3" ] }, { "vpn": "openvpn", "region": "Ukraine", "city": "Kyiv", "hostname": "ua-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "kbp-383.windscribe.com", "ips": [ "37.19.218.15", "37.19.218.16" ] }, { "vpn": "wireguard", "region": "Ukraine", "city": "Kyiv", "hostname": "ua-011.whiskergalaxy.com", "wgpubkey": "xd+b0SNB38ILyN8mfY3d7w7zLggbq4CkkxqPavP2OUk=", "ips": [ "37.19.218.17" ] }, { "vpn": "openvpn", "region": "United Arab Emirates", "city": "Dubai", "hostname": "ae-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dxb-304.windscribe.com", "ips": [ "146.70.191.98", "146.70.191.99" ] }, { "vpn": "wireguard", "region": "United Arab Emirates", "city": "Dubai", "hostname": "ae-002.whiskergalaxy.com", "wgpubkey": "TKpGTxyjCr7+CiVhaYulaLZ7pnXEsg4135ZIlz99qwc=", "ips": [ "146.70.191.100" ] }, { "vpn": "openvpn", "region": "United Arab Emirates", "city": "Dubai", "hostname": "ae-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "dxb-304.windscribe.com", "ips": [ "146.70.191.194", "146.70.191.195" ] }, { "vpn": "wireguard", "region": "United Arab Emirates", "city": "Dubai", "hostname": "ae-003.whiskergalaxy.com", "wgpubkey": "TKpGTxyjCr7+CiVhaYulaLZ7pnXEsg4135ZIlz99qwc=", "ips": [ "146.70.191.196" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "Edinburgh", "hostname": "uk-026.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "edi-369.windscribe.com", "ips": [ "193.36.118.242", "193.36.118.243" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "Edinburgh", "hostname": "uk-026.whiskergalaxy.com", "wgpubkey": "bGn6yuCFQWWF8+ZMGlJ0M6+IJRlkLXn0/UI/mvIyYwQ=", "ips": [ "193.36.118.244" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "Edinburgh", "hostname": "uk-030.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "edi-369.windscribe.com", "ips": [ "193.36.118.226", "193.36.118.227" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "Edinburgh", "hostname": "uk-030.whiskergalaxy.com", "wgpubkey": "bGn6yuCFQWWF8+ZMGlJ0M6+IJRlkLXn0/UI/mvIyYwQ=", "ips": [ "193.36.118.228" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "Edinburgh", "hostname": "uk-043.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "edi-369.windscribe.com", "ips": [ "193.36.118.210", "193.36.118.211" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "Edinburgh", "hostname": "uk-043.whiskergalaxy.com", "wgpubkey": "bGn6yuCFQWWF8+ZMGlJ0M6+IJRlkLXn0/UI/mvIyYwQ=", "ips": [ "193.36.118.212" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-171.windscribe.com", "ips": [ "185.212.168.132", "185.212.168.133" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-007.whiskergalaxy.com", "wgpubkey": "yrmgyxaJAxTEth7Gc8lXOQVHn9Gn/fzd4cLE+0WZjFI=", "ips": [ "185.212.168.134" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-020.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-341.windscribe.com", "ips": [ "212.102.63.1", "212.102.63.2" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-020.whiskergalaxy.com", "wgpubkey": "895TAMNSeQymq8Qr6dxHh9FdRfNweZt5GdDDMB0s5XE=", "ips": [ "212.102.63.3" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-021.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-341.windscribe.com", "ips": [ "212.102.63.31", "212.102.63.32" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-021.whiskergalaxy.com", "wgpubkey": "895TAMNSeQymq8Qr6dxHh9FdRfNweZt5GdDDMB0s5XE=", "ips": [ "212.102.63.33" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-022.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-341.windscribe.com", "ips": [ "212.102.63.61", "212.102.63.62" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-022.whiskergalaxy.com", "wgpubkey": "895TAMNSeQymq8Qr6dxHh9FdRfNweZt5GdDDMB0s5XE=", "ips": [ "212.102.63.63" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-024.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-171.windscribe.com", "ips": [ "217.138.254.50", "217.138.254.51" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-024.whiskergalaxy.com", "wgpubkey": "yrmgyxaJAxTEth7Gc8lXOQVHn9Gn/fzd4cLE+0WZjFI=", "ips": [ "217.138.254.52" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-033.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-171.windscribe.com", "ips": [ "146.70.95.114", "146.70.95.115" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-033.whiskergalaxy.com", "wgpubkey": "yrmgyxaJAxTEth7Gc8lXOQVHn9Gn/fzd4cLE+0WZjFI=", "ips": [ "146.70.95.116" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-036.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-341.windscribe.com", "ips": [ "84.17.50.193", "84.17.50.194" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-036.whiskergalaxy.com", "wgpubkey": "895TAMNSeQymq8Qr6dxHh9FdRfNweZt5GdDDMB0s5XE=", "ips": [ "84.17.50.195" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "London", "hostname": "uk-042.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-335.windscribe.com", "ips": [ "5.252.69.4", "202.43.6.34" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "London", "hostname": "uk-042.whiskergalaxy.com", "wgpubkey": "qWSr7Tf40kvS+0kv4TbpSb6EevhSvn3kuXsjn2eWbA4=", "ips": [ "202.43.6.35" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "Manchester", "hostname": "uk-044.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "man-126.windscribe.com", "ips": [ "37.120.233.18", "37.120.233.19" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "Manchester", "hostname": "uk-044.whiskergalaxy.com", "wgpubkey": "oeqDhAeoxw1g/6cKq/fo4ubgssbwhO3K2Nkmn6JVhg8=", "ips": [ "37.120.233.20" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "Manchester", "hostname": "uk-045.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "man-126.windscribe.com", "ips": [ "37.120.233.34", "37.120.233.35" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "Manchester", "hostname": "uk-045.whiskergalaxy.com", "wgpubkey": "oeqDhAeoxw1g/6cKq/fo4ubgssbwhO3K2Nkmn6JVhg8=", "ips": [ "37.120.233.36" ] }, { "vpn": "openvpn", "region": "United Kingdom", "city": "Manchester", "hostname": "uk-046.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "man-126.windscribe.com", "ips": [ "37.120.233.50", "37.120.233.51" ] }, { "vpn": "wireguard", "region": "United Kingdom", "city": "Manchester", "hostname": "uk-046.whiskergalaxy.com", "wgpubkey": "oeqDhAeoxw1g/6cKq/fo4ubgssbwhO3K2Nkmn6JVhg8=", "ips": [ "37.120.233.52" ] }, { "vpn": "openvpn", "region": "Vietnam", "city": "Hanoi", "hostname": "vn-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "han-122.windscribe.com", "ips": [ "103.9.79.185", "103.9.79.186" ] }, { "vpn": "wireguard", "region": "Vietnam", "city": "Hanoi", "hostname": "vn-002.whiskergalaxy.com", "wgpubkey": "SxBT11IISNRou7thGo5A1QtaMjfzPIzZXDxdYEbDxhE=", "ips": [ "103.9.79.187" ] }, { "vpn": "openvpn", "region": "Vietnam", "city": "Hanoi", "hostname": "vn-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "han-122.windscribe.com", "ips": [ "103.9.79.218", "103.9.79.219" ] }, { "vpn": "wireguard", "region": "Vietnam", "city": "Hanoi", "hostname": "vn-004.whiskergalaxy.com", "wgpubkey": "SxBT11IISNRou7thGo5A1QtaMjfzPIzZXDxdYEbDxhE=", "ips": [ "103.9.79.220" ] }, { "vpn": "openvpn", "region": "WINDFLIX CA", "city": "Toronto", "hostname": "wf-ca-003.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yyz-292.windscribe.com", "ips": [ "149.57.28.10", "149.57.28.49" ] }, { "vpn": "wireguard", "region": "WINDFLIX CA", "city": "Toronto", "hostname": "wf-ca-003.whiskergalaxy.com", "wgpubkey": "dxMoXE/9ztTLm2UK0g6GxO1TLya8vxF7pZpX7LABuAI=", "ips": [ "149.57.28.50" ] }, { "vpn": "openvpn", "region": "WINDFLIX CA", "city": "Toronto", "hostname": "wf-ca-004.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "yyz-292.windscribe.com", "ips": [ "104.254.92.98", "104.254.92.99" ] }, { "vpn": "wireguard", "region": "WINDFLIX CA", "city": "Toronto", "hostname": "wf-ca-004.whiskergalaxy.com", "wgpubkey": "dxMoXE/9ztTLm2UK0g6GxO1TLya8vxF7pZpX7LABuAI=", "ips": [ "104.254.92.100" ] }, { "vpn": "openvpn", "region": "WINDFLIX JP", "city": "Tokyo", "hostname": "wf-jp-002.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "hnd-291.windscribe.com", "ips": [ "103.135.244.3", "5.181.235.67" ] }, { "vpn": "wireguard", "region": "WINDFLIX JP", "city": "Tokyo", "hostname": "wf-jp-002.whiskergalaxy.com", "wgpubkey": "RDqLEpYi8AT8yjjNQP12tsBvGxPekebtT0SC+gk2oAw=", "ips": [ "5.181.235.68" ] }, { "vpn": "openvpn", "region": "WINDFLIX UK", "city": "London", "hostname": "wf-uk-001.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-185.windscribe.com", "ips": [ "45.9.248.2", "45.9.248.3" ] }, { "vpn": "wireguard", "region": "WINDFLIX UK", "city": "London", "hostname": "wf-uk-001.whiskergalaxy.com", "wgpubkey": "XKu6eYKMo3aqVxjOEo4vNY11qZYUsMG+WXWnQlCoKR0=", "ips": [ "45.9.248.4" ] }, { "vpn": "openvpn", "region": "WINDFLIX UK", "city": "London", "hostname": "wf-uk-006.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-185.windscribe.com", "ips": [ "81.92.200.84", "81.92.200.85" ] }, { "vpn": "wireguard", "region": "WINDFLIX UK", "city": "London", "hostname": "wf-uk-006.whiskergalaxy.com", "wgpubkey": "XKu6eYKMo3aqVxjOEo4vNY11qZYUsMG+WXWnQlCoKR0=", "ips": [ "81.92.200.86" ] }, { "vpn": "openvpn", "region": "WINDFLIX UK", "city": "London", "hostname": "wf-uk-007.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "lhr-185.windscribe.com", "ips": [ "89.47.62.82", "89.47.62.83" ] }, { "vpn": "wireguard", "region": "WINDFLIX UK", "city": "London", "hostname": "wf-uk-007.whiskergalaxy.com", "wgpubkey": "XKu6eYKMo3aqVxjOEo4vNY11qZYUsMG+WXWnQlCoKR0=", "ips": [ "89.47.62.84" ] }, { "vpn": "openvpn", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-010.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfus-178.windscribe.com", "ips": [ "146.70.25.2", "146.70.25.3" ] }, { "vpn": "wireguard", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-010.whiskergalaxy.com", "wgpubkey": "GxEk9eSOUsTVzoE07pe4YZRaROCQwW96cQokD38Pgkk=", "ips": [ "146.70.25.4" ] }, { "vpn": "openvpn", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-011.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfus-178.windscribe.com", "ips": [ "146.70.25.66", "146.70.25.67" ] }, { "vpn": "wireguard", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-011.whiskergalaxy.com", "wgpubkey": "GxEk9eSOUsTVzoE07pe4YZRaROCQwW96cQokD38Pgkk=", "ips": [ "146.70.25.68" ] }, { "vpn": "openvpn", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-012.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfus-178.windscribe.com", "ips": [ "185.232.22.130", "185.232.22.131" ] }, { "vpn": "wireguard", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-012.whiskergalaxy.com", "wgpubkey": "GxEk9eSOUsTVzoE07pe4YZRaROCQwW96cQokD38Pgkk=", "ips": [ "185.232.22.132" ] }, { "vpn": "openvpn", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-013.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfus-178.windscribe.com", "ips": [ "217.138.206.210", "217.138.206.211" ] }, { "vpn": "wireguard", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-013.whiskergalaxy.com", "wgpubkey": "GxEk9eSOUsTVzoE07pe4YZRaROCQwW96cQokD38Pgkk=", "ips": [ "217.138.206.212" ] }, { "vpn": "openvpn", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-014.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfus-178.windscribe.com", "ips": [ "77.81.136.98", "77.81.136.99" ] }, { "vpn": "wireguard", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-014.whiskergalaxy.com", "wgpubkey": "GxEk9eSOUsTVzoE07pe4YZRaROCQwW96cQokD38Pgkk=", "ips": [ "77.81.136.100" ] }, { "vpn": "openvpn", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-015.whiskergalaxy.com", "tcp": true, "udp": true, "x509": "wfus-178.windscribe.com", "ips": [ "38.132.101.210", "38.132.101.211" ] }, { "vpn": "wireguard", "region": "WINDFLIX US", "city": "New York", "hostname": "wf-us-015.whiskergalaxy.com", "wgpubkey": "GxEk9eSOUsTVzoE07pe4YZRaROCQwW96cQokD38Pgkk=", "ips": [ "38.132.101.212" ] } ] } } ================================================ FILE: internal/storage/storage.go ================================================ package storage import ( "sync" "github.com/qdm12/gluetun/internal/models" ) type Storage struct { mergedServers models.AllServers mergedMutex sync.RWMutex // this is stored in memory to avoid re-parsing // the embedded JSON file on every call to the // SyncServers method. hardcodedServers models.AllServers logger Logger filepath string } type Logger interface { Info(s string) Warn(s string) } // New creates a new storage and reads the servers from the // embedded servers file and the file on disk. // Passing an empty filepath disables the reading and writing of // servers. func New(logger Logger, filepath string) (storage *Storage, err error) { // A unit test prevents any error from being returned // and ensures all providers are part of the servers returned. hardcodedServers, _ := parseHardcodedServers() storage = &Storage{ hardcodedServers: hardcodedServers, mergedServers: hardcodedServers, logger: logger, filepath: filepath, } if filepath != "" { if err := storage.syncServers(); err != nil { return nil, err } } return storage, nil } ================================================ FILE: internal/storage/sync.go ================================================ package storage import ( "fmt" "reflect" "github.com/qdm12/gluetun/internal/models" ) func countServers(allServers models.AllServers) (count int) { for _, servers := range allServers.ProviderToServers { count += len(servers.Servers) } return count } // syncServers merges the hardcoded servers with the ones from the file. func (s *Storage) syncServers() (err error) { hardcodedVersions := make(map[string]uint16, len(s.hardcodedServers.ProviderToServers)) for provider, servers := range s.hardcodedServers.ProviderToServers { hardcodedVersions[provider] = servers.Version } serversOnFile, err := s.readFromFile(s.filepath, hardcodedVersions) if err != nil { return fmt.Errorf("reading servers from file: %w", err) } hardcodedCount := countServers(s.hardcodedServers) countOnFile := countServers(serversOnFile) s.mergedMutex.Lock() defer s.mergedMutex.Unlock() if countOnFile == 0 { s.logger.Info(fmt.Sprintf( "creating %s with %d hardcoded servers", s.filepath, hardcodedCount)) s.mergedServers = s.hardcodedServers } else { s.logger.Info(fmt.Sprintf( "merging by most recent %d hardcoded servers and %d servers read from %s", hardcodedCount, countOnFile, s.filepath)) s.mergedServers = s.mergeServers(s.hardcodedServers, serversOnFile) } // Eventually write file if reflect.DeepEqual(serversOnFile, s.mergedServers) { return nil } err = s.flushToFile(s.filepath) if err != nil { s.logger.Warn("failed writing servers to file: " + err.Error()) } return nil } ================================================ FILE: internal/subnet/subsets.go ================================================ package subnet import ( "net/netip" ) func FindSubnetsToChange(oldSubnets, newSubnets []netip.Prefix) (subnetsToAdd, subnetsToRemove []netip.Prefix) { subnetsToAdd = findSubnetsToAdd(oldSubnets, newSubnets) subnetsToRemove = findSubnetsToRemove(oldSubnets, newSubnets) return subnetsToAdd, subnetsToRemove } func findSubnetsToAdd(oldSubnets, newSubnets []netip.Prefix) (subnetsToAdd []netip.Prefix) { for _, newSubnet := range newSubnets { found := false for _, oldSubnet := range oldSubnets { if oldSubnet.String() == newSubnet.String() { found = true break } } if !found { subnetsToAdd = append(subnetsToAdd, newSubnet) } } return subnetsToAdd } func findSubnetsToRemove(oldSubnets, newSubnets []netip.Prefix) (subnetsToRemove []netip.Prefix) { for _, oldSubnet := range oldSubnets { found := false for _, newSubnet := range newSubnets { if oldSubnet.String() == newSubnet.String() { found = true break } } if !found { subnetsToRemove = append(subnetsToRemove, oldSubnet) } } return subnetsToRemove } func RemoveSubnetFromSubnets(subnets []netip.Prefix, subnet netip.Prefix) []netip.Prefix { L := len(subnets) for i := range subnets { if subnet.String() == subnets[i].String() { subnets[i] = subnets[L-1] subnets = subnets[:L-1] break } } return subnets } ================================================ FILE: internal/tun/check.go ================================================ //go:build linux || darwin package tun import ( "errors" "fmt" "os" "syscall" ) var ( ErrTUNInfo = errors.New("cannot get syscall stat info of TUN file") ErrTUNBadRdev = errors.New("TUN file has an unexpected rdev") ) // Check checks the tunnel device specified by path is present and accessible. func (t *Tun) Check(path string) error { f, err := os.OpenFile(path, os.O_RDWR, 0) if err != nil { return fmt.Errorf("TUN device is not available: %w", err) } defer f.Close() info, err := f.Stat() if err != nil { return fmt.Errorf("getting stat information for TUN file: %w", err) } sys, ok := info.Sys().(*syscall.Stat_t) if !ok { return fmt.Errorf("%w", ErrTUNInfo) } const expectedRdev = 2760 // corresponds to major 10 and minor 200 if sys.Rdev != expectedRdev { return fmt.Errorf("%w: %d instead of expected %d", ErrTUNBadRdev, sys.Rdev, expectedRdev) } if err := f.Close(); err != nil { return fmt.Errorf("closing TUN device: %w", err) } return nil } ================================================ FILE: internal/tun/check_unspecified.go ================================================ //go:build !linux && !darwin package tun func (t *Tun) Check(path string) error { panic("not implemented") } ================================================ FILE: internal/tun/create.go ================================================ //go:build linux || darwin package tun import ( "fmt" "math" "os" "path/filepath" "golang.org/x/sys/unix" ) // Create creates a TUN device at the path specified. func (t *Tun) Create(path string) (err error) { parentDir := filepath.Dir(path) err = os.MkdirAll(parentDir, 0o751) //nolint:mnd if err != nil { return err } const ( major = 10 minor = 200 ) dev := unix.Mkdev(major, minor) if dev > math.MaxInt { panic("dev is too high") } err = unix.Mknod(path, unix.S_IFCHR, int(dev)) if err != nil { return fmt.Errorf("creating TUN device file node: %w", err) } fd, err := unix.Open(path, 0, 0) if err != nil { if err.Error() == "operation not permitted" { err = fmt.Errorf("%w (did you specify --device /dev/net/tun to your container command?)", err) } return fmt.Errorf("unix opening TUN device file: %w", err) } const nonBlocking = true err = unix.SetNonblock(fd, nonBlocking) if err != nil { return fmt.Errorf("setting non block to TUN device file descriptor: %w", err) } return nil } ================================================ FILE: internal/tun/create_unspecified.go ================================================ //go:build !linux && !darwin package tun // Create creates a TUN device at the path specified. func (t *Tun) Create(path string) error { panic("not implemented") } ================================================ FILE: internal/tun/tun.go ================================================ package tun type Tun struct{} func New() *Tun { return &Tun{} } ================================================ FILE: internal/tun/tun_test.go ================================================ //go:build linux || darwin package tun import ( "os" "strings" "testing" "github.com/stretchr/testify/require" ) func Test_Tun(t *testing.T) { t.Parallel() path := getTempPath(t) tun := New() defer func() { err := os.RemoveAll(path) require.NoError(t, err) }() // No file check fail err := tun.Check(path) require.Error(t, err) expectedMessage := "TUN device is not available: open " + path + ": no such file or directory" require.Equal(t, expectedMessage, err.Error()) // Create simple file file, err := os.Create(path) require.NoError(t, err) err = file.Close() require.NoError(t, err) // Simple file check fail err = tun.Check(path) require.Error(t, err) expectedMessage = "TUN file has an unexpected rdev: 0 instead of expected 2760" require.Equal(t, expectedMessage, err.Error()) // Create TUN device fail as file exists err = tun.Create(path) require.Error(t, err) require.EqualError(t, err, "creating TUN device file node: file exists") // Remove simple file err = os.Remove(path) require.NoError(t, err) // Create TUN device success err = tun.Create(path) if err != nil && strings.HasSuffix(err.Error(), "operation not permitted") { t.Skip("You do not have root privileges to create a TUN device, skipping test") return } require.NoError(t, err) // Check TUN device success err = tun.Check(path) require.NoError(t, err) } func getTempPath(t *testing.T) (path string) { t.Helper() file, err := os.CreateTemp("", "") require.NoError(t, err) path = file.Name() err = file.Close() require.NoError(t, err) err = os.Remove(path) require.NoError(t, err) return path } ================================================ FILE: internal/updater/html/attribute.go ================================================ package html import "golang.org/x/net/html" func Attribute(node *html.Node, key string) (value string) { for _, attribute := range node.Attr { if attribute.Key == key { return attribute.Val } } return "" } ================================================ FILE: internal/updater/html/bfs.go ================================================ package html import ( "container/list" "fmt" "golang.org/x/net/html" ) // BFS returns the node matching the match function and nil // if no node is found. func BFS(rootNode *html.Node, match MatchFunc) (node *html.Node) { visited := make(map[*html.Node]struct{}) queue := list.New() _ = queue.PushBack(rootNode) for queue.Len() > 0 { listElement := queue.Front() node, ok := queue.Remove(listElement).(*html.Node) if !ok { panic(fmt.Sprintf("linked list has bad type %T", listElement.Value)) } if node == nil { continue } if _, ok := visited[node]; ok { continue } visited[node] = struct{}{} if match(node) { return node } for child := node.FirstChild; child != nil; child = child.NextSibling { _ = queue.PushBack(child) } } return nil } ================================================ FILE: internal/updater/html/css.go ================================================ package html import ( "strings" "golang.org/x/net/html" ) func HasClassStrings(node *html.Node, classStrings ...string) (match bool) { targetClasses := make(map[string]struct{}, len(classStrings)) for _, classString := range classStrings { targetClasses[classString] = struct{}{} } classAttribute := Attribute(node, "class") classes := strings.Fields(classAttribute) for _, class := range classes { delete(targetClasses, class) } return len(targetClasses) == 0 } ================================================ FILE: internal/updater/html/errors.go ================================================ package html import ( "bytes" "fmt" "golang.org/x/net/html" ) func WrapError(sentinelError error, node *html.Node) error { return fmt.Errorf("%w: in HTML code: %s", sentinelError, mustRenderHTML(node)) } func WrapWarning(warning string, node *html.Node) string { return fmt.Sprintf("%s: in HTML code: %s", warning, mustRenderHTML(node)) } func mustRenderHTML(node *html.Node) (rendered string) { stringBuffer := bytes.NewBufferString("") err := html.Render(stringBuffer, node) if err != nil { panic(err) } return stringBuffer.String() } ================================================ FILE: internal/updater/html/fetch.go ================================================ package html import ( "context" "errors" "fmt" "net/http" "golang.org/x/net/html" ) var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code is not OK") func Fetch(ctx context.Context, client *http.Client, url string) ( rootNode *html.Node, err error, ) { request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, fmt.Errorf("creating HTTP request: %w", err) } response, err := client.Do(request) if err != nil { return nil, err } if response.StatusCode != http.StatusOK { return nil, fmt.Errorf("%w: %d %s", ErrHTTPStatusCodeNotOK, response.StatusCode, response.Status) } rootNode, err = html.Parse(response.Body) if err != nil { _ = response.Body.Close() return nil, fmt.Errorf("parsing HTML code: %w", err) } err = response.Body.Close() if err != nil { return nil, fmt.Errorf("closing response body: %w", err) } return rootNode, nil } ================================================ FILE: internal/updater/html/fetch_test.go ================================================ package html import ( "context" "io" "net/http" "strings" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.org/x/net/html" ) func parseTestHTML(t *testing.T, htmlString string) *html.Node { t.Helper() rootNode, err := html.Parse(strings.NewReader(htmlString)) require.NoError(t, err) return rootNode } type roundTripFunc func(r *http.Request) (*http.Response, error) func (f roundTripFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) } func Test_Fetch(t *testing.T) { t.Parallel() canceledCtx, cancel := context.WithCancel(context.Background()) cancel() testCases := map[string]struct { ctx context.Context url string responseStatus int responseBody io.ReadCloser rootNode *html.Node errWrapped error errMessage string }{ "context canceled": { ctx: canceledCtx, url: "https://example.com/path", errWrapped: context.Canceled, errMessage: `Get "https://example.com/path": context canceled`, }, "response status not ok": { ctx: context.Background(), url: "https://example.com/path", responseStatus: http.StatusNotFound, errWrapped: ErrHTTPStatusCodeNotOK, errMessage: `HTTP status code is not OK: 404 Not Found`, }, "success": { ctx: context.Background(), url: "https://example.com/path", responseStatus: http.StatusOK, rootNode: parseTestHTML(t, "some body"), responseBody: io.NopCloser(strings.NewReader("some body")), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() client := &http.Client{ Transport: roundTripFunc(func(r *http.Request) (*http.Response, error) { assert.Equal(t, http.MethodGet, r.Method) assert.Equal(t, r.URL.String(), testCase.url) ctxErr := r.Context().Err() if ctxErr != nil { return nil, ctxErr } return &http.Response{ StatusCode: testCase.responseStatus, Status: http.StatusText(testCase.responseStatus), Body: testCase.responseBody, }, nil }), } rootNode, err := Fetch(testCase.ctx, client, testCase.url) assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } assert.Equal(t, testCase.rootNode, rootNode) }) } } ================================================ FILE: internal/updater/html/match.go ================================================ package html import ( "golang.org/x/net/html" ) type MatchFunc func(node *html.Node) (match bool) func MatchID(id string) MatchFunc { return func(node *html.Node) (match bool) { if node == nil { return false } return Attribute(node, "id") == id } } func MatchData(data string) MatchFunc { return func(node *html.Node) (match bool) { return node != nil && node.Type == html.ElementNode && node.Data == data } } func DirectChild(parent *html.Node, matchFunc MatchFunc, ) (child *html.Node) { for child := parent.FirstChild; child != nil; child = child.NextSibling { if matchFunc(child) { return child } } return nil } func DirectChildren(parent *html.Node, matchFunc MatchFunc, ) (children []*html.Node) { for child := parent.FirstChild; child != nil; child = child.NextSibling { if matchFunc(child) { children = append(children, child) } } return children } ================================================ FILE: internal/updater/interfaces.go ================================================ package updater import ( "context" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider" ) type Providers interface { Get(providerName string) provider.Provider } type Storage interface { SetServers(provider string, servers []models.Server) (err error) GetServersCount(provider string) (count int) ServersAreEqual(provider string, servers []models.Server) (equal bool) // Extra methods to match the provider.New storage interface FilterServers(provider string, selection settings.ServerSelection) (filtered []models.Server, err error) } type Unzipper interface { FetchAndExtract(ctx context.Context, url string) ( contents map[string][]byte, err error) } type Logger interface { Info(s string) Warn(s string) Error(s string) } ================================================ FILE: internal/updater/loop/loop.go ================================================ package loop import ( "context" "net/http" "sync" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/updater" ) type Updater interface { UpdateServers(ctx context.Context, providers []string, minRatio float64) (err error) } type Loop struct { state state // Objects updater Updater logger Logger // Internal channels and locks loopLock sync.Mutex start chan struct{} running chan models.LoopStatus stop chan struct{} stopped chan struct{} updateTicker chan struct{} backoffTime time.Duration // Mock functions timeNow func() time.Time timeSince func(time.Time) time.Duration } const defaultBackoffTime = 5 * time.Second type Logger interface { Info(s string) Warn(s string) Error(s string) } func NewLoop(settings settings.Updater, providers updater.Providers, storage updater.Storage, client *http.Client, logger Logger, ) *Loop { return &Loop{ state: state{ status: constants.Stopped, settings: settings, }, updater: updater.New(client, storage, providers, logger), logger: logger, start: make(chan struct{}), running: make(chan models.LoopStatus), stop: make(chan struct{}), stopped: make(chan struct{}), updateTicker: make(chan struct{}), timeNow: time.Now, timeSince: time.Since, backoffTime: defaultBackoffTime, } } func (l *Loop) logAndWait(ctx context.Context, err error) { if err != nil { l.logger.Error(err.Error()) } l.logger.Info("retrying in " + l.backoffTime.String()) timer := time.NewTimer(l.backoffTime) l.backoffTime *= 2 select { case <-timer.C: case <-ctx.Done(): if !timer.Stop() { <-timer.C } } } func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { defer close(done) crashed := false select { case <-l.start: case <-ctx.Done(): return } for ctx.Err() == nil { updateCtx, updateCancel := context.WithCancel(ctx) settings := l.GetSettings() errorCh := make(chan error) runWg := &sync.WaitGroup{} runWg.Add(1) go func() { defer runWg.Done() err := l.updater.UpdateServers(updateCtx, settings.Providers, settings.MinRatio) if err != nil { if updateCtx.Err() == nil { errorCh <- err } return } l.state.setStatusWithLock(constants.Completed) }() if !crashed { l.running <- constants.Running crashed = false } else { l.backoffTime = defaultBackoffTime l.state.setStatusWithLock(constants.Running) } stayHere := true for stayHere { select { case <-ctx.Done(): updateCancel() runWg.Wait() close(errorCh) return case <-l.start: l.logger.Info("starting") updateCancel() runWg.Wait() stayHere = false case <-l.stop: l.logger.Info("stopping") updateCancel() runWg.Wait() l.stopped <- struct{}{} case err := <-errorCh: runWg.Wait() l.state.setStatusWithLock(constants.Crashed) l.logAndWait(ctx, err) crashed = true stayHere = false } } updateCancel() close(errorCh) } } func (l *Loop) RunRestartTicker(ctx context.Context, done chan<- struct{}) { defer close(done) timer := time.NewTimer(time.Hour) timer.Stop() timerIsStopped := true if period := *l.GetSettings().Period; period > 0 { timerIsStopped = false timer.Reset(period) } lastTick := time.Unix(0, 0) for { select { case <-ctx.Done(): if !timerIsStopped && !timer.Stop() { <-timer.C } return case <-timer.C: lastTick = l.timeNow() l.start <- struct{}{} timer.Reset(*l.GetSettings().Period) case <-l.updateTicker: if !timerIsStopped && !timer.Stop() { <-timer.C } timerIsStopped = true period := *l.GetSettings().Period if period == 0 { continue } var waited time.Duration if lastTick.UnixNano() > 0 { waited = l.timeSince(lastTick) } leftToWait := period - waited timer.Reset(leftToWait) timerIsStopped = false } } } ================================================ FILE: internal/updater/loop/state.go ================================================ package loop import ( "context" "errors" "fmt" "reflect" "sync" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) type state struct { status models.LoopStatus settings settings.Updater statusMu sync.RWMutex periodMu sync.RWMutex } func (s *state) setStatusWithLock(status models.LoopStatus) { s.statusMu.Lock() defer s.statusMu.Unlock() s.status = status } func (l *Loop) GetStatus() (status models.LoopStatus) { l.state.statusMu.RLock() defer l.state.statusMu.RUnlock() return l.state.status } var ErrInvalidStatus = errors.New("invalid status") func (l *Loop) SetStatus(ctx context.Context, status models.LoopStatus) (outcome string, err error) { l.state.statusMu.Lock() defer l.state.statusMu.Unlock() existingStatus := l.state.status switch status { case constants.Running: switch existingStatus { case constants.Starting, constants.Running, constants.Stopping, constants.Crashed: return fmt.Sprintf("already %s", existingStatus), nil } l.loopLock.Lock() defer l.loopLock.Unlock() l.state.status = constants.Starting l.state.statusMu.Unlock() l.start <- struct{}{} newStatus := constants.Starting // for canceled context select { case <-ctx.Done(): case newStatus = <-l.running: } l.state.statusMu.Lock() l.state.status = newStatus return newStatus.String(), nil case constants.Stopped: switch existingStatus { case constants.Stopped, constants.Stopping, constants.Starting, constants.Crashed: return fmt.Sprintf("already %s", existingStatus), nil } l.loopLock.Lock() defer l.loopLock.Unlock() l.state.status = constants.Stopping l.state.statusMu.Unlock() l.stop <- struct{}{} newStatus := constants.Stopping // for canceled context select { case <-ctx.Done(): case <-l.stopped: newStatus = constants.Stopped } l.state.statusMu.Lock() l.state.status = newStatus return status.String(), nil default: return "", fmt.Errorf("%w: %s: it can only be one of: %s, %s", ErrInvalidStatus, status, constants.Running, constants.Stopped) } } func (l *Loop) GetSettings() (settings settings.Updater) { l.state.periodMu.RLock() defer l.state.periodMu.RUnlock() return l.state.settings } func (l *Loop) SetSettings(settings settings.Updater) (outcome string) { l.state.periodMu.Lock() defer l.state.periodMu.Unlock() settingsUnchanged := reflect.DeepEqual(settings, l.state.settings) if settingsUnchanged { return "settings left unchanged" } l.state.settings = settings l.updateTicker <- struct{}{} return "settings updated" } ================================================ FILE: internal/updater/openvpn/extract.go ================================================ package openvpn import ( "errors" "fmt" "net/netip" "sort" "strings" ) var ( ErrUnknownProto = errors.New("unknown protocol") ErrNoRemoteHost = errors.New("remote host not found") ErrNoRemoteIP = errors.New("remote IP not found") ) func ExtractProto(b []byte) (tcp, udp bool, err error) { lines := strings.Split(string(b), "\n") const protoPrefix = "proto " for _, line := range lines { if !strings.HasPrefix(line, protoPrefix) { continue } s := strings.TrimPrefix(line, protoPrefix) s = strings.TrimSpace(s) s = strings.ToLower(s) switch s { case "tcp", "tcp4", "tcp6": return true, false, nil case "udp", "udp4", "udp6": return false, true, nil default: return false, false, fmt.Errorf("%w: %s", ErrUnknownProto, s) } } // default is UDP if unspecified in openvpn configuration return false, true, nil } func ExtractHost(b []byte) (host, warning string, err error) { const ( rejectIP = true rejectDomain = false ) hosts := extractRemoteHosts(b, rejectIP, rejectDomain) if len(hosts) == 0 { return "", "", ErrNoRemoteHost } else if len(hosts) > 1 { warning = fmt.Sprintf( "only using the first host %q and discarding %d other hosts", hosts[0], len(hosts)-1) } return hosts[0], warning, nil } func ExtractIPs(b []byte) (ips []netip.Addr, err error) { const rejectIP, rejectDomain = false, true ipStrings := extractRemoteHosts(b, rejectIP, rejectDomain) if len(ipStrings) == 0 { return nil, ErrNoRemoteIP } sort.Slice(ipStrings, func(i, j int) bool { return ipStrings[i] < ipStrings[j] }) ips = make([]netip.Addr, len(ipStrings)) for i := range ipStrings { ips[i], err = netip.ParseAddr(ipStrings[i]) if err != nil { return nil, fmt.Errorf("parsing IP address: %w", err) } } return ips, nil } func extractRemoteHosts(content []byte, rejectIP, rejectDomain bool) (hosts []string) { lines := strings.Split(string(content), "\n") for _, line := range lines { line = strings.TrimSpace(line) if !strings.HasPrefix(line, "remote ") { continue } fields := strings.Fields(line) if len(fields) == 1 || fields[1] == "" { continue } host := fields[1] _, err := netip.ParseAddr(host) if (rejectIP && err == nil) || (rejectDomain && err != nil) { continue } hosts = append(hosts, host) } return hosts } ================================================ FILE: internal/updater/openvpn/fetch.go ================================================ package openvpn import ( "context" "fmt" "io" "net/http" ) func FetchFile(ctx context.Context, client *http.Client, url string) ( host string, err error, ) { b, err := fetchData(ctx, client, url) if err != nil { return "", err } const rejectIP = true const rejectDomain = false hosts := extractRemoteHosts(b, rejectIP, rejectDomain) if len(hosts) == 0 { return "", fmt.Errorf("%w for url %s", ErrNoRemoteHost, url) } return hosts[0], nil } func fetchData(ctx context.Context, client *http.Client, url string) ( b []byte, err error, ) { request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, err } response, err := client.Do(request) if err != nil { return nil, err } defer response.Body.Close() return io.ReadAll(response.Body) } ================================================ FILE: internal/updater/openvpn/multifetch.go ================================================ package openvpn import ( "context" "net/http" ) // FetchMultiFiles fetches multiple Openvpn files in parallel and // parses them to extract each of their host. A mapping from host to // URL is returned. func FetchMultiFiles(ctx context.Context, client *http.Client, urls []string, failEarly bool, ) (hostToURL map[string]string, errors []error) { ctx, cancel := context.WithCancel(ctx) defer cancel() hostToURL = make(map[string]string, len(urls)) type Result struct { url string host string } results := make(chan Result) defer close(results) errorsCh := make(chan error) defer close(errorsCh) for _, url := range urls { go func(url string) { host, err := FetchFile(ctx, client, url) if err != nil { errorsCh <- err return } results <- Result{ url: url, host: host, } }(url) } for range urls { select { case result := <-results: hostToURL[result.host] = result.url case err := <-errorsCh: if !failEarly { errors = append(errors, err) break } if len(errors) == 0 { errors = []error{err} // keep only the first error // stop other operations, this will trigger other errors we ignore cancel() } } } if len(errors) > 0 && failEarly { // we don't care about the result found return nil, errors } return hostToURL, errors } ================================================ FILE: internal/updater/providers.go ================================================ package updater import ( "context" "encoding/json" "errors" "fmt" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider/common" ) type Provider interface { Name() string FetchServers(ctx context.Context, minServers int) (servers []models.Server, err error) } var ErrServerHasNotEnoughInformation = errors.New("server has not enough information") func (u *Updater) updateProvider(ctx context.Context, provider Provider, minRatio float64, ) (err error) { providerName := provider.Name() existingServersCount := u.storage.GetServersCount(providerName) minServers := int(minRatio * float64(existingServersCount)) servers, err := provider.FetchServers(ctx, minServers) if err != nil { if errors.Is(err, common.ErrNotEnoughServers) { u.logger.Warn("note: if running the update manually, you can use the flag " + "-minratio to allow the update to succeed with less servers found") } return fmt.Errorf("getting %s servers: %w", providerName, err) } for _, server := range servers { err := server.HasMinimumInformation() if err != nil { serverJSON, jsonErr := json.Marshal(server) if jsonErr != nil { panic(jsonErr) } return fmt.Errorf("server %s has not enough information: %w", serverJSON, err) } } if u.storage.ServersAreEqual(providerName, servers) { return nil } // Note the servers variable must NOT BE MUTATED after this call, // since the implementation does not deep copy the servers. // TODO set in storage in provider updater directly, server by server, // to avoid accumulating server data in memory. err = u.storage.SetServers(providerName, servers) if err != nil { return fmt.Errorf("setting servers to storage: %w", err) } return nil } ================================================ FILE: internal/updater/resolver/interfaces.go ================================================ package resolver import ( "context" "net" ) type Dialer interface { Dial(ctx context.Context, network, address string) (net.Conn, error) } ================================================ FILE: internal/updater/resolver/ips.go ================================================ package resolver import ( "net/netip" ) func uniqueIPsToSlice(uniqueIPs map[string]struct{}) (ips []netip.Addr) { ips = make([]netip.Addr, 0, len(uniqueIPs)) for key := range uniqueIPs { ip, err := netip.ParseAddr(key) if err != nil { panic(err) } if ip.Is4In6() { ip = netip.AddrFrom4(ip.As4()) } ips = append(ips, ip) } return ips } ================================================ FILE: internal/updater/resolver/ips_test.go ================================================ package resolver import ( "net/netip" "testing" "github.com/stretchr/testify/assert" ) func Test_uniqueIPsToSlice(t *testing.T) { t.Parallel() testCases := map[string]struct { inputIPs map[string]struct{} outputIPs []netip.Addr }{ "nil": { inputIPs: nil, outputIPs: []netip.Addr{}, }, "empty": { inputIPs: map[string]struct{}{}, outputIPs: []netip.Addr{}, }, "single IPv4": { inputIPs: map[string]struct{}{"1.1.1.1": {}}, outputIPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1})}, }, "two IPv4s": { inputIPs: map[string]struct{}{"1.1.1.1": {}, "1.1.2.1": {}}, outputIPs: []netip.Addr{netip.AddrFrom4([4]byte{1, 1, 1, 1}), netip.AddrFrom4([4]byte{1, 1, 2, 1})}, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() outputIPs := uniqueIPsToSlice(testCase.inputIPs) assert.ElementsMatch(t, testCase.outputIPs, outputIPs) }) } } ================================================ FILE: internal/updater/resolver/net.go ================================================ package resolver import ( "net" ) func newResolver(d Dialer) *net.Resolver { return &net.Resolver{ PreferGo: true, Dial: d.Dial, } } ================================================ FILE: internal/updater/resolver/parallel.go ================================================ package resolver import ( "context" "errors" "fmt" "net/netip" ) type Parallel struct { repeatResolver *Repeat } func NewParallelResolver(dialer Dialer) *Parallel { return &Parallel{ repeatResolver: NewRepeat(dialer), } } type ParallelSettings struct { // Hosts to resolve in parallel. Hosts []string Repeat RepeatSettings FailEarly bool // Maximum ratio of the hosts failing DNS resolution // divided by the total number of hosts requested. // This value is between 0 and 1. Note this is only // applicable if FailEarly is not set to true. MaxFailRatio float64 } type parallelResult struct { host string IPs []netip.Addr } var ( ErrMinFound = errors.New("not enough hosts found") ErrMaxFailRatio = errors.New("maximum failure ratio reached") ) func (pr *Parallel) Resolve(ctx context.Context, settings ParallelSettings) ( hostToIPs map[string][]netip.Addr, warnings []string, err error, ) { ctx, cancel := context.WithCancel(ctx) defer cancel() results := make(chan parallelResult) defer close(results) errors := make(chan error) defer close(errors) for _, host := range settings.Hosts { go pr.resolveAsync(ctx, host, settings.Repeat, results, errors) } hostToIPs = make(map[string][]netip.Addr, len(settings.Hosts)) maxFails := int(settings.MaxFailRatio * float64(len(settings.Hosts))) for range settings.Hosts { select { case newErr := <-errors: if settings.FailEarly { if err == nil { // only set the error to the first error encountered // and not the context canceled errors coming after. err = newErr cancel() } break } // do not add warnings coming from the call to cancel() if len(warnings) < maxFails { warnings = append(warnings, newErr.Error()) } if len(warnings) == maxFails { cancel() // cancel only once when we reach maxFails } case result := <-results: hostToIPs[result.host] = result.IPs } } if err != nil { // fail early return nil, warnings, err } failureRatio := float64(len(warnings)) / float64(len(settings.Hosts)) if failureRatio > settings.MaxFailRatio { return hostToIPs, warnings, fmt.Errorf("%w: %.2f failure ratio reached", ErrMaxFailRatio, failureRatio) } return hostToIPs, warnings, nil } func (pr *Parallel) resolveAsync(ctx context.Context, host string, settings RepeatSettings, results chan<- parallelResult, errors chan<- error, ) { IPs, err := pr.repeatResolver.Resolve(ctx, host, settings) if err != nil { errors <- err return } results <- parallelResult{ host: host, IPs: IPs, } } ================================================ FILE: internal/updater/resolver/repeat.go ================================================ package resolver import ( "context" "errors" "fmt" "net" "net/netip" "sort" "time" ) type Repeat struct { resolver *net.Resolver } func NewRepeat(dialer Dialer) *Repeat { return &Repeat{ resolver: newResolver(dialer), } } type RepeatSettings struct { Address string MaxDuration time.Duration BetweenDuration time.Duration MaxNoNew int // Maximum consecutive DNS resolution failures MaxFails int SortIPs bool } func (r *Repeat) Resolve(ctx context.Context, host string, settings RepeatSettings) ( ips []netip.Addr, err error, ) { timedCtx, cancel := context.WithTimeout(ctx, settings.MaxDuration) defer cancel() noNewCounter := 0 failCounter := 0 uniqueIPs := make(map[string]struct{}) for err == nil { // TODO // - one resolving every 100ms for round robin DNS responses // - one every second for time based DNS cycling responses noNewCounter, failCounter, err = r.resolveOnce(ctx, timedCtx, host, settings, uniqueIPs, noNewCounter, failCounter) } if len(uniqueIPs) == 0 { return nil, err } ips = uniqueIPsToSlice(uniqueIPs) if settings.SortIPs { sort.Slice(ips, func(i, j int) bool { return ips[i].Compare(ips[j]) < 1 }) } return ips, nil } var ( ErrMaxNoNew = errors.New("reached the maximum number of no new update") ErrMaxFails = errors.New("reached the maximum number of consecutive failures") ) func (r *Repeat) resolveOnce(ctx, timedCtx context.Context, host string, settings RepeatSettings, uniqueIPs map[string]struct{}, noNewCounter, failCounter int) ( newNoNewCounter, newFailCounter int, err error, ) { IPs, err := r.lookupIPs(timedCtx, host) if err != nil { failCounter++ if settings.MaxFails > 0 && failCounter == settings.MaxFails { return noNewCounter, failCounter, fmt.Errorf("%w: %d failed attempts resolving %s: %s", ErrMaxFails, settings.MaxFails, host, err) } // it's fine to fail some of the resolutions return noNewCounter, failCounter, nil } failCounter = 0 // reset the counter if we had no error anyNew := false for _, IP := range IPs { key := IP.String() if _, ok := uniqueIPs[key]; !ok { anyNew = true uniqueIPs[key] = struct{}{} } } if !anyNew { noNewCounter++ } if settings.MaxNoNew > 0 && noNewCounter == settings.MaxNoNew { // we reached the maximum number of resolutions without // finding any new IP address to our unique IP addresses set. return noNewCounter, failCounter, fmt.Errorf("%w: %d times no updated for %d IP addresses found", ErrMaxNoNew, noNewCounter, len(uniqueIPs)) } timer := time.NewTimer(settings.BetweenDuration) select { case <-timer.C: return noNewCounter, failCounter, nil case <-ctx.Done(): if !timer.Stop() { <-timer.C } return noNewCounter, failCounter, ctx.Err() case <-timedCtx.Done(): if err := ctx.Err(); err != nil { // timedCtx was canceled from its parent context return noNewCounter, failCounter, err } return noNewCounter, failCounter, fmt.Errorf("reached the timeout: %w", timedCtx.Err()) } } func (r *Repeat) lookupIPs(ctx context.Context, host string) (ips []netip.Addr, err error) { addresses, err := r.resolver.LookupIPAddr(ctx, host) if err != nil { return nil, err } ips = make([]netip.Addr, 0, len(addresses)) for i := range addresses { ip, ok := netip.AddrFromSlice(addresses[i].IP) if !ok { continue } ips = append(ips, ip) } return ips, nil } ================================================ FILE: internal/updater/unzip/extract.go ================================================ package unzip import ( "archive/zip" "bytes" "io" "path/filepath" "strings" ) func zipExtractAll(zipBytes []byte) (contents map[string][]byte, err error) { r, err := zip.NewReader(bytes.NewReader(zipBytes), int64(len(zipBytes))) if err != nil { return nil, err } contents = map[string][]byte{} for _, zf := range r.File { fileName := filepath.Base(zf.Name) if !strings.HasSuffix(fileName, ".ovpn") && !strings.HasSuffix(fileName, ".conf") { continue } f, err := zf.Open() if err != nil { return nil, err } defer f.Close() contents[fileName], err = io.ReadAll(f) if err != nil { return nil, err } if err := f.Close(); err != nil { return nil, err } } return contents, nil } ================================================ FILE: internal/updater/unzip/fetch.go ================================================ package unzip import ( "context" "errors" "fmt" "io" "net/http" ) var ErrHTTPStatusCodeNotOK = errors.New("HTTP status code not OK") func (u *Unzipper) FetchAndExtract(ctx context.Context, url string) ( contents map[string][]byte, err error, ) { request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, err } request.Header.Set("User-Agent", "gluetun") response, err := u.client.Do(request) if err != nil { return nil, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { return nil, fmt.Errorf("%w: %s: %d %s", ErrHTTPStatusCodeNotOK, url, response.StatusCode, response.Status) } b, err := io.ReadAll(response.Body) if err != nil { return nil, err } if err := response.Body.Close(); err != nil { return nil, err } return zipExtractAll(b) } ================================================ FILE: internal/updater/unzip/unzip.go ================================================ package unzip import ( "net/http" ) type Unzipper struct { client *http.Client } func New(client *http.Client) *Unzipper { return &Unzipper{ client: client, } } ================================================ FILE: internal/updater/updater.go ================================================ package updater import ( "context" "errors" "net/http" "time" "github.com/qdm12/gluetun/internal/provider/common" "github.com/qdm12/gluetun/internal/updater/unzip" "golang.org/x/text/cases" "golang.org/x/text/language" ) type Updater struct { providers Providers // state storage Storage // Functions for tests logger Logger timeNow func() time.Time client *http.Client unzipper Unzipper } func New(httpClient *http.Client, storage Storage, providers Providers, logger Logger, ) *Updater { unzipper := unzip.New(httpClient) return &Updater{ providers: providers, storage: storage, logger: logger, timeNow: time.Now, client: httpClient, unzipper: unzipper, } } func (u *Updater) UpdateServers(ctx context.Context, providers []string, minRatio float64, ) (err error) { caser := cases.Title(language.English) for _, providerName := range providers { u.logger.Info("updating " + caser.String(providerName) + " servers...") fetcher := u.providers.Get(providerName) // TODO support servers offering only TCP or only UDP // for NordVPN and PureVPN err := u.updateProvider(ctx, fetcher, minRatio) switch { case err == nil: continue case errors.Is(err, common.ErrCredentialsMissing): u.logger.Warn(err.Error() + " - skipping update for " + providerName) continue case len(providers) == 1: // return the only error for the single provider. return err case ctx.Err() != nil: // stop updating other providers if context is done return ctx.Err() default: // error encountered updating one of multiple providers // Log the error and continue updating the next provider. u.logger.Error(err.Error()) } } return nil } ================================================ FILE: internal/version/github.go ================================================ package version import ( "context" "encoding/json" "errors" "fmt" "net/http" "time" ) type githubRelease struct { TagName string `json:"tag_name"` Name string `json:"name"` Prerelease bool `json:"prerelease"` PublishedAt time.Time `json:"published_at"` } type githubCommit struct { Sha string `json:"sha"` Commit struct { Committer struct { Date time.Time `json:"date"` } `json:"committer"` } `json:"commit"` } var errHTTPStatusCode = errors.New("bad response HTTP status code") func getGithubReleases(ctx context.Context, client *http.Client) (releases []githubRelease, err error) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 15 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() const url = "https://api.github.com/repos/qdm12/gluetun/releases" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, err } response, err := client.Do(request) if err != nil { return nil, err } defer response.Body.Close() if response.StatusCode != http.StatusOK { return nil, fmt.Errorf("%w: %d %s", errHTTPStatusCode, response.StatusCode, response.Status) } decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&releases); err != nil { return nil, err } return releases, nil } func getGithubCommits(ctx context.Context, client *http.Client) (commits []githubCommit, err error) { // Define a timeout since the default client has a large timeout and we don't // want to wait too long. const timeout = 15 * time.Second ctx, cancel := context.WithTimeout(ctx, timeout) defer cancel() const url = "https://api.github.com/repos/qdm12/gluetun/commits" request, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) if err != nil { return nil, err } response, err := client.Do(request) if err != nil { return nil, err } defer response.Body.Close() decoder := json.NewDecoder(response.Body) if err := decoder.Decode(&commits); err != nil { return nil, err } return commits, nil } ================================================ FILE: internal/version/version.go ================================================ package version import ( "context" "errors" "fmt" "net/http" "sort" "time" "github.com/qdm12/gluetun/internal/format" "github.com/qdm12/gluetun/internal/models" ) // GetMessage returns a message for the user describing if there is a newer version // available. It should only be called once the tunnel is established. func GetMessage(ctx context.Context, buildInfo models.BuildInformation, client *http.Client, ) (message string, err error) { if buildInfo.Version == "latest" { // Find # of commits between current commit and latest commit commitsSince, err := getCommitsSince(ctx, client, buildInfo.Commit) if err != nil { return "", err } else if commitsSince == 0 { return fmt.Sprintf("You are running on the bleeding edge of %s!", buildInfo.Version), nil } commits := "commits" if commitsSince == 1 { commits = "commit" } return fmt.Sprintf("You are running %d %s behind the most recent %s", commitsSince, commits, buildInfo.Version), nil } tagName, name, releaseTime, err := getLatestRelease(ctx, client) if err != nil { return "", err } if tagName == buildInfo.Version { return fmt.Sprintf("You are running the latest release %s", buildInfo.Version), nil } timeSinceRelease := format.FriendlyDuration(time.Since(releaseTime)) return fmt.Sprintf("There is a new release %s (%s) created %s ago", tagName, name, timeSinceRelease), nil } var errReleaseNotFound = errors.New("release not found") func getLatestRelease(ctx context.Context, client *http.Client) (tagName, name string, time time.Time, err error) { releases, err := getGithubReleases(ctx, client) if err != nil { return "", "", time, err } // Sort releases by tag names (semver) sort.Slice(releases, func(i, j int) bool { return releases[i].TagName > releases[j].TagName }) for _, release := range releases { if release.Prerelease { continue } return release.TagName, release.Name, release.PublishedAt, nil } return "", "", time, fmt.Errorf("%w", errReleaseNotFound) } var errCommitNotFound = errors.New("commit not found") func getCommitsSince(ctx context.Context, client *http.Client, commitShort string) (n int, err error) { commits, err := getGithubCommits(ctx, client) if err != nil { return 0, err } for i := range commits { if commits[i].Sha[:7] == commitShort { return n, nil } n++ } return 0, fmt.Errorf("%w: %s", errCommitNotFound, commitShort) } ================================================ FILE: internal/vpn/amneziawg.go ================================================ package vpn import ( "context" "fmt" "github.com/qdm12/gluetun/internal/amneziawg" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider" "github.com/qdm12/gluetun/internal/wireguard" "github.com/qdm12/gosettings" ) // setupAmneziaWg sets AmneziaWG up using the configurators and settings given. func setupAmneziaWg(ctx context.Context, netlinker NetLinker, fw Firewall, providerConf provider.Provider, settings settings.VPN, ipv6Supported bool, logger wireguard.Logger) ( amneziawger *amneziawg.Amneziawg, connection models.Connection, err error, ) { connection, err = providerConf.GetConnection(settings.Provider.ServerSelection, ipv6Supported) if err != nil { return nil, models.Connection{}, fmt.Errorf("finding a VPN server: %w", err) } amneziaWGSettings := buildAmneziaWgSettings(connection, settings.AmneziaWg, ipv6Supported) logger.Debug("Amneziawg server public key: " + amneziaWGSettings.Wireguard.PublicKey) logger.Debug("Amneziawg client private key: " + gosettings.ObfuscateKey(amneziaWGSettings.Wireguard.PrivateKey)) logger.Debug("Amneziawg pre-shared key: " + gosettings.ObfuscateKey(amneziaWGSettings.Wireguard.PreSharedKey)) amneziawger, err = amneziawg.New(amneziaWGSettings, netlinker, logger) if err != nil { return nil, models.Connection{}, fmt.Errorf("creating amneziawg: %w", err) } err = fw.SetVPNConnection(ctx, connection, settings.Wireguard.Interface) if err != nil { return nil, models.Connection{}, fmt.Errorf("setting firewall: %w", err) } return amneziawger, connection, nil } func buildAmneziaWgSettings(connection models.Connection, userSettings settings.AmneziaWg, ipv6Supported bool, ) amneziawg.Settings { return amneziawg.Settings{ Wireguard: buildWireguardSettings(connection, userSettings.Wireguard, ipv6Supported), JunkPacketCount: *userSettings.JunkPacketCount, JunkPacketMin: *userSettings.JunkPacketMin, JunkPacketMax: *userSettings.JunkPacketMax, PaddingS1: *userSettings.PaddingS1, PaddingS2: *userSettings.PaddingS2, PaddingS3: *userSettings.PaddingS3, PaddingS4: *userSettings.PaddingS4, HeaderH1: *userSettings.HeaderH1, HeaderH2: *userSettings.HeaderH2, HeaderH3: *userSettings.HeaderH3, HeaderH4: *userSettings.HeaderH4, InitPacketI1: *userSettings.InitPacketI1, InitPacketI2: *userSettings.InitPacketI2, InitPacketI3: *userSettings.InitPacketI3, InitPacketI4: *userSettings.InitPacketI4, InitPacketI5: *userSettings.InitPacketI5, } } ================================================ FILE: internal/vpn/cleanup.go ================================================ package vpn import ( "context" "errors" "strings" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants/vpn" ) func (l *Loop) cleanup() { settings := l.GetSettings() var err error if *settings.DownCommand != "" { commandString := strings.ReplaceAll(*settings.DownCommand, "{{VPN_INTERFACE}}", getVPNInterface(settings)) err = l.cmder.RunAndLog(context.Background(), commandString, l.logger) if err != nil { l.logger.Error("failed to run VPN down command: " + err.Error()) } } for _, vpnPort := range l.vpnInputPorts { err := l.fw.RemoveAllowedPort(context.Background(), vpnPort) if err != nil { l.logger.Error("cannot remove allowed input port from firewall: " + err.Error()) } } err = l.publicip.ClearData() if err != nil { l.logger.Error("clearing public IP data: " + err.Error()) } err = l.stopPortForwarding() if err != nil { portForwardingAlreadyStopped := errors.Is(err, context.Canceled) if !portForwardingAlreadyStopped { l.logger.Error("stopping port forwarding: " + err.Error()) } } err = l.boringPoll.Stop() if err != nil { l.logger.Error("stopping boring poll: " + err.Error()) } } func getVPNInterface(settings settings.VPN) string { switch settings.Type { case vpn.OpenVPN: return settings.OpenVPN.Interface case vpn.Wireguard: return settings.Wireguard.Interface default: panic("invalid VPN type: " + settings.Type) } } ================================================ FILE: internal/vpn/helpers.go ================================================ package vpn import ( "context" "time" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" ) func ptrTo[T any](value T) *T { return &value } // waitForError waits 100ms for an error in the waitError channel. func (l *Loop) waitForError(ctx context.Context, waitError chan error, ) (err error) { const waitDurationForError = 100 * time.Millisecond timer := time.NewTimer(waitDurationForError) select { case <-ctx.Done(): if !timer.Stop() { <-timer.C } return ctx.Err() case <-timer.C: return nil case err := <-waitError: close(waitError) if !timer.Stop() { <-timer.C } return err } } func (l *Loop) crashed(ctx context.Context, err error) { l.signalOrSetStatus(constants.Crashed) l.logAndWait(ctx, err) } func (l *Loop) signalOrSetStatus(status models.LoopStatus) { if l.userTrigger { l.userTrigger = false select { case l.running <- status: default: // receiver calling ApplyStatus dropped out } } else { l.statusManager.SetStatus(status) } } func (l *Loop) logAndWait(ctx context.Context, err error) { if err != nil { l.logger.Error(err.Error()) } l.logger.Info("retrying in " + l.backoffTime.String()) timer := time.NewTimer(l.backoffTime) l.backoffTime *= 2 select { case <-timer.C: case <-ctx.Done(): if !timer.Stop() { <-timer.C } } } ================================================ FILE: internal/vpn/interfaces.go ================================================ package vpn import ( "context" "net/netip" "os/exec" "github.com/qdm12/gluetun/internal/command" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/pmtud/tcp" portforward "github.com/qdm12/gluetun/internal/portforward" "github.com/qdm12/gluetun/internal/provider" "github.com/qdm12/gluetun/internal/provider/utils" ) type Firewall interface { SetVPNConnection(ctx context.Context, connection models.Connection, interfaceName string) error SetAllowedPort(ctx context.Context, port uint16, interfaceName string) error RemoveAllowedPort(ctx context.Context, port uint16) error tcp.Firewall } type Routing interface { VPNLocalGatewayIP(vpnInterface string) (gateway netip.Addr, err error) VPNRoutes(vpnIntf string) (route []netlink.Route, err error) } type PortForward interface { UpdateWith(settings portforward.Settings) (err error) } type OpenVPN interface { WriteConfig(lines []string) error WriteAuthFile(user, password string) error WriteAskPassFile(passphrase string) error } type Providers interface { Get(providerName string) provider.Provider } type Provider interface { GetConnection(selection settings.ServerSelection, ipv6Supported bool) (connection models.Connection, err error) OpenVPNConfig(connection models.Connection, settings settings.OpenVPN, ipv6Supported bool) (lines []string) Name() string FetchServers(ctx context.Context, minServers int) ( servers []models.Server, err error) } type PortForwarder interface { Name() string PortForward(ctx context.Context, objects utils.PortForwardObjects) ( ports []uint16, err error) KeepPortForward(ctx context.Context, objects utils.PortForwardObjects) (err error) } type Storage interface { FilterServers(provider string, selection settings.ServerSelection) (servers []models.Server, err error) } type NetLinker interface { AddrReplace(linkIndex uint32, addr netip.Prefix) error Router Ruler Linker IsWireguardSupported() (ok bool, err error) } type Router interface { RouteList(family uint8) (routes []netlink.Route, err error) RouteAdd(route netlink.Route) error RouteReplace(route netlink.Route) error } type Ruler interface { RuleAdd(rule netlink.Rule) error RuleDel(rule netlink.Rule) error } type Linker interface { LinkList() (links []netlink.Link, err error) LinkByName(name string) (link netlink.Link, err error) LinkAdd(link netlink.Link) (linkIndex uint32, err error) LinkDel(linkIndex uint32) error LinkSetUp(linkIndex uint32) error LinkSetDown(linkIndex uint32) error LinkSetMTU(linkIndex, mtu uint32) error } type DNSLoop interface { ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) GetSettings() (settings settings.DNS) } type PublicIPLoop interface { RunOnce(ctx context.Context) (err error) ClearData() (err error) } type Cmder interface { Start(cmd *exec.Cmd) ( stdoutLines, stderrLines <-chan string, waitError <-chan error, startErr error) RunAndLog(ctx context.Context, command string, logger command.Logger) (err error) } type HealthChecker interface { SetConfig(tlsDialAddrs []string, icmpTargetIPs []netip.Addr, smallCheckType string, startupOnFail bool) Start(ctx context.Context) (runError <-chan error, err error) Stop() error } type HealthServer interface { SetError(err error) } type Service interface { Start() (runError <-chan error, err error) Stop() error } ================================================ FILE: internal/vpn/loop.go ================================================ package vpn import ( "net/http" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/loopstate" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/vpn/state" "github.com/qdm12/log" ) type Loop struct { statusManager *loopstate.State state *state.State providers Providers storage Storage healthSettings settings.Health healthChecker HealthChecker healthServer HealthServer // Fixed parameters buildInfo models.BuildInformation versionInfo bool ipv6Supported bool vpnInputPorts []uint16 // TODO make changeable through stateful firewall // Configurators openvpnConf OpenVPN netLinker NetLinker fw Firewall routing Routing portForward PortForward publicip PublicIPLoop dnsLooper DNSLoop boringPoll Service // Other objects cmder Cmder // for OpenVPN and up/down commands logger log.LoggerInterface client *http.Client // Internal channels and values stop <-chan struct{} stopped chan<- struct{} start <-chan struct{} running chan<- models.LoopStatus userTrigger bool // Internal constant values backoffTime time.Duration } const ( defaultBackoffTime = 15 * time.Second ) func NewLoop(vpnSettings settings.VPN, ipv6Supported bool, vpnInputPorts []uint16, providers Providers, storage Storage, boringPoll Service, healthSettings settings.Health, healthChecker HealthChecker, healthServer HealthServer, openvpnConf OpenVPN, netLinker NetLinker, fw Firewall, routing Routing, portForward PortForward, cmder Cmder, publicip PublicIPLoop, dnsLooper DNSLoop, logger log.LoggerInterface, client *http.Client, buildInfo models.BuildInformation, versionInfo bool, ) *Loop { start := make(chan struct{}) running := make(chan models.LoopStatus) stop := make(chan struct{}) stopped := make(chan struct{}) statusManager := loopstate.New(constants.Stopped, start, running, stop, stopped) state := state.New(statusManager, vpnSettings) return &Loop{ statusManager: statusManager, state: state, providers: providers, storage: storage, healthSettings: healthSettings, healthChecker: healthChecker, healthServer: healthServer, buildInfo: buildInfo, versionInfo: versionInfo, ipv6Supported: ipv6Supported, vpnInputPorts: vpnInputPorts, boringPoll: boringPoll, openvpnConf: openvpnConf, netLinker: netLinker, fw: fw, routing: routing, portForward: portForward, publicip: publicip, dnsLooper: dnsLooper, cmder: cmder, logger: logger, client: client, start: start, running: running, stop: stop, stopped: stopped, userTrigger: true, backoffTime: defaultBackoffTime, } } ================================================ FILE: internal/vpn/openvpn.go ================================================ package vpn import ( "context" "fmt" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/openvpn" "github.com/qdm12/gluetun/internal/provider" ) // setupOpenVPN sets OpenVPN up using the configurators and settings given. // It returns a serverName for port forwarding (PIA) and an error if it fails. func setupOpenVPN(ctx context.Context, fw Firewall, openvpnConf OpenVPN, providerConf provider.Provider, settings settings.VPN, ipv6Supported bool, starter Cmder, logger openvpn.Logger) (runner *openvpn.Runner, connection models.Connection, err error, ) { connection, err = providerConf.GetConnection(settings.Provider.ServerSelection, ipv6Supported) if err != nil { return nil, models.Connection{}, fmt.Errorf("finding a valid server connection: %w", err) } lines := providerConf.OpenVPNConfig(connection, settings.OpenVPN, ipv6Supported) if err := openvpnConf.WriteConfig(lines); err != nil { return nil, models.Connection{}, fmt.Errorf("writing configuration to file: %w", err) } if *settings.OpenVPN.User != "" { err := openvpnConf.WriteAuthFile(*settings.OpenVPN.User, *settings.OpenVPN.Password) if err != nil { return nil, models.Connection{}, fmt.Errorf("writing auth to file: %w", err) } } if *settings.OpenVPN.KeyPassphrase != "" { err := openvpnConf.WriteAskPassFile(*settings.OpenVPN.KeyPassphrase) if err != nil { return nil, models.Connection{}, fmt.Errorf("writing askpass file: %w", err) } } if err := fw.SetVPNConnection(ctx, connection, settings.OpenVPN.Interface); err != nil { return nil, models.Connection{}, fmt.Errorf("allowing VPN connection through firewall: %w", err) } runner = openvpn.NewRunner(settings.OpenVPN, starter, logger) return runner, connection, nil } ================================================ FILE: internal/vpn/portforward.go ================================================ package vpn import ( "context" "errors" "fmt" "github.com/qdm12/gluetun/internal/portforward" "github.com/qdm12/gluetun/internal/portforward/service" pfutils "github.com/qdm12/gluetun/internal/provider/utils" ) func getPortForwarder(provider Provider, providers Providers, //nolint:ireturn customPortForwarderName string, ) (portForwarder PortForwarder) { if customPortForwarderName != "" { provider = providers.Get(customPortForwarderName) } portForwarder, ok := provider.(PortForwarder) if ok { return portForwarder } return newNoPortForwarder(provider.Name()) } func (l *Loop) startPortForwarding(data tunnelUpData) (err error) { partialUpdate := portforward.Settings{ VPNIsUp: ptrTo(true), Service: service.Settings{ PortForwarder: data.portForwarder, Interface: data.vpnIntf, ServerName: data.serverName, CanPortForward: data.canPortForward, Username: data.username, Password: data.password, }, } return l.portForward.UpdateWith(partialUpdate) } func (l *Loop) stopPortForwarding() (err error) { partialUpdate := portforward.Settings{ VPNIsUp: ptrTo(false), } return l.portForward.UpdateWith(partialUpdate) } type noPortForwarder struct { providerName string } func newNoPortForwarder(providerName string) *noPortForwarder { return &noPortForwarder{ providerName: providerName, } } var ErrPortForwardingNotSupported = errors.New("custom port forwarding obtention is not supported") func (n *noPortForwarder) Name() string { return n.providerName } func (n *noPortForwarder) PortForward(context.Context, pfutils.PortForwardObjects) ( ports []uint16, err error, ) { return nil, fmt.Errorf("%w: for %s", ErrPortForwardingNotSupported, n.providerName) } func (n *noPortForwarder) KeepPortForward(context.Context, pfutils.PortForwardObjects) (err error) { return fmt.Errorf("%w: for %s", ErrPortForwardingNotSupported, n.providerName) } ================================================ FILE: internal/vpn/run.go ================================================ package vpn import ( "context" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/log" ) func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { defer close(done) select { case <-l.start: case <-ctx.Done(): return } for ctx.Err() == nil { settings := l.state.GetSettings() providerConf := l.providers.Get(settings.Provider.Name) portForwarder := getPortForwarder(providerConf, l.providers, *settings.Provider.PortForwarding.Provider) var vpnRunner interface { Run(ctx context.Context, waitError chan<- error, tunnelReady chan<- struct{}) } var vpnInterface string var connection models.Connection var err error subLogger := l.logger.New(log.SetComponent(settings.Type)) switch settings.Type { case vpn.AmneziaWg: vpnInterface = settings.AmneziaWg.Wireguard.Interface vpnRunner, connection, err = setupAmneziaWg(ctx, l.netLinker, l.fw, providerConf, settings, l.ipv6Supported, subLogger) case vpn.OpenVPN: vpnInterface = settings.OpenVPN.Interface vpnRunner, connection, err = setupOpenVPN(ctx, l.fw, l.openvpnConf, providerConf, settings, l.ipv6Supported, l.cmder, subLogger) case vpn.Wireguard: vpnInterface = settings.Wireguard.Interface vpnRunner, connection, err = setupWireguard(ctx, l.netLinker, l.fw, providerConf, settings, l.ipv6Supported, subLogger) default: panic("vpn type not implemented: " + settings.Type) } if err != nil { l.crashed(ctx, err) continue } tunnelUpData := tunnelUpData{ upCommand: *settings.UpCommand, pmtud: tunnelUpPMTUDData{ enabled: settings.Type != vpn.Wireguard || *settings.Wireguard.MTU == 0, vpnType: settings.Type, network: connection.Protocol, icmpAddrs: settings.PMTUD.ICMPAddresses, tcpAddrs: settings.PMTUD.TCPAddresses, }, serverIP: connection.IP, serverName: connection.ServerName, canPortForward: connection.PortForward, portForwarder: portForwarder, vpnIntf: vpnInterface, username: settings.Provider.PortForwarding.Username, password: settings.Provider.PortForwarding.Password, } vpnCtx, vpnCancel := context.WithCancel(context.Background()) waitError := make(chan error) tunnelReady := make(chan struct{}) go vpnRunner.Run(vpnCtx, waitError, tunnelReady) if err := l.waitForError(ctx, waitError); err != nil { vpnCancel() l.crashed(ctx, err) continue } l.backoffTime = defaultBackoffTime l.signalOrSetStatus(constants.Running) stayHere := true for stayHere { select { case <-tunnelReady: go l.onTunnelUp(vpnCtx, ctx, tunnelUpData) case <-ctx.Done(): l.cleanup() vpnCancel() <-waitError close(waitError) return case <-l.stop: l.userTrigger = true l.logger.Info("stopping") l.cleanup() vpnCancel() <-waitError // do not close waitError or the waitError // select case will trigger l.stopped <- struct{}{} case <-l.start: l.userTrigger = true l.logger.Info("starting") stayHere = false case err := <-waitError: // unexpected error l.statusManager.Lock() // prevent SetStatus from running in parallel l.cleanup() vpnCancel() l.statusManager.SetStatus(constants.Crashed) l.logAndWait(ctx, err) stayHere = false l.statusManager.Unlock() } } vpnCancel() } } ================================================ FILE: internal/vpn/settings.go ================================================ package vpn import ( "context" "github.com/qdm12/gluetun/internal/configuration/settings" ) func (l *Loop) GetSettings() (settings settings.VPN) { return l.state.GetSettings() } func (l *Loop) SetSettings(ctx context.Context, vpn settings.VPN) ( outcome string, ) { return l.state.SetSettings(ctx, vpn) } ================================================ FILE: internal/vpn/state/state.go ================================================ package state import ( "context" "sync" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" ) func New(statusApplier StatusApplier, vpn settings.VPN) *State { return &State{ statusApplier: statusApplier, vpn: vpn, } } type State struct { statusApplier StatusApplier vpn settings.VPN settingsMu sync.RWMutex } type StatusApplier interface { ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error) } ================================================ FILE: internal/vpn/state/vpn.go ================================================ package state import ( "context" "reflect" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" ) func (s *State) GetSettings() (vpn settings.VPN) { s.settingsMu.RLock() vpn = s.vpn.Copy() s.settingsMu.RUnlock() return vpn } func (s *State) SetSettings(ctx context.Context, vpn settings.VPN) ( outcome string, ) { s.settingsMu.Lock() settingsUnchanged := reflect.DeepEqual(s.vpn, vpn) if settingsUnchanged { s.settingsMu.Unlock() return "settings left unchanged" } s.vpn = vpn s.settingsMu.Unlock() _, _ = s.statusApplier.ApplyStatus(ctx, constants.Stopped) outcome, _ = s.statusApplier.ApplyStatus(ctx, constants.Running) return outcome } ================================================ FILE: internal/vpn/status.go ================================================ package vpn import ( "context" "github.com/qdm12/gluetun/internal/models" ) func (l *Loop) GetStatus() (status models.LoopStatus) { return l.statusManager.GetStatus() } func (l *Loop) ApplyStatus(ctx context.Context, status models.LoopStatus) ( outcome string, err error, ) { return l.statusManager.ApplyStatus(ctx, status) } ================================================ FILE: internal/vpn/tunnelup.go ================================================ package vpn import ( "context" "fmt" "net/netip" "strings" "time" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/gluetun/internal/pmtud" pconstants "github.com/qdm12/gluetun/internal/pmtud/constants" "github.com/qdm12/gluetun/internal/pmtud/tcp" "github.com/qdm12/gluetun/internal/version" "github.com/qdm12/log" ) type tunnelUpData struct { upCommand string // Healthcheck serverIP netip.Addr pmtud tunnelUpPMTUDData // Port forwarding vpnIntf string serverName string // used for PIA canPortForward bool // used for PIA username string // used for PIA password string // used for PIA portForwarder PortForwarder } type tunnelUpPMTUDData struct { // enabled is notably false if the user specifies a custom MTU. enabled bool // vpnType is used to find the maximum VPN header overhead. // It can be [vpn.Wireguard] or [vpn.OpenVPN]. vpnType string // network is used to find the network level header overhead. // It can be [constants.UDP] or [constants.TCP]. network string // icmpAddrs is the list of addresses to use for ICMP path MTU discovery. // Each address should handle ICMP packets for PMTUD to work. icmpAddrs []netip.Addr // tcpAddrs is the list of addresses to use for TCP path MTU discovery. // Each address should have a listening TCP server on the port specified. tcpAddrs []netip.AddrPort } func (l *Loop) onTunnelUp(ctx, loopCtx context.Context, data tunnelUpData) { switch vpnType := l.GetSettings().Type; vpnType { case vpn.Wireguard, vpn.AmneziaWg: l.logger.Infof("%s setup is complete. "+ "Note %s is a silent protocol and it may or may not work, without giving any error message. "+ "Typically i/o timeout errors indicate the %s connection is not working.", vpnType, vpnType, vpnType) } l.client.CloseIdleConnections() for _, vpnPort := range l.vpnInputPorts { err := l.fw.SetAllowedPort(ctx, vpnPort, data.vpnIntf) if err != nil { l.logger.Error("cannot allow input port through firewall: " + err.Error()) } } if data.pmtud.enabled { mtuLogger := l.logger.New(log.SetComponent("MTU discovery")) err := updateToMaxMTU(ctx, data.vpnIntf, data.pmtud.vpnType, data.pmtud.network, data.pmtud.icmpAddrs, data.pmtud.tcpAddrs, l.netLinker, l.routing, l.fw, mtuLogger) if err != nil { mtuLogger.Error(err.Error()) } } icmpTargetIPs := l.healthSettings.ICMPTargetIPs if len(icmpTargetIPs) == 1 && icmpTargetIPs[0].IsUnspecified() { icmpTargetIPs = []netip.Addr{data.serverIP} } l.healthChecker.SetConfig(l.healthSettings.TargetAddresses, icmpTargetIPs, l.healthSettings.SmallCheckType, !*l.healthSettings.RestartVPN) healthErrCh, err := l.healthChecker.Start(ctx) l.healthServer.SetError(err) if err != nil { if *l.healthSettings.RestartVPN { // Note this restart call must be done in a separate goroutine // from the VPN loop goroutine. l.restartVPN(loopCtx, err) return } l.logger.Warnf("(ignored) healthchecker start failed: %s", err) l.logger.Info("👉 See https://github.com/qdm12/gluetun-wiki/blob/main/faq/healthcheck.md") } // Start collecting health errors asynchronously, since // we should not wait for the code below to complete // to start monitoring health and auto-healing. go l.collectHealthErrors(ctx, loopCtx, healthErrCh) _, _ = l.dnsLooper.ApplyStatus(ctx, constants.Running) err = l.publicip.RunOnce(ctx) if err != nil { l.logger.Error("getting public IP address information: " + err.Error()) } if l.versionInfo { l.versionInfo = false // only get the version information once message, err := version.GetMessage(ctx, l.buildInfo, l.client) if err != nil { l.logger.Error("cannot get version information: " + err.Error()) } else { l.logger.Info(message) } } if data.upCommand != "" { commandString := strings.ReplaceAll(data.upCommand, "{{VPN_INTERFACE}}", data.vpnIntf) err := l.cmder.RunAndLog(context.Background(), commandString, l.logger) if err != nil { l.logger.Error("failed to run VPN up command: " + err.Error()) } } err = l.startPortForwarding(data) if err != nil { l.logger.Error(err.Error()) } _, err = l.boringPoll.Start() if err != nil { l.logger.Error("cannot start boring poll: " + err.Error()) } } func (l *Loop) collectHealthErrors(ctx, loopCtx context.Context, healthErrCh <-chan error) { var previousHealthErr error for { select { case <-ctx.Done(): _ = l.healthChecker.Stop() return case healthErr := <-healthErrCh: l.healthServer.SetError(healthErr) if healthErr != nil { if *l.healthSettings.RestartVPN { // Note this restart call must be done in a separate goroutine // from the VPN loop goroutine. _ = l.healthChecker.Stop() l.restartVPN(loopCtx, healthErr) return } l.logger.Warnf("(ignored) healthcheck failed: %s", healthErr) l.logger.Info("👉 See https://github.com/qdm12/gluetun-wiki/blob/main/faq/healthcheck.md") } else if previousHealthErr != nil { l.logger.Info("healthcheck passed successfully after previous failure(s)") } previousHealthErr = healthErr } } } func (l *Loop) restartVPN(ctx context.Context, healthErr error) { l.logger.Warnf("restarting VPN because it failed to pass the healthcheck: %s", healthErr) l.logger.Info("👉 See https://github.com/qdm12/gluetun-wiki/blob/main/faq/healthcheck.md") l.logger.Info("DO NOT OPEN AN ISSUE UNLESS YOU HAVE READ AND TRIED EVERY POSSIBLE SOLUTION") _, _ = l.ApplyStatus(ctx, constants.Stopped) _, _ = l.ApplyStatus(ctx, constants.Running) } func updateToMaxMTU(ctx context.Context, vpnInterface string, vpnType, network string, icmpAddrs []netip.Addr, tcpAddrs []netip.AddrPort, netlinker NetLinker, routing Routing, firewall tcp.Firewall, logger *log.Logger, ) error { logger.Info("finding maximum MTU, this can take up to 6 seconds") vpnGatewayIP, err := routing.VPNLocalGatewayIP(vpnInterface) if err != nil { return fmt.Errorf("getting VPN gateway IP address: %w", err) } vpnRoutes, err := routing.VPNRoutes(vpnInterface) if err != nil { return fmt.Errorf("getting VPN routes: %w", err) } link, err := netlinker.LinkByName(vpnInterface) if err != nil { return fmt.Errorf("getting VPN interface by name: %w", err) } originalMTU := link.MTU vpnLinkMTU := pmtud.MaxTheoreticalVPNMTU(vpnType, network, vpnGatewayIP) // Setting the VPN link MTU to 1500 might interrupt the connection until // the new MTU is set again, but this is necessary to find the highest valid MTU. logger.Debugf("VPN interface %s MTU temporarily set to %d", vpnInterface, vpnLinkMTU) err = netlinker.LinkSetMTU(link.Index, vpnLinkMTU) if err != nil { return fmt.Errorf("setting VPN interface %s MTU to %d: %w", vpnInterface, vpnLinkMTU, err) } const pingTimeout = time.Second vpnLinkMTU, err = pmtud.PathMTUDiscover(ctx, icmpAddrs, tcpAddrs, vpnLinkMTU, pingTimeout, firewall, logger) if err != nil { vpnLinkMTU = originalMTU logger.Infof("reverting VPN interface %s MTU to %d (due to: %s)", vpnInterface, originalMTU, err) } else { logger.Infof("setting VPN interface %s MTU to maximum valid MTU %d", vpnInterface, vpnLinkMTU) } err = setTCPMSSOnVPNRoutes(vpnLinkMTU, vpnRoutes, netlinker) if err != nil { err = fmt.Errorf("setting safe TCP MSS for MTU %d: %w", vpnLinkMTU, err) vpnLinkMTU = originalMTU logger.Infof("reverting VPN interface %s MTU to %d (due to: %s)", vpnInterface, originalMTU, err) } err = netlinker.LinkSetMTU(link.Index, vpnLinkMTU) if err != nil { return fmt.Errorf("setting VPN interface %s MTU to %d: %w", vpnInterface, vpnLinkMTU, err) } return nil } func setTCPMSSOnVPNRoutes(mtu uint32, routes []netlink.Route, netlinker NetLinker) error { for _, route := range routes { ipHeaderLength := pconstants.IPv4HeaderLength if route.Dst.Addr().Is6() { ipHeaderLength = pconstants.IPv6HeaderLength } const mysteriousOverhead = 20 // most likely TCP options, such as the 12B of timestamps overhead := ipHeaderLength + pconstants.BaseTCPHeaderLength + mysteriousOverhead mss := mtu - overhead route.AdvMSS = mss err := netlinker.RouteReplace(route) if err != nil { return fmt.Errorf("replacing route %v: %w", route, err) } } return nil } ================================================ FILE: internal/vpn/wireguard.go ================================================ package vpn import ( "context" "fmt" "net/netip" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/provider" "github.com/qdm12/gluetun/internal/wireguard" "github.com/qdm12/gosettings" ) // setupWireguard sets Wireguard up using the configurators and settings given. // It returns a serverName for port forwarding (PIA) and an error if it fails. func setupWireguard(ctx context.Context, netlinker NetLinker, fw Firewall, providerConf provider.Provider, settings settings.VPN, ipv6Supported bool, logger wireguard.Logger) ( wireguarder *wireguard.Wireguard, connection models.Connection, err error, ) { connection, err = providerConf.GetConnection(settings.Provider.ServerSelection, ipv6Supported) if err != nil { return nil, models.Connection{}, fmt.Errorf("finding a VPN server: %w", err) } wireguardSettings := buildWireguardSettings(connection, settings.Wireguard, ipv6Supported) logger.Debug("Wireguard server public key: " + wireguardSettings.PublicKey) logger.Debug("Wireguard client private key: " + gosettings.ObfuscateKey(wireguardSettings.PrivateKey)) logger.Debug("Wireguard pre-shared key: " + gosettings.ObfuscateKey(wireguardSettings.PreSharedKey)) wireguarder, err = wireguard.New(wireguardSettings, netlinker, logger) if err != nil { return nil, models.Connection{}, fmt.Errorf("creating Wireguard: %w", err) } err = fw.SetVPNConnection(ctx, connection, settings.Wireguard.Interface) if err != nil { return nil, models.Connection{}, fmt.Errorf("setting firewall: %w", err) } return wireguarder, connection, nil } func buildWireguardSettings(connection models.Connection, userSettings settings.Wireguard, ipv6Supported bool, ) (settings wireguard.Settings) { settings.PrivateKey = *userSettings.PrivateKey settings.PublicKey = connection.PubKey settings.PreSharedKey = *userSettings.PreSharedKey settings.InterfaceName = userSettings.Interface settings.Implementation = userSettings.Implementation if *userSettings.MTU > 0 { settings.MTU = *userSettings.MTU } else { // The default is 1320 which is NOT the wireguard-go default // of 1420 because this impacts bandwidth a lot on some // VPN providers, see https://github.com/qdm12/gluetun/issues/1650. // It has been lowered to 1320 following quite a bit of // investigation in the issue: https://github.com/qdm12/gluetun/issues/2533. const defaultMTU = 1320 settings.MTU = defaultMTU } settings.IPv6 = &ipv6Supported const rulePriority = 101 // 100 is to receive external connections settings.RulePriority = rulePriority settings.Endpoint = netip.AddrPortFrom(connection.IP, connection.Port) settings.Addresses = make([]netip.Prefix, 0, len(userSettings.Addresses)) for _, address := range userSettings.Addresses { if !ipv6Supported && address.Addr().Is6() { continue } addressCopy := netip.PrefixFrom(address.Addr(), address.Bits()) settings.Addresses = append(settings.Addresses, addressCopy) } settings.AllowedIPs = make([]netip.Prefix, 0, len(userSettings.AllowedIPs)) for _, allowedIP := range userSettings.AllowedIPs { if !ipv6Supported && allowedIP.Addr().Is6() { continue } settings.AllowedIPs = append(settings.AllowedIPs, allowedIP) } settings.PersistentKeepaliveInterval = *userSettings.PersistentKeepaliveInterval return settings } ================================================ FILE: internal/vpn/wireguard_test.go ================================================ package vpn import ( "net/netip" "testing" "time" "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/wireguard" "github.com/stretchr/testify/assert" ) func Test_buildWireguardSettings(t *testing.T) { t.Parallel() testCases := map[string]struct { connection models.Connection userSettings settings.Wireguard ipv6Supported bool settings wireguard.Settings }{ "some_settings": { connection: models.Connection{ IP: netip.AddrFrom4([4]byte{1, 2, 3, 4}), Port: 51821, PubKey: "public", }, userSettings: settings.Wireguard{ PrivateKey: ptrTo("private"), PreSharedKey: ptrTo("pre-shared"), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 32), netip.PrefixFrom(netip.AddrFrom16([16]byte{}), 32), }, AllowedIPs: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), netip.PrefixFrom(netip.AddrFrom16([16]byte{}), 32), }, PersistentKeepaliveInterval: ptrTo(time.Hour), Interface: "wg1", MTU: ptrTo(uint32(1000)), }, ipv6Supported: false, settings: wireguard.Settings{ InterfaceName: "wg1", PrivateKey: "private", PublicKey: "public", PreSharedKey: "pre-shared", Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51821), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 32), }, AllowedIPs: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), }, PersistentKeepaliveInterval: time.Hour, RulePriority: 101, IPv6: ptrTo(false), MTU: 1000, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() settings := buildWireguardSettings(testCase.connection, testCase.userSettings, testCase.ipv6Supported) assert.Equal(t, testCase.settings, settings) }) } } ================================================ FILE: internal/wireguard/address.go ================================================ package wireguard import ( "fmt" "net/netip" ) func AddAddresses(linkIndex uint32, addresses []netip.Prefix, ipv6 bool, netlink NetLinker, ) (err error) { for _, address := range addresses { if !ipv6 && address.Addr().Is6() { continue } err = netlink.AddrReplace(linkIndex, address) if err != nil { return fmt.Errorf("%w: when adding address %s to link with index %d", err, address, linkIndex) } } return nil } ================================================ FILE: internal/wireguard/address_test.go ================================================ package wireguard import ( "errors" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_AddAddresses(t *testing.T) { t.Parallel() ipNetOne := netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 32) ipNetTwo := netip.PrefixFrom(netip.MustParseAddr("::1234"), 64) errDummy := errors.New("dummy") testCases := map[string]struct { linkIndex uint32 addrs []netip.Prefix ipv6 bool netlinkBuilder func(ctrl *gomock.Controller, linkIndex uint32) *MockNetLinker err error }{ "success": { linkIndex: 1, addrs: []netip.Prefix{ipNetOne, ipNetTwo}, ipv6: true, netlinkBuilder: func(ctrl *gomock.Controller, linkIndex uint32) *MockNetLinker { netLinker := NewMockNetLinker(ctrl) firstCall := netLinker.EXPECT(). AddrReplace(linkIndex, ipNetOne). Return(nil) netLinker.EXPECT(). AddrReplace(linkIndex, ipNetTwo). Return(nil).After(firstCall) return netLinker }, }, "first add error": { linkIndex: 1, addrs: []netip.Prefix{ipNetOne, ipNetTwo}, ipv6: true, netlinkBuilder: func(ctrl *gomock.Controller, linkIndex uint32) *MockNetLinker { netLinker := NewMockNetLinker(ctrl) netLinker.EXPECT(). AddrReplace(linkIndex, ipNetOne). Return(errDummy) return netLinker }, err: errors.New("dummy: when adding address 1.2.3.4/32 to link with index 1"), }, "second add error": { linkIndex: 1, addrs: []netip.Prefix{ipNetOne, ipNetTwo}, ipv6: true, netlinkBuilder: func(ctrl *gomock.Controller, linkIndex uint32) *MockNetLinker { netLinker := NewMockNetLinker(ctrl) firstCall := netLinker.EXPECT(). AddrReplace(linkIndex, ipNetOne). Return(nil) netLinker.EXPECT(). AddrReplace(linkIndex, ipNetTwo). Return(errDummy).After(firstCall) return netLinker }, err: errors.New("dummy: when adding address ::1234/64 to link with index 1"), }, "ignore IPv6": { addrs: []netip.Prefix{ipNetTwo}, netlinkBuilder: func(_ *gomock.Controller, _ uint32) *MockNetLinker { return NewMockNetLinker(nil) }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) netlink := testCase.netlinkBuilder(ctrl, testCase.linkIndex) err := AddAddresses(testCase.linkIndex, testCase.addrs, testCase.ipv6, netlink) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { require.NoError(t, err) } }) } } ================================================ FILE: internal/wireguard/config.go ================================================ package wireguard import ( "fmt" "net" "net/netip" "time" "golang.zx2c4.com/wireguard/wgctrl" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" ) func ConfigureDevice(client *wgctrl.Client, settings Settings) (err error) { deviceConfig, err := makeDeviceConfig(settings) if err != nil { return fmt.Errorf("making device configuration: %w", err) } err = client.ConfigureDevice(settings.InterfaceName, deviceConfig) if err != nil { return fmt.Errorf("configuring device: %w", err) } return nil } func makeDeviceConfig(settings Settings) (config wgtypes.Config, err error) { privateKey, err := wgtypes.ParseKey(settings.PrivateKey) if err != nil { return config, ErrPrivateKeyInvalid } publicKey, err := wgtypes.ParseKey(settings.PublicKey) if err != nil { return config, fmt.Errorf("%w: %s", ErrPublicKeyInvalid, settings.PublicKey) } var preSharedKey *wgtypes.Key if settings.PreSharedKey != "" { preSharedKeyValue, err := wgtypes.ParseKey(settings.PreSharedKey) if err != nil { return config, ErrPreSharedKeyInvalid } preSharedKey = &preSharedKeyValue } var persistentKeepaliveInterval *time.Duration if settings.PersistentKeepaliveInterval > 0 { persistentKeepaliveInterval = new(time.Duration) *persistentKeepaliveInterval = settings.PersistentKeepaliveInterval } firewallMark := int(settings.FirewallMark) config = wgtypes.Config{ PrivateKey: &privateKey, ReplacePeers: true, FirewallMark: &firewallMark, Peers: []wgtypes.PeerConfig{ { PublicKey: publicKey, PresharedKey: preSharedKey, AllowedIPs: []net.IPNet{ { IP: net.IPv4(0, 0, 0, 0), Mask: []byte{0, 0, 0, 0}, }, { IP: net.IPv6zero, Mask: []byte(net.IPv6zero), }, }, PersistentKeepaliveInterval: persistentKeepaliveInterval, ReplaceAllowedIPs: true, Endpoint: &net.UDPAddr{ IP: settings.Endpoint.Addr().AsSlice(), Port: int(settings.Endpoint.Port()), }, }, }, } return config, nil } func allIPv4() (prefix netip.Prefix) { const bits = 0 return netip.PrefixFrom(netip.IPv4Unspecified(), bits) } func allIPv6() (prefix netip.Prefix) { const bits = 0 return netip.PrefixFrom(netip.IPv6Unspecified(), bits) } ================================================ FILE: internal/wireguard/config_test.go ================================================ package wireguard import ( "errors" "net" "net/netip" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" ) func Test_makeDeviceConfig(t *testing.T) { t.Parallel() const ( validKey1 = "oMNSf/zJ0pt1ciy+qIRk8Rlyfs9accwuRLnKd85Yl1Q=" validKey2 = "aPjc9US5ICB30D1P4glR9tO7bkB2Ga+KZiFqnoypBHk=" validKey3 = "gFIW0lTmBYEucynoIg+XmeWckDUXTcC4Po5ijR5G+HM=" ) parseKey := func(t *testing.T, s string) *wgtypes.Key { t.Helper() key, err := wgtypes.ParseKey(s) require.NoError(t, err) return &key } intPtr := func(n int) *int { return &n } testCases := map[string]struct { settings Settings config wgtypes.Config err error }{ "bad private key": { settings: Settings{ PrivateKey: "bad key", }, err: ErrPrivateKeyInvalid, }, "bad public key": { settings: Settings{ PrivateKey: validKey1, PublicKey: "bad key", }, err: errors.New("cannot parse public key: bad key"), }, "bad pre-shared key": { settings: Settings{ PrivateKey: validKey1, PublicKey: validKey2, PreSharedKey: "bad key", }, err: errors.New("cannot parse pre-shared key"), }, "valid settings": { settings: Settings{ PrivateKey: validKey1, PublicKey: validKey2, PreSharedKey: validKey3, FirewallMark: 9876, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{99, 99, 99, 99}), 51820), }, config: wgtypes.Config{ PrivateKey: parseKey(t, validKey1), ReplacePeers: true, FirewallMark: intPtr(9876), Peers: []wgtypes.PeerConfig{ { PublicKey: *parseKey(t, validKey2), PresharedKey: parseKey(t, validKey3), AllowedIPs: []net.IPNet{ { IP: net.IPv4(0, 0, 0, 0), Mask: []byte{0, 0, 0, 0}, }, { IP: net.IPv6zero, Mask: []byte(net.IPv6zero), }, }, ReplaceAllowedIPs: true, Endpoint: &net.UDPAddr{ IP: net.IP{99, 99, 99, 99}, Port: 51820, }, }, }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() config, err := makeDeviceConfig(testCase.settings) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.config, config) }) } } func Test_allIPv4(t *testing.T) { t.Parallel() ipNet := allIPv4() assert.Equal(t, "0.0.0.0/0", ipNet.String()) } func Test_allIPv6(t *testing.T) { t.Parallel() ipNet := allIPv6() assert.Equal(t, "::/0", ipNet.String()) } ================================================ FILE: internal/wireguard/constructor.go ================================================ package wireguard type Wireguard struct { logger Logger settings Settings netlink NetLinker } func New(settings Settings, netlink NetLinker, logger Logger, ) (w *Wireguard, err error) { settings.SetDefaults() if err := settings.Check(); err != nil { return nil, err } return &Wireguard{ logger: logger, settings: settings, netlink: netlink, }, nil } ================================================ FILE: internal/wireguard/constructor_test.go ================================================ package wireguard import ( "net/netip" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "golang.zx2c4.com/wireguard/device" ) func Test_New(t *testing.T) { t.Parallel() const validKeyString = "oMNSf/zJ0pt1ciy+qIRk8Rlyfs9accwuRLnKd85Yl1Q=" logger := NewMockLogger(nil) netLinker := NewMockNetLinker(nil) testCases := map[string]struct { settings Settings wireguard *Wireguard err error }{ "bad settings": { settings: Settings{ PrivateKey: "", }, err: ErrPrivateKeyMissing, }, "minimal valid settings": { settings: Settings{ PrivateKey: validKeyString, PublicKey: validKeyString, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 0), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 32), }, FirewallMark: 100, }, wireguard: &Wireguard{ logger: logger, netlink: netLinker, settings: Settings{ InterfaceName: "wg0", PrivateKey: validKeyString, PublicKey: validKeyString, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 32), }, AllowedIPs: []netip.Prefix{ allIPv4(), }, FirewallMark: 100, MTU: device.DefaultMTU, IPv6: ptr(false), Implementation: "auto", }, }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() wireguard, err := New(testCase.settings, netLinker, logger) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { assert.NoError(t, err) } assert.Equal(t, testCase.wireguard, wireguard) }) } } ================================================ FILE: internal/wireguard/helpers_test.go ================================================ package wireguard import ( "math/rand/v2" "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) func ptrTo[T any](x T) *T { return &x } var rng = rand.New(rand.NewChaCha8([32]byte{})) //nolint:gosec,gochecknoglobals func makeLinkName() string { const alphabet = "abcdefghijklmnopqrstuvwxyz" b := make([]byte, 8) for i := range b { b[i] = alphabet[rng.IntN(len(alphabet))] } return "test" + string(b) } func rulesAreEqual(a, b netlink.Rule) bool { return ipPrefixesAreEqual(a.Src, b.Src) && ipPrefixesAreEqual(a.Dst, b.Dst) && ptrsEqual(a.Priority, b.Priority) && a.Table == b.Table && a.Family == b.Family && a.Flags == b.Flags && a.Action == b.Action && ptrsEqual(a.Mark, b.Mark) } func ipPrefixesAreEqual(a, b netip.Prefix) bool { if !a.IsValid() && !b.IsValid() { return true } if !a.IsValid() || !b.IsValid() { return false } return a.Bits() == b.Bits() && a.Addr().Compare(b.Addr()) == 0 } func ptrsEqual(a, b *uint32) bool { if a == nil && b == nil { return true } if a == nil || b == nil { return false } return *a == *b } ================================================ FILE: internal/wireguard/log.go ================================================ package wireguard import ( "golang.zx2c4.com/wireguard/device" ) //go:generate mockgen -destination=log_mock_test.go -package wireguard . Logger type Logger interface { Debug(s string) Debugf(format string, args ...interface{}) Info(s string) Error(s string) Erroer } type Erroer interface { Errorf(format string, args ...any) } func makeDeviceLogger(logger Logger) (deviceLogger *device.Logger) { return &device.Logger{ Verbosef: logger.Debugf, Errorf: logger.Errorf, } } ================================================ FILE: internal/wireguard/log_mock_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/wireguard (interfaces: Logger) // Package wireguard is a generated GoMock package. package wireguard import ( reflect "reflect" gomock "github.com/golang/mock/gomock" ) // MockLogger is a mock of Logger interface. type MockLogger struct { ctrl *gomock.Controller recorder *MockLoggerMockRecorder } // MockLoggerMockRecorder is the mock recorder for MockLogger. type MockLoggerMockRecorder struct { mock *MockLogger } // NewMockLogger creates a new mock instance. func NewMockLogger(ctrl *gomock.Controller) *MockLogger { mock := &MockLogger{ctrl: ctrl} mock.recorder = &MockLoggerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLogger) EXPECT() *MockLoggerMockRecorder { return m.recorder } // Debug mocks base method. func (m *MockLogger) Debug(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Debug", arg0) } // Debug indicates an expected call of Debug. func (mr *MockLoggerMockRecorder) Debug(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockLogger)(nil).Debug), arg0) } // Debugf mocks base method. func (m *MockLogger) Debugf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Debugf", varargs...) } // Debugf indicates an expected call of Debugf. func (mr *MockLoggerMockRecorder) Debugf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debugf", reflect.TypeOf((*MockLogger)(nil).Debugf), varargs...) } // Error mocks base method. func (m *MockLogger) Error(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Error", arg0) } // Error indicates an expected call of Error. func (mr *MockLoggerMockRecorder) Error(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Error", reflect.TypeOf((*MockLogger)(nil).Error), arg0) } // Errorf mocks base method. func (m *MockLogger) Errorf(arg0 string, arg1 ...interface{}) { m.ctrl.T.Helper() varargs := []interface{}{arg0} for _, a := range arg1 { varargs = append(varargs, a) } m.ctrl.Call(m, "Errorf", varargs...) } // Errorf indicates an expected call of Errorf. func (mr *MockLoggerMockRecorder) Errorf(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Errorf", reflect.TypeOf((*MockLogger)(nil).Errorf), varargs...) } // Info mocks base method. func (m *MockLogger) Info(arg0 string) { m.ctrl.T.Helper() m.ctrl.Call(m, "Info", arg0) } // Info indicates an expected call of Info. func (mr *MockLoggerMockRecorder) Info(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockLogger)(nil).Info), arg0) } ================================================ FILE: internal/wireguard/log_test.go ================================================ package wireguard import ( "testing" "github.com/golang/mock/gomock" ) func Test_makeDeviceLogger(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) logger := NewMockLogger(ctrl) deviceLogger := makeDeviceLogger(logger) logger.EXPECT().Debugf("test %d", 1) deviceLogger.Verbosef("test %d", 1) logger.EXPECT().Errorf("test %d", 2) deviceLogger.Errorf("test %d", 2) } ================================================ FILE: internal/wireguard/netlink_integration_test.go ================================================ //go:build linux package wireguard import ( "net/netip" "testing" "github.com/qdm12/gluetun/internal/netlink" "github.com/qdm12/log" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) type noopDebugLogger struct{} func (n noopDebugLogger) Debug(_ string) {} func (n noopDebugLogger) Debugf(_ string, _ ...any) {} func (n noopDebugLogger) Info(_ string) {} func (n noopDebugLogger) Error(_ string) {} func (n noopDebugLogger) Errorf(_ string, _ ...any) {} func (n noopDebugLogger) Patch(_ ...log.Option) {} func Test_AddAddresses_Integration(t *testing.T) { t.Parallel() netlinker := netlink.New(&noopDebugLogger{}) link := netlink.Link{ DeviceType: netlink.DeviceTypeNone, VirtualType: "bridge", Name: makeLinkName(), } linkIndex, err := netlinker.LinkAdd(link) require.NoError(t, err) link.Index = linkIndex defer func() { err = netlinker.LinkDel(linkIndex) assert.NoError(t, err) }() addresses := []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 32), netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 32), } wg := &Wireguard{ netlink: netlinker, settings: Settings{ IPv6: new(bool), }, } const addIterations = 2 // initial + replace for range addIterations { err = AddAddresses(link.Index, addresses, *wg.settings.IPv6, wg.netlink) require.NoError(t, err) ipPrefixes, err := netlinker.AddrList(link.Index, netlink.FamilyAll) require.NoError(t, err) require.Equal(t, len(addresses), len(ipPrefixes)) for i, ipPrefix := range ipPrefixes { assert.Equal(t, addresses[i], ipPrefix) } } } func Test_AddRule_Integration(t *testing.T) { t.Parallel() logger := &noopDebugLogger{} netlinker := netlink.New(logger) // Unique combination for this test const rulePriority uint32 = 10000 const firewallMark uint32 = 12345 const family = netlink.FamilyV4 cleanup, err := AddRule(rulePriority, firewallMark, family, netlinker, logger) require.NoError(t, err) t.Cleanup(func() { err := cleanup() assert.NoError(t, err) }) rules, err := netlinker.RuleList(netlink.FamilyV4) require.NoError(t, err) expectedRule := netlink.Rule{ Priority: ptrTo(rulePriority), Family: netlink.FamilyV4, Table: firewallMark, Mark: ptrTo(firewallMark), Flags: netlink.FlagInvert, Action: netlink.ActionToTable, } var rule netlink.Rule var ruleFound bool for _, rule = range rules { if rulesAreEqual(rule, expectedRule) { ruleFound = true break } } require.True(t, ruleFound) // Existing rule cannot be added nilCleanup, err := AddRule(rulePriority, firewallMark, family, netlinker, logger) if nilCleanup != nil { _ = nilCleanup() // in case it succeeds } require.Error(t, err) assert.EqualError(t, err, "adding ip rule 10000: from all to all table 12345: netlink receive: file exists") } ================================================ FILE: internal/wireguard/netlinker.go ================================================ package wireguard import ( "net/netip" "github.com/qdm12/gluetun/internal/netlink" ) //go:generate mockgen -destination=netlinker_mock_test.go -package wireguard . NetLinker type NetLinker interface { AddrReplace(linkIndex uint32, addr netip.Prefix) error Router Ruler Linker IsWireguardSupported() (ok bool, err error) } type Router interface { RouteList(family uint8) (routes []netlink.Route, err error) RouteAdd(route netlink.Route) error } type Ruler interface { RuleAdd(rule netlink.Rule) error RuleDel(rule netlink.Rule) error } type Linker interface { LinkAdd(link netlink.Link) (linkIndex uint32, err error) LinkList() (links []netlink.Link, err error) LinkByName(name string) (link netlink.Link, err error) LinkSetUp(linkIndex uint32) error LinkSetDown(linkIndex uint32) error LinkDel(linkIndex uint32) error } ================================================ FILE: internal/wireguard/netlinker_mock_test.go ================================================ // Code generated by MockGen. DO NOT EDIT. // Source: github.com/qdm12/gluetun/internal/wireguard (interfaces: NetLinker) // Package wireguard is a generated GoMock package. package wireguard import ( netip "net/netip" reflect "reflect" gomock "github.com/golang/mock/gomock" netlink "github.com/qdm12/gluetun/internal/netlink" ) // MockNetLinker is a mock of NetLinker interface. type MockNetLinker struct { ctrl *gomock.Controller recorder *MockNetLinkerMockRecorder } // MockNetLinkerMockRecorder is the mock recorder for MockNetLinker. type MockNetLinkerMockRecorder struct { mock *MockNetLinker } // NewMockNetLinker creates a new mock instance. func NewMockNetLinker(ctrl *gomock.Controller) *MockNetLinker { mock := &MockNetLinker{ctrl: ctrl} mock.recorder = &MockNetLinkerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use. func (m *MockNetLinker) EXPECT() *MockNetLinkerMockRecorder { return m.recorder } // AddrReplace mocks base method. func (m *MockNetLinker) AddrReplace(arg0 uint32, arg1 netip.Prefix) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AddrReplace", arg0, arg1) ret0, _ := ret[0].(error) return ret0 } // AddrReplace indicates an expected call of AddrReplace. func (mr *MockNetLinkerMockRecorder) AddrReplace(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddrReplace", reflect.TypeOf((*MockNetLinker)(nil).AddrReplace), arg0, arg1) } // IsWireguardSupported mocks base method. func (m *MockNetLinker) IsWireguardSupported() (bool, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "IsWireguardSupported") ret0, _ := ret[0].(bool) ret1, _ := ret[1].(error) return ret0, ret1 } // IsWireguardSupported indicates an expected call of IsWireguardSupported. func (mr *MockNetLinkerMockRecorder) IsWireguardSupported() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsWireguardSupported", reflect.TypeOf((*MockNetLinker)(nil).IsWireguardSupported)) } // LinkAdd mocks base method. func (m *MockNetLinker) LinkAdd(arg0 netlink.Link) (uint32, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkAdd", arg0) ret0, _ := ret[0].(uint32) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkAdd indicates an expected call of LinkAdd. func (mr *MockNetLinkerMockRecorder) LinkAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkAdd", reflect.TypeOf((*MockNetLinker)(nil).LinkAdd), arg0) } // LinkByName mocks base method. func (m *MockNetLinker) LinkByName(arg0 string) (netlink.Link, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkByName", arg0) ret0, _ := ret[0].(netlink.Link) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkByName indicates an expected call of LinkByName. func (mr *MockNetLinkerMockRecorder) LinkByName(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkByName", reflect.TypeOf((*MockNetLinker)(nil).LinkByName), arg0) } // LinkDel mocks base method. func (m *MockNetLinker) LinkDel(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkDel", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkDel indicates an expected call of LinkDel. func (mr *MockNetLinkerMockRecorder) LinkDel(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkDel", reflect.TypeOf((*MockNetLinker)(nil).LinkDel), arg0) } // LinkList mocks base method. func (m *MockNetLinker) LinkList() ([]netlink.Link, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkList") ret0, _ := ret[0].([]netlink.Link) ret1, _ := ret[1].(error) return ret0, ret1 } // LinkList indicates an expected call of LinkList. func (mr *MockNetLinkerMockRecorder) LinkList() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkList", reflect.TypeOf((*MockNetLinker)(nil).LinkList)) } // LinkSetDown mocks base method. func (m *MockNetLinker) LinkSetDown(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkSetDown", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkSetDown indicates an expected call of LinkSetDown. func (mr *MockNetLinkerMockRecorder) LinkSetDown(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkSetDown", reflect.TypeOf((*MockNetLinker)(nil).LinkSetDown), arg0) } // LinkSetUp mocks base method. func (m *MockNetLinker) LinkSetUp(arg0 uint32) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LinkSetUp", arg0) ret0, _ := ret[0].(error) return ret0 } // LinkSetUp indicates an expected call of LinkSetUp. func (mr *MockNetLinkerMockRecorder) LinkSetUp(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LinkSetUp", reflect.TypeOf((*MockNetLinker)(nil).LinkSetUp), arg0) } // RouteAdd mocks base method. func (m *MockNetLinker) RouteAdd(arg0 netlink.Route) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteAdd", arg0) ret0, _ := ret[0].(error) return ret0 } // RouteAdd indicates an expected call of RouteAdd. func (mr *MockNetLinkerMockRecorder) RouteAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteAdd", reflect.TypeOf((*MockNetLinker)(nil).RouteAdd), arg0) } // RouteList mocks base method. func (m *MockNetLinker) RouteList(arg0 byte) ([]netlink.Route, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RouteList", arg0) ret0, _ := ret[0].([]netlink.Route) ret1, _ := ret[1].(error) return ret0, ret1 } // RouteList indicates an expected call of RouteList. func (mr *MockNetLinkerMockRecorder) RouteList(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RouteList", reflect.TypeOf((*MockNetLinker)(nil).RouteList), arg0) } // RuleAdd mocks base method. func (m *MockNetLinker) RuleAdd(arg0 netlink.Rule) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RuleAdd", arg0) ret0, _ := ret[0].(error) return ret0 } // RuleAdd indicates an expected call of RuleAdd. func (mr *MockNetLinkerMockRecorder) RuleAdd(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuleAdd", reflect.TypeOf((*MockNetLinker)(nil).RuleAdd), arg0) } // RuleDel mocks base method. func (m *MockNetLinker) RuleDel(arg0 netlink.Rule) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "RuleDel", arg0) ret0, _ := ret[0].(error) return ret0 } // RuleDel indicates an expected call of RuleDel. func (mr *MockNetLinkerMockRecorder) RuleDel(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuleDel", reflect.TypeOf((*MockNetLinker)(nil).RuleDel), arg0) } ================================================ FILE: internal/wireguard/route.go ================================================ package wireguard import ( "fmt" "net/netip" "strings" "github.com/qdm12/gluetun/internal/netlink" ) func AddRoutes(linkIndex uint32, destinations []netip.Prefix, firewallMark uint32, netlinker NetLinker, logger Erroer, ) (err error) { for _, dst := range destinations { err = addRoute(linkIndex, dst, firewallMark, netlinker) if err == nil { continue } if dst.Addr().Is6() && strings.Contains(err.Error(), "permission denied") { logger.Errorf("cannot add route for IPv6 due to a permission denial. "+ "Ignoring and continuing execution; "+ "Please report to https://github.com/qdm12/gluetun/issues/998 if you find a fix. "+ "Full error string: %s", err) continue } return fmt.Errorf("adding route for destination %s: %w", dst, err) } return nil } func addRoute(linkIndex uint32, dst netip.Prefix, firewallMark uint32, netlinker NetLinker, ) (err error) { family := netlink.FamilyV4 if dst.Addr().Is6() { family = netlink.FamilyV6 } route := netlink.Route{ LinkIndex: linkIndex, Dst: dst, Family: family, Table: firewallMark, Type: netlink.RouteTypeUnicast, Scope: netlink.ScopeUniverse, Proto: netlink.ProtoStatic, } err = netlinker.RouteAdd(route) if err != nil { return fmt.Errorf( "adding route for link with index %d, destination %s and table %d: %w", linkIndex, dst, firewallMark, err) } return err } ================================================ FILE: internal/wireguard/route_test.go ================================================ package wireguard import ( "errors" "net/netip" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/netlink" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_addRoute(t *testing.T) { t.Parallel() const linkIndex = 88 ipPrefix := netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 32) const firewallMark = 51820 errDummy := errors.New("dummy") testCases := map[string]struct { dst netip.Prefix expectedRoute netlink.Route routeAddErr error err error }{ "success": { dst: ipPrefix, expectedRoute: netlink.Route{ LinkIndex: linkIndex, Dst: ipPrefix, Family: netlink.FamilyV4, Table: firewallMark, Type: netlink.RouteTypeUnicast, Scope: netlink.ScopeUniverse, Proto: netlink.ProtoStatic, }, }, "route add error": { dst: ipPrefix, expectedRoute: netlink.Route{ LinkIndex: linkIndex, Dst: ipPrefix, Family: netlink.FamilyV4, Table: firewallMark, Type: netlink.RouteTypeUnicast, Scope: netlink.ScopeUniverse, Proto: netlink.ProtoStatic, }, routeAddErr: errDummy, err: errors.New("adding route for link with index 88, destination 1.2.3.4/32 and table 51820: dummy"), //nolint:lll }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) netLinker := NewMockNetLinker(ctrl) netLinker.EXPECT(). RouteAdd(testCase.expectedRoute). Return(testCase.routeAddErr) err := addRoute(linkIndex, testCase.dst, firewallMark, netLinker) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) } else { require.NoError(t, err) } }) } } ================================================ FILE: internal/wireguard/rule.go ================================================ package wireguard import ( "fmt" "strings" "github.com/qdm12/gluetun/internal/netlink" ) func AddRule(rulePriority, firewallMark uint32, family uint8, netlinker NetLinker, logger Logger, ) (cleanup func() error, err error) { rule := netlink.Rule{ Priority: &rulePriority, Family: family, Table: firewallMark, Mark: &firewallMark, Flags: netlink.FlagInvert, Action: netlink.ActionToTable, } if err := netlinker.RuleAdd(rule); err != nil { if strings.HasSuffix(err.Error(), "file exists") { logger.Info("if you are using Kubernetes, this may fix the error below: " + "https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/kubernetes.md#adding-ipv6-rule--file-exists") } return nil, fmt.Errorf("adding %s: %w", rule, err) } cleanup = func() error { err := netlinker.RuleDel(rule) if err != nil { return fmt.Errorf("deleting rule %s: %w", rule, err) } return nil } return cleanup, nil } ================================================ FILE: internal/wireguard/rule_test.go ================================================ package wireguard import ( "errors" "testing" "github.com/golang/mock/gomock" "github.com/qdm12/gluetun/internal/netlink" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_AddRule(t *testing.T) { t.Parallel() const rulePriority uint32 = 987 const firewallMark uint32 = 456 const family = netlink.FamilyV4 errDummy := errors.New("dummy") testCases := map[string]struct { expectedRule netlink.Rule ruleAddErr error err error ruleDelErr error cleanupErr error }{ "success": { expectedRule: netlink.Rule{ Priority: ptrTo(rulePriority), Mark: ptrTo(firewallMark), Table: firewallMark, Family: family, Flags: netlink.FlagInvert, Action: netlink.ActionToTable, }, }, "rule add error": { expectedRule: netlink.Rule{ Priority: ptrTo(rulePriority), Mark: ptrTo(firewallMark), Table: firewallMark, Family: family, Flags: netlink.FlagInvert, Action: netlink.ActionToTable, }, ruleAddErr: errDummy, err: errors.New("adding ip rule 987: from all to all table 456: dummy"), }, "rule delete error": { expectedRule: netlink.Rule{ Priority: ptrTo(rulePriority), Mark: ptrTo(firewallMark), Table: firewallMark, Family: family, Flags: netlink.FlagInvert, Action: netlink.ActionToTable, }, ruleDelErr: errDummy, cleanupErr: errors.New("deleting rule ip rule 987: from all to all table 456: dummy"), }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) netLinker := NewMockNetLinker(ctrl) netLinker.EXPECT().RuleAdd(testCase.expectedRule). Return(testCase.ruleAddErr) cleanup, err := AddRule(rulePriority, firewallMark, family, netLinker, nil) if testCase.err != nil { require.Error(t, err) assert.Equal(t, testCase.err.Error(), err.Error()) return } require.NoError(t, err) netLinker.EXPECT().RuleDel(testCase.expectedRule). Return(testCase.ruleDelErr) err = cleanup() if testCase.cleanupErr != nil { require.Error(t, err) assert.Equal(t, testCase.cleanupErr.Error(), err.Error()) } else { require.NoError(t, err) } }) } } ================================================ FILE: internal/wireguard/run.go ================================================ package wireguard import ( "context" "errors" "fmt" "net" "github.com/qdm12/gluetun/internal/cleanup" "github.com/qdm12/gluetun/internal/netlink" "golang.zx2c4.com/wireguard/conn" "golang.zx2c4.com/wireguard/device" "golang.zx2c4.com/wireguard/tun" "golang.zx2c4.com/wireguard/wgctrl" ) var ( errKernelSupport = errors.New("kernel does not support Wireguard") errTunNameMismatch = errors.New("TUN device name is mismatching") errDeviceWaited = errors.New("device waited for") ) // Run runs the wireguard interface and waits until the context is done, then it cleans up the // interface and returns any error that occurred during setup or waiting. It sends an error to // waitError if any error occurs during setup or waiting, otherwise it sends nil when the context // is done. It sends a signal to ready when the setup is complete and the interface is ready to use. // See https://git.zx2c4.com/wireguard-go/tree/main.go func (w *Wireguard) Run(ctx context.Context, waitError chan<- error, ready chan<- struct{}) { kernelSupported, err := w.netlink.IsWireguardSupported() if err != nil { waitError <- fmt.Errorf("detecting wireguard kernel support: %w", err) return } setupFunction := setupUserSpace switch w.settings.Implementation { case "auto": //nolint:goconst if !kernelSupported { w.logger.Info("Using userspace implementation since Kernel support does not exist") break } w.logger.Info("Using available kernelspace implementation") setupFunction = setupKernelSpace case "userspace": case "kernelspace": if !kernelSupported { waitError <- fmt.Errorf("%w", errKernelSupport) return } setupFunction = setupKernelSpace default: panic(fmt.Sprintf("unknown implementation %q", w.settings.Implementation)) } setup := func(ctx context.Context, cleanups *cleanup.Cleanups) ( linkIndex uint32, waitAndCleanup func() error, err error, ) { return setupFunction(ctx, w.settings.InterfaceName, w.netlink, w.settings.MTU, cleanups, w.logger) } Run(ctx, waitError, ready, setup, w.settings, w.netlink, w.logger) } func Run(ctx context.Context, waitError chan<- error, ready chan<- struct{}, setup func(ctx context.Context, cleanups *cleanup.Cleanups) ( linkIndex uint32, waitAndCleanup func() error, err error), settings Settings, netlinker NetLinker, logger Logger, ) { client, err := wgctrl.New() if err != nil { waitError <- fmt.Errorf("opening wgctrl: %w", err) return } var cleanups cleanup.Cleanups cleanups.Add("closing controller client", 1, client.Close) defer cleanups.Cleanup(logger) linkIndex, waitAndCleanup, err := setup(ctx, &cleanups) if err != nil { waitError <- err return } err = AddAddresses(linkIndex, settings.Addresses, *settings.IPv6, netlinker) if err != nil { waitError <- fmt.Errorf("adding addresses to interface: %w", err) return } logger.Info("Connecting to " + settings.Endpoint.String()) err = ConfigureDevice(client, settings) if err != nil { waitError <- fmt.Errorf("configuring interface: %w", err) return } err = netlinker.LinkSetUp(linkIndex) if err != nil { waitError <- fmt.Errorf("setting the interface UP: %w", err) return } cleanups.Add("shutting down link", 4, func() error { return netlinker.LinkSetDown(linkIndex) }) err = AddRoutes(linkIndex, settings.AllowedIPs, settings.FirewallMark, netlinker, logger) if err != nil { waitError <- fmt.Errorf("adding routes for interface: %w", err) return } if *settings.IPv6 { // requires net.ipv6.conf.all.disable_ipv6=0 ruleCleanup6, err := AddRule(settings.RulePriority, settings.FirewallMark, netlink.FamilyV6, netlinker, logger) if err != nil { waitError <- fmt.Errorf("adding IPv6 rule: %w", err) return } cleanups.Add("removing IPv6 rule", 1, ruleCleanup6) } ruleCleanup, err := AddRule(settings.RulePriority, settings.FirewallMark, netlink.FamilyV4, netlinker, logger) if err != nil { waitError <- fmt.Errorf("adding IPv4 rule: %w", err) return } cleanups.Add("removing IPv4 rule", 1, ruleCleanup) ready <- struct{}{} waitError <- waitAndCleanup() } func setupKernelSpace(ctx context.Context, interfaceName string, netLinker NetLinker, mtu uint32, cleanups *cleanup.Cleanups, logger Logger) ( linkIndex uint32, waitAndCleanup func() error, err error, ) { links, err := netLinker.LinkList() if err != nil { return 0, nil, fmt.Errorf("listing links: %w", err) } // Cleanup any previous Wireguard interface with the same name // See https://github.com/qdm12/gluetun/issues/1669 for _, link := range links { if link.VirtualType == "wireguard" && link.Name == interfaceName { err = netLinker.LinkDel(link.Index) if err != nil { return 0, nil, fmt.Errorf("deleting previous Wireguard link %s: %w", interfaceName, err) } } } link := netlink.Link{ VirtualType: "wireguard", Name: interfaceName, MTU: mtu, } linkIndex, err = netLinker.LinkAdd(link) if err != nil { return 0, nil, fmt.Errorf("adding link: %w", err) } cleanups.Add("deleting link", 5, func() error { return netLinker.LinkDel(linkIndex) }) waitAndCleanup = func() error { <-ctx.Done() cleanups.Cleanup(logger) return ctx.Err() } return linkIndex, waitAndCleanup, nil } func setupUserSpace(ctx context.Context, interfaceName string, netLinker NetLinker, mtu uint32, cleanups *cleanup.Cleanups, logger Logger) ( linkIndex uint32, waitAndCleanup func() error, err error, ) { tun, err := tun.CreateTUN(interfaceName, int(mtu)) if err != nil { return 0, nil, fmt.Errorf("creating TUN device: %w", err) } cleanups.Add("closing TUN device", 7, tun.Close) tunName, err := tun.Name() if err != nil { return 0, nil, fmt.Errorf("getting created TUN device name: %w", err) } else if tunName != interfaceName { return 0, nil, fmt.Errorf("%w: expected %q and got %q", errTunNameMismatch, interfaceName, tunName) } link, err := netLinker.LinkByName(interfaceName) if err != nil { return 0, nil, fmt.Errorf("finding link %s: %w", interfaceName, err) } cleanups.Add("deleting link", 5, func() error { return netLinker.LinkDel(link.Index) }) bind := conn.NewDefaultBind() cleanups.Add("closing bind", 7, bind.Close) deviceLogger := makeDeviceLogger(logger) device := device.NewDevice(tun, bind, deviceLogger) cleanups.Add("closing Wireguard device", 6, func() error { device.Close() return nil }) uapiFile, err := UAPIOpen(interfaceName) if err != nil { return 0, nil, fmt.Errorf("opening UAPI socket: %w", err) } cleanups.Add("closing UAPI file", 3, uapiFile.Close) uapiListener, err := UAPIListen(interfaceName, uapiFile) if err != nil { return 0, nil, fmt.Errorf("listening on UAPI socket: %w", err) } cleanups.Add("closing UAPI listener", 2, uapiListener.Close) // acceptAndHandle exits when uapiListener is closed uapiAcceptErrorCh := make(chan error) go acceptAndHandle(uapiListener, device, uapiAcceptErrorCh) waitAndCleanup = func() error { select { case <-ctx.Done(): err = ctx.Err() case err = <-uapiAcceptErrorCh: close(uapiAcceptErrorCh) case <-device.Wait(): err = errDeviceWaited } cleanups.Cleanup(logger) <-uapiAcceptErrorCh // wait for acceptAndHandle to exit return err } return link.Index, waitAndCleanup, nil } func acceptAndHandle(uapi net.Listener, device *device.Device, uapiAcceptErrorCh chan<- error, ) { for { // stopped by uapiFile.Close() conn, err := uapi.Accept() if err != nil { uapiAcceptErrorCh <- err return } go device.IpcHandle(conn) } } ================================================ FILE: internal/wireguard/settings.go ================================================ package wireguard import ( "errors" "fmt" "net/netip" "regexp" "strings" "time" "golang.zx2c4.com/wireguard/device" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" ) type Settings struct { // Interface name for the Wireguard interface. // It defaults to wg0 if unset. InterfaceName string // Private key in base 64 format PrivateKey string // Public key in base 64 format PublicKey string // Pre shared key in base 64 format PreSharedKey string // Wireguard server endpoint to connect to. Endpoint netip.AddrPort // Addresses assigned to the client. // Note IPv6 addresses are ignored if IPv6 is not supported. Addresses []netip.Prefix // AllowedIPs is the IP networks to be routed through // the Wireguard interface. // Note IPv6 addresses are ignored if IPv6 is not supported. AllowedIPs []netip.Prefix // PersistentKeepaliveInterval defines the keep alive interval, if not zero. PersistentKeepaliveInterval time.Duration // FirewallMark to be used in routing tables and IP rules. // It defaults to 51820 if left to 0. FirewallMark uint32 // Maximum Transmission Unit (MTU) setting for the network interface. // It defaults to device.DefaultMTU from wireguard-go which is 1420 MTU uint32 // RulePriority is the priority for the rule created with the // FirewallMark. RulePriority uint32 // IPv6 can bet set to true if IPv6 should be handled. // It defaults to false if left unset. IPv6 *bool // Implementation is the implementation to use. // It can be auto, kernelspace or userspace, and defaults to auto. Implementation string } func (s *Settings) SetDefaults() { if s.InterfaceName == "" { const defaultInterfaceName = "wg0" s.InterfaceName = defaultInterfaceName } if s.Endpoint.IsValid() && s.Endpoint.Port() == 0 { const defaultPort = 51820 s.Endpoint = netip.AddrPortFrom(s.Endpoint.Addr(), defaultPort) } if s.FirewallMark == 0 { const defaultFirewallMark = 51820 s.FirewallMark = defaultFirewallMark } if s.MTU == 0 { s.MTU = device.DefaultMTU } if s.IPv6 == nil { ipv6 := false // this should be injected from host s.IPv6 = &ipv6 } if len(s.AllowedIPs) == 0 { s.AllowedIPs = append(s.AllowedIPs, allIPv4()) if *s.IPv6 { s.AllowedIPs = append(s.AllowedIPs, allIPv6()) } } if s.Implementation == "" { const defaultImplementation = "auto" s.Implementation = defaultImplementation } } var ( ErrInterfaceNameInvalid = errors.New("invalid interface name") ErrPrivateKeyMissing = errors.New("private key is missing") ErrPrivateKeyInvalid = errors.New("cannot parse private key") ErrPublicKeyMissing = errors.New("public key is missing") ErrPublicKeyInvalid = errors.New("cannot parse public key") ErrPreSharedKeyInvalid = errors.New("cannot parse pre-shared key") ErrEndpointAddrMissing = errors.New("endpoint address is missing") ErrEndpointPortMissing = errors.New("endpoint port is missing") ErrAddressMissing = errors.New("interface address is missing") ErrAddressNotValid = errors.New("interface address is not valid") ErrAllowedIPsMissing = errors.New("allowed IPs are missing") ErrAllowedIPNotValid = errors.New("allowed IP is not valid") ErrAllowedIPv6NotSupported = errors.New("allowed IPv6 address not supported") ErrKeepaliveIsNegative = errors.New("keep alive interval is negative") ErrFirewallMarkMissing = errors.New("firewall mark is missing") ErrMTUMissing = errors.New("MTU is missing") ErrImplementationInvalid = errors.New("invalid implementation") ) var interfaceNameRegexp = regexp.MustCompile(`^[a-zA-Z0-9_]+$`) func (s *Settings) Check() (err error) { if !interfaceNameRegexp.MatchString(s.InterfaceName) { return fmt.Errorf("%w: %s", ErrInterfaceNameInvalid, s.InterfaceName) } if s.PrivateKey == "" { return fmt.Errorf("%w", ErrPrivateKeyMissing) } else if _, err := wgtypes.ParseKey(s.PrivateKey); err != nil { return fmt.Errorf("%w", ErrPrivateKeyInvalid) } if s.PublicKey == "" { return fmt.Errorf("%w", ErrPublicKeyMissing) } else if _, err := wgtypes.ParseKey(s.PublicKey); err != nil { return fmt.Errorf("%w: %s", ErrPublicKeyInvalid, s.PublicKey) } if s.PreSharedKey != "" { if _, err := wgtypes.ParseKey(s.PreSharedKey); err != nil { return fmt.Errorf("%w", ErrPreSharedKeyInvalid) } } switch { case !s.Endpoint.Addr().IsValid(): return fmt.Errorf("%w", ErrEndpointAddrMissing) case s.Endpoint.Port() == 0: return fmt.Errorf("%w", ErrEndpointPortMissing) } if len(s.Addresses) == 0 { return fmt.Errorf("%w", ErrAddressMissing) } for i, addr := range s.Addresses { if !addr.IsValid() { return fmt.Errorf("%w: for address %d of %d", ErrAddressNotValid, i+1, len(s.Addresses)) } } if len(s.AllowedIPs) == 0 { return fmt.Errorf("%w", ErrAllowedIPsMissing) } for i, allowedIP := range s.AllowedIPs { switch { case !allowedIP.IsValid(): return fmt.Errorf("%w: for allowed IP %d of %d", ErrAllowedIPNotValid, i+1, len(s.AllowedIPs)) case allowedIP.Addr().Is6() && !*s.IPv6: return fmt.Errorf("%w: for allowed IP %s", ErrAllowedIPv6NotSupported, allowedIP) } } if s.PersistentKeepaliveInterval < 0 { return fmt.Errorf("%w: %s", ErrKeepaliveIsNegative, s.PersistentKeepaliveInterval) } if s.FirewallMark == 0 { return fmt.Errorf("%w", ErrFirewallMarkMissing) } if s.MTU == 0 { return fmt.Errorf("%w", ErrMTUMissing) } switch s.Implementation { case "auto", "kernelspace", "userspace": default: return fmt.Errorf("%w: %s", ErrImplementationInvalid, s.Implementation) } return nil } func (s Settings) String() string { lines := s.ToLines(ToLinesSettings{}) return strings.Join(lines, "\n") } type ToLinesSettings struct { // Indent defaults to 4 spaces " ". Indent *string // FieldPrefix defaults to "├── ". FieldPrefix *string // LastFieldPrefix defaults to "└── ". LastFieldPrefix *string } func (settings *ToLinesSettings) setDefaults() { toStringPtr := func(s string) *string { return &s } if settings.Indent == nil { settings.Indent = toStringPtr(" ") } if settings.FieldPrefix == nil { settings.FieldPrefix = toStringPtr("├── ") } if settings.LastFieldPrefix == nil { settings.LastFieldPrefix = toStringPtr("└── ") } } // ToLines serializes the settings to a slice of strings for display. func (s Settings) ToLines(settings ToLinesSettings) (lines []string) { settings.setDefaults() indent := *settings.Indent fieldPrefix := *settings.FieldPrefix lastFieldPrefix := *settings.LastFieldPrefix lines = append(lines, fieldPrefix+"Interface name: "+s.InterfaceName) const ( set = "set" notSet = "not set" ) isSet := notSet if s.PrivateKey != "" { isSet = set } lines = append(lines, fieldPrefix+"Private key: "+isSet) if s.PublicKey != "" { lines = append(lines, fieldPrefix+"PublicKey: "+s.PublicKey) } isSet = notSet if s.PreSharedKey != "" { isSet = set } lines = append(lines, fieldPrefix+"Pre shared key: "+isSet) endpointStr := notSet if s.Endpoint.Addr().IsValid() { endpointStr = s.Endpoint.String() } lines = append(lines, fieldPrefix+"Endpoint: "+endpointStr) ipv6Status := "disabled" if *s.IPv6 { ipv6Status = "enabled" } lines = append(lines, fieldPrefix+"IPv6: "+ipv6Status) if s.FirewallMark != 0 { lines = append(lines, fieldPrefix+"Firewall mark: "+fmt.Sprint(s.FirewallMark)) } if s.MTU != 0 { lines = append(lines, fieldPrefix+"MTU: "+fmt.Sprint(s.MTU)) } if s.RulePriority != 0 { lines = append(lines, fieldPrefix+"Rule priority: "+fmt.Sprint(s.RulePriority)) } if s.Implementation != "auto" { lines = append(lines, fieldPrefix+"Implementation: "+s.Implementation) } if len(s.Addresses) == 0 { lines = append(lines, lastFieldPrefix+"Addresses: "+notSet) } else { lines = append(lines, lastFieldPrefix+"Addresses:") for i, address := range s.Addresses { prefix := fieldPrefix if i == len(s.Addresses)-1 { prefix = lastFieldPrefix } lines = append(lines, indent+prefix+address.String()) } } if len(s.AllowedIPs) > 0 { lines = append(lines, fieldPrefix+"Allowed IPs:") for i, allowedIP := range s.AllowedIPs { prefix := fieldPrefix if i == len(s.AllowedIPs)-1 { prefix = lastFieldPrefix } lines = append(lines, indent+prefix+allowedIP.String()) } } if s.PersistentKeepaliveInterval > 0 { lines = append(lines, fieldPrefix+"Persistent keep alive interval: "+ s.PersistentKeepaliveInterval.String()) } return lines } ================================================ FILE: internal/wireguard/settings_test.go ================================================ package wireguard import ( "net/netip" "testing" "github.com/stretchr/testify/assert" "golang.zx2c4.com/wireguard/device" ) func ptr[T any](v T) *T { return &v } func Test_Settings_SetDefaults(t *testing.T) { t.Parallel() testCases := map[string]struct { original Settings expected Settings }{ "empty settings": { expected: Settings{ InterfaceName: "wg0", FirewallMark: 51820, AllowedIPs: []netip.Prefix{allIPv4()}, MTU: device.DefaultMTU, IPv6: ptr(false), Implementation: "auto", }, }, "default endpoint port": { original: Settings{ Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 0), }, expected: Settings{ InterfaceName: "wg0", FirewallMark: 51820, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), AllowedIPs: []netip.Prefix{allIPv4()}, MTU: device.DefaultMTU, IPv6: ptr(false), Implementation: "auto", }, }, "not empty settings": { original: Settings{ InterfaceName: "wg1", FirewallMark: 999, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 9999), AllowedIPs: []netip.Prefix{allIPv4()}, MTU: device.DefaultMTU, IPv6: ptr(true), Implementation: "userspace", }, expected: Settings{ InterfaceName: "wg1", FirewallMark: 999, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 9999), AllowedIPs: []netip.Prefix{allIPv4()}, MTU: device.DefaultMTU, IPv6: ptr(true), Implementation: "userspace", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() testCase.original.SetDefaults() assert.Equal(t, testCase.expected, testCase.original) }) } } func Test_Settings_Check(t *testing.T) { t.Parallel() const ( validKey1 = "oMNSf/zJ0pt1ciy+qIRk8Rlyfs9accwuRLnKd85Yl1Q=" validKey2 = "aPjc9US5ICB30D1P4glR9tO7bkB2Ga+KZiFqnoypBHk=" ) testCases := map[string]struct { settings Settings errWrapped error errMessage string }{ "empty settings": { errWrapped: ErrInterfaceNameInvalid, errMessage: "invalid interface name: ", }, "bad interface name": { settings: Settings{ InterfaceName: "$H1T", }, errWrapped: ErrInterfaceNameInvalid, errMessage: "invalid interface name: $H1T", }, "empty private key": { settings: Settings{ InterfaceName: "wg0", }, errWrapped: ErrPrivateKeyMissing, errMessage: "private key is missing", }, "bad private key": { settings: Settings{ InterfaceName: "wg0", PrivateKey: "bad key", }, errWrapped: ErrPrivateKeyInvalid, errMessage: "cannot parse private key", }, "empty public key": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, }, errWrapped: ErrPublicKeyMissing, errMessage: "public key is missing", }, "bad public key": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: "bad key", }, errWrapped: ErrPublicKeyInvalid, errMessage: "cannot parse public key: bad key", }, "bad preshared key": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, PreSharedKey: "bad key", }, errWrapped: ErrPreSharedKeyInvalid, errMessage: "cannot parse pre-shared key", }, "invalid endpoint address": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, }, errWrapped: ErrEndpointAddrMissing, errMessage: "endpoint address is missing", }, "zero endpoint port": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 0), }, errWrapped: ErrEndpointPortMissing, errMessage: "endpoint port is missing", }, "no address": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), }, errWrapped: ErrAddressMissing, errMessage: "interface address is missing", }, "invalid address": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), Addresses: []netip.Prefix{{}}, }, errWrapped: ErrAddressNotValid, errMessage: "interface address is not valid: for address 1 of 1", }, "no allowed IP": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 24), }, }, errWrapped: ErrAllowedIPsMissing, errMessage: "allowed IPs are missing", }, "invalid allowed IP": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 24), }, AllowedIPs: []netip.Prefix{{}}, }, errWrapped: ErrAllowedIPNotValid, errMessage: "allowed IP is not valid: for allowed IP 1 of 1", }, "ipv6 allowed IP": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{5, 6, 7, 8}), 24), }, AllowedIPs: []netip.Prefix{ allIPv6(), }, IPv6: ptrTo(false), }, errWrapped: ErrAllowedIPv6NotSupported, errMessage: "allowed IPv6 address not supported: for allowed IP ::/0", }, "zero firewall mark": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), AllowedIPs: []netip.Prefix{allIPv4()}, Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 24), }, }, errWrapped: ErrFirewallMarkMissing, errMessage: "firewall mark is missing", }, "missing_MTU": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), AllowedIPs: []netip.Prefix{allIPv4()}, Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 24), }, FirewallMark: 999, }, errWrapped: ErrMTUMissing, errMessage: "MTU is missing", }, "invalid implementation": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), AllowedIPs: []netip.Prefix{allIPv4()}, Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 24), }, FirewallMark: 999, MTU: 1420, Implementation: "x", }, errWrapped: ErrImplementationInvalid, errMessage: "invalid implementation: x", }, "all valid": { settings: Settings{ InterfaceName: "wg0", PrivateKey: validKey1, PublicKey: validKey2, Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), AllowedIPs: []netip.Prefix{ allIPv6(), }, Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 24), }, FirewallMark: 999, MTU: 1420, IPv6: ptrTo(true), Implementation: "userspace", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() err := testCase.settings.Check() assert.ErrorIs(t, err, testCase.errWrapped) if testCase.errWrapped != nil { assert.EqualError(t, err, testCase.errMessage) } }) } } func toStringPtr(s string) *string { return &s } func Test_ToLinesSettings_setDefaults(t *testing.T) { t.Parallel() settings := ToLinesSettings{ Indent: toStringPtr("indent"), } someFunc := func(settings ToLinesSettings) { settings.setDefaults() expectedSettings := ToLinesSettings{ Indent: toStringPtr("indent"), FieldPrefix: toStringPtr("├── "), LastFieldPrefix: toStringPtr("└── "), } assert.Equal(t, expectedSettings, settings) } someFunc(settings) untouchedSettings := ToLinesSettings{ Indent: toStringPtr("indent"), } assert.Equal(t, untouchedSettings, settings) } func Test_Settings_String(t *testing.T) { t.Parallel() settings := Settings{ InterfaceName: "wg0", IPv6: ptr(true), Implementation: "x", } const expected = `├── Interface name: wg0 ├── Private key: not set ├── Pre shared key: not set ├── Endpoint: not set ├── IPv6: enabled ├── Implementation: x └── Addresses: not set` s := settings.String() assert.Equal(t, expected, s) } func Test_Settings_Lines(t *testing.T) { t.Parallel() testCases := map[string]struct { settings Settings lineSettings ToLinesSettings lines []string }{ "empty settings": { settings: Settings{ IPv6: ptr(false), }, lines: []string{ "├── Interface name: ", "├── Private key: not set", "├── Pre shared key: not set", "├── Endpoint: not set", "├── IPv6: disabled", "├── Implementation: ", "└── Addresses: not set", }, }, "settings all set": { settings: Settings{ InterfaceName: "wg0", PrivateKey: "private key", PublicKey: "public key", PreSharedKey: "pre-shared key", Endpoint: netip.AddrPortFrom(netip.AddrFrom4([4]byte{1, 2, 3, 4}), 51820), FirewallMark: 999, RulePriority: 888, Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), }, IPv6: ptr(true), Implementation: "userspace", }, lines: []string{ "├── Interface name: wg0", "├── Private key: set", "├── PublicKey: public key", "├── Pre shared key: set", "├── Endpoint: 1.2.3.4:51820", "├── IPv6: enabled", "├── Firewall mark: 999", "├── Rule priority: 888", "├── Implementation: userspace", "└── Addresses:", " ├── 1.1.1.1/24", " └── 2.2.2.2/32", }, }, "custom line settings": { lineSettings: ToLinesSettings{ Indent: toStringPtr(" "), FieldPrefix: toStringPtr("- "), LastFieldPrefix: toStringPtr("* "), }, settings: Settings{ InterfaceName: "wg0", Addresses: []netip.Prefix{ netip.PrefixFrom(netip.AddrFrom4([4]byte{1, 1, 1, 1}), 24), netip.PrefixFrom(netip.AddrFrom4([4]byte{2, 2, 2, 2}), 32), }, IPv6: ptr(false), }, lines: []string{ "- Interface name: wg0", "- Private key: not set", "- Pre shared key: not set", "- Endpoint: not set", "- IPv6: disabled", "- Implementation: ", "* Addresses:", " - 1.1.1.1/24", " * 2.2.2.2/32", }, }, } for name, testCase := range testCases { t.Run(name, func(t *testing.T) { t.Parallel() lines := testCase.settings.ToLines(testCase.lineSettings) assert.Equal(t, testCase.lines, lines) }) } } ================================================ FILE: internal/wireguard/wireguard_linux.go ================================================ package wireguard import ( "net" "os" "golang.zx2c4.com/wireguard/ipc" ) func UAPIOpen(name string) (*os.File, error) { return ipc.UAPIOpen(name) } func UAPIListen(interfaceName string, uapiFile *os.File) (net.Listener, error) { return ipc.UAPIListen(interfaceName, uapiFile) } ================================================ FILE: internal/wireguard/wireguard_unspecified.go ================================================ //go:build !linux package wireguard import ( "net" "os" ) func UAPIOpen(name string) (*os.File, error) { panic("not implemented") } func UAPIListen(interfaceName string, uapiFile *os.File) (net.Listener, error) { panic("not implemented") } ================================================ FILE: maintenance.md ================================================ # Maintenance - Change `Run` methods to `Start`+`Stop`, returning channels rather than injecting them - Go 1.18 - gofumpt - Use netip - Split servers.json - Common slice of Wireguard providers in config settings - DNS block lists as LFS and built in image - Add HTTP server v3 as json rpc - Use `github.com/qdm12/ddns-updater/pkg/publicip` - Windows and Darwin development support ## Features - Authentication with the control server - Get announcement from Github file - Support multiple connections in custom ovpn - Automate IPv6 detection for OpenVPN ## Gluetun V4 - Remove retro environment variables: - `PORT` - `UNBLOCK` - `PROTOCOL` - `PIA_ENCRYPTION` - `PORT_FORWARDING`, `PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING` - `WIREGUARD_PORT` - `REGION` for PIA, Cyberghost - `WIREGUARD_ADDRESS` - `VPNSP` - All old location filters such as `REGION`, `COUNTRY`, etc. - Remove other retro logic - `VPNSP`'s `pia = private ...` - Remove `OPENVPN_CONFIG` != "" implies `VPNSP` = "custom" AND set `OPENVPN_CUSTOM_CONFIG` default to `/gluetun/custom.ovpn` - Remove functionalities - `SERVER_NUMBER` - `SERVER_NAME` - `PUBLICIP_FILE` - `PORT_FORWARDING_STATUS_FILE`, `PRIVATE_INTERNET_ACCESS_VPN_PORT_FORWARDING_STATUS_FILE` - Updater servers version reset to 1 - Reset HTTP server version to v1 and remove older ones - Change to compulsory - `VPN_SERVICE_PROVIDER` - Use relative paths everywhere instead of absolute