gluetun icon indicating copy to clipboard operation
gluetun copied to clipboard

Bug: PureVPN obf servers missing

Open nodecentral opened this issue 1 year ago • 8 comments

Is this urgent?

Yes

Host OS

QNAP Linux

CPU arch

x86_64

VPN service provider

PureVPN

What are you using to run the container

docker run

What is the version of Gluetun

Running version latest built on 2022-12-31T17:50:58.654Z (commit ea40b84)

What's the problem 🤔

Hi

This is both a configuration issue and by association a Wiki issue: All PureVPN UDP servers need updating ?

Based on the PureVPN server listing - https://www.purevpn.com/servers, all udp servers on the wiki look like they need to be updated ? The new format includes obf e.g. ca2-auto-udp-obf.ptoserver.com

I tried to add the new ones but the Gluetun client won’t accept them as they are not part of it pre-populated list of servers.

Share your logs


02/04/2023 23:56:48
2023-04-02T23:56:48+01:00 INFO [storage] merging by most recent 13224 hardcoded servers and 13224 servers read from /gluetun/servers.json
02/04/2023 23:56:49
2023-04-02T23:56:49+01:00 ERROR VPN settings: provider settings: server selection: the hostname specified is not valid: value is not one of the possible choices: value "nl2-auto-udp-obf.ptoserver.com", choices available are ae2-auto-tcp.ptoserver.com, ae2-auto-udp.ptoserver.com, af2-auto-tcp.ptoserver.com, af2-auto-udp.ptoserver.com, al2-auto-tcp.ptoserver.com, al2-auto-udp.ptoserver.com, ao2-auto-tcp.ptoserver.com, ao2-auto-udp.ptoserver.com, ar2-auto-tcp.ptoserver.com, ar2-auto-udp.ptoserver.com, at2-auto-tcp.ptoserver.com, at2-auto-udp.ptoserver.com, au2-auto-tcp.ptoserver.com, au2-auto-udp.ptoserver.com, au2-pe-tcp.ptoserver.com, au2-pe-udp.ptoserver.com, aume2-auto-tcp.ptoserver.com, aume2-auto-udp.ptoserver.com, ausd2-auto-tcp.ptoserver.com, ausd2-auto-udp.ptoserver.com, aw2-auto-tcp.ptoserver.com, aw2-auto-udp.ptoserver.com, bb2-auto-tcp.ptoserver.com, bb2-auto-udp.ptoserver.com, bd2-auto-tcp.ptoserver.com, bd2-auto-udp.ptoserver.com, be2-auto-tcp.ptoserver.com, be2-auto-udp.ptoserver.com, bg2-auto-tcp.ptoserver.com, bg2-auto-udp.ptoserver.com, bh2-auto-tcp.ptoserver.com, bh2-auto-udp.ptoserver.com, bm2-auto-tcp.ptoserver.com, bm2-auto-udp.ptoserver.com, bn2-auto-udp.ptoserver.com, bo2-auto-tcp.ptoserver.com, bo2-auto-udp.ptoserver.com, br2-auto-tcp.ptoserver.com, br2-auto-udp.ptoserver.com, bs2-auto-tcp.ptoserver.com, bs2-auto-udp.ptoserver.com, ca2-auto-tcp.ptoserver.com, ca2-auto-udp.ptoserver.com, caq2-auto-tcp.ptoserver.com, caq2-auto-udp.ptoserver.com, cav2-auto-tcp.ptoserver.com, cav2-auto-udp.ptoserver.com, ch2-auto-tcp.ptoserver.com, ch2-auto-udp.ptoserver.com, cr2-auto-tcp.ptoserver.com, cr2-auto-udp.ptoserver.com, cy2-auto-tcp.ptoserver.com, cz2-auto-tcp.ptoserver.com, cz2-auto-udp.ptoserver.com, de2-auto-tcp.ptoserver.com, de2-auto-udp.ptoserver.com, dk2-auto-udp.ptoserver.com, dz2-auto-tcp.ptoserver.com, dz2-auto-udp.ptoserver.com, ee2-auto-tcp.ptoserver.com, ee2-auto-udp.ptoserver.com, eg2-auto-tcp.ptoserver.com, eg2-auto-udp.ptoserver.com, es2-auto-udp.ptoserver.com, fi2-auto-tcp.ptoserver.com, fi2-auto-udp.ptoserver.com, fr2-auto-tcp.ptoserver.com, fr2-auto-udp.ptoserver.com, ge2-auto-tcp.ptoserver.com, ge2-auto-udp.ptoserver.com, gr2-auto-udp.ptoserver.com, hk2-auto-tcp.ptoserver.com, hk2-auto-udp.ptoserver.com, hu2-auto-tcp.ptoserver.com, hu2-auto-udp.ptoserver.com, id2-auto-tcp.ptoserver.com, id2-auto-udp.ptoserver.com, ie2-auto-tcp.ptoserver.com, ie2-auto-udp.ptoserver.com, in2-auto-tcp.ptoserver.com, in2-auto-udp.ptoserver.com, is2-auto-tcp.ptoserver.com, it2-auto-tcp.ptoserver.com, it2-auto-udp.ptoserver.com, jp2-auto-udp.ptoserver.com, ke2-auto-tcp.ptoserver.com, ke2-auto-udp.ptoserver.com, kr2-auto-udp.ptoserver.com, lt2-auto-tcp.ptoserver.com, lt2-auto-udp.ptoserver.com, lu2-auto-tcp.ptoserver.com, lu2-auto-udp.ptoserver.com, lv2-auto-tcp.ptoserver.com, lv2-auto-udp.ptoserver.com, mc2-auto-tcp.ptoserver.com, mc2-auto-udp.ptoserver.com, md2-auto-tcp.ptoserver.com, md2-auto-udp.ptoserver.com, mx2-auto-tcp.ptoserver.com, mx2-auto-udp.ptoserver.com, my2-auto-tcp.ptoserver.com, my2-auto-udp.ptoserver.com, ng2-auto-tcp.ptoserver.com, ng2-auto-udp.ptoserver.com, nl2-auto-tcp.ptoserver.com, nl2-auto-udp.ptoserver.com, no2-auto-tcp.ptoserver.com, no2-auto-udp.ptoserver.com, nz2-auto-tcp.ptoserver.com, nz2-auto-udp.ptoserver.com, om2-auto-tcp.ptoserver.com, om2-auto-udp.ptoserver.com, pa2-auto-tcp.ptoserver.com, pa2-auto-udp.ptoserver.com, ph2-auto-tcp.ptoserver.com, ph2-auto-udp.ptoserver.com, pl2-auto-udp.ptoserver.com, pr2-auto-tcp.ptoserver.com, pr2-auto-udp.ptoserver.com, pt2-auto-udp.ptoserver.com, ro2-auto-tcp.ptoserver.com, ro2-auto-udp.ptoserver.com, rs2-auto-tcp.ptoserver.com, rs2-auto-udp.ptoserver.com, ru2-auto-tcp.ptoserver.com, ru2-auto-udp.ptoserver.com, se2-auto-tcp.ptoserver.com, se2-auto-udp.ptoserver.com, sg2-auto-tcp.ptoserver.com, sg2-auto-udp.ptoserver.com, sk2-auto-tcp.ptoserver.com, sk2-auto-udp.ptoserver.com, th2-auto-tcp.ptoserver.com, th2-auto-udp.ptoserver.com, tr2-auto-tcp.ptoserver.com, tr2-auto-udp.ptoserver.com, tw2-auto-tcp.ptoserver.com, tw2-auto-udp.ptoserver.com, ua2-auto-tcp.ptoserver.com, ua2-auto-udp.ptoserver.com, uk2-auto-tcp.ptoserver.com, uk2-auto-udp.ptoserver.com, ukl2-auto-tcp.ptoserver.com, ukl2-auto-udp.ptoserver.com, ukm2-auto-tcp.ptoserver.com, ukm2-auto-udp.ptoserver.com, us-global-tcp2.ptoserver.com, us-global-udp2.ptoserver.com, usca2-auto-tcp.ptoserver.com, usca2-auto-udp.ptoserver.com, usfl2-auto-tcp.ptoserver.com, usfl2-auto-udp.ptoserver.com, usga2-auto-tcp.ptoserver.com, usga2-auto-udp.ptoserver.com, usil2-auto-tcp.ptoserver.com, usil2-auto-udp.ptoserver.com, usnj2-auto-tcp.ptoserver.com, usnj2-auto-udp.ptoserver.com, usny2-auto-tcp.ptoserver.com, usny2-auto-udp.ptoserver.com, usphx2-auto-tcp.ptoserver.com, usphx2-auto-udp.ptoserver.com, ussa2-auto-tcp.ptoserver.com, ussa2-auto-udp.ptoserver.com, ussf2-auto-tcp.ptoserver.com, ussf2-auto-udp.ptoserver.com, ustx2-auto-tcp.ptoserver.com, ustx2-auto-udp.ptoserver.com, usut2-auto-tcp.ptoserver.com, usut2-auto-udp.ptoserver.com, usva2-auto-tcp.ptoserver.com, usva2-auto-udp.ptoserver.com, uswdc2-auto-tcp.ptoserver.com, uswdc2-auto-udp.ptoserver.com, vg2-auto-tcp.ptoserver.com, vg2-auto-udp.ptoserver.com, vn2-auto-tcp.ptoserver.com, vn2-auto-udp.ptoserver.com, za2-auto-udp.ptoserver.com
02/04/2023 23:56:49
2023-04-02T23:56:49+01:00 INFO Shutdown successful

Share your configuration

No logs to share

nodecentral avatar Apr 02 '23 23:04 nodecentral

@nodecentral

Did you try updating the servers using the procedure in this section of the Wiki?

https://github.com/qdm12/gluetun/wiki/Updating-servers

bnhf avatar Apr 02 '23 23:04 bnhf

Hi @bnhf , yes I did, although i ran in to a couple of issues, (1) I didn’t know what the associated IP addresses were, so I used some other server listing and (2) when I made the update and synced it back, it still reported the same error, in that the domain address i added still doesn’t appear in the listing Gluetun looks to ??.

{
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "nl2-auto-udp-obf.ptoserver.com",
        "udp": true,
        "ips": [
          "5.254.48.85",
          "194.127.173.227"
        ]
	},
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "om2-auto-tcp.ptoserver.com",
        "tcp": true,
        "ips": [
          "172.94.94.5"
        ]
      }, 

nodecentral avatar Apr 02 '23 23:04 nodecentral

@nodecentral

So I did an update for PureVPN, and these are the ones I got. It was pretty fast, so I'm guessing it's being delivered by their API:

   {
        "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",
          "45.74.55.6"
        ]
      },
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "mc2-auto-tcp.ptoserver.com",
        "tcp": true,
        "ips": [
          "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.4"
        ]
      },
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "ng2-auto-tcp.ptoserver.com",
        "tcp": true,
        "ips": [
          "172.111.128.228",
          "172.111.128.229"
        ]
      },
      {
        "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": [
          "5.254.48.134",
          "37.46.122.84"
        ]
      },
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "nl2-auto-udp.ptoserver.com",
        "udp": true,
        "ips": [
          "5.254.48.201"
        ]
      },
      {
        "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.69"
        ]
      },
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "pa2-auto-udp.ptoserver.com",
        "udp": true,
        "ips": [
          "172.94.87.67",
          "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",
          "104.250.183.6"
        ]
      },
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "pr2-auto-udp.ptoserver.com",
        "udp": true,
        "ips": [
          "104.250.183.4",
          "104.250.183.6"
        ]
      },
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "vg2-auto-tcp.ptoserver.com",
        "tcp": true,
        "ips": [
          "104.243.253.4"
        ]
      },
      {
        "vpn": "openvpn",
        "country": "Netherlands",
        "region": "North Holland",
        "city": "Amsterdam",
        "hostname": "vg2-auto-udp.ptoserver.com",
        "udp": true,
        "ips": [
          "104.243.253.6"
        ]
      },

Have you tried just specifying a SERVER_COUTRIES=Netherlands, or SERVER_CITIES=Amsterdam, or using one of the hostnames that shows up on the above list? Are any or all of those options working?

When you run the update, are you binding /gluetun to the same directory on your host that you use for normal operation? If you look at the servers.json properties is it actually getting updated?

bnhf avatar Apr 03 '23 01:04 bnhf

Hi, my gluetun set up has been pretty solid for a while, it's only in the last week that it's reported that the details I was using was not valid any more.

Here is my current config, which I'm trying out but it's failing as the udp server is not in the Gluetun list. (Previous choice is the one commented out)


      - VPN_SERVICE_PROVIDER=purevpn
      - SERVER_COUNTRIES=Netherlands
      - SERVER_REGIONS=North Holland
      - SERVER_CITIES=Amsterdam
      #- SERVER_HOSTNAMES=nl2-auto-udp.ptoserver.com,nl2-auto-tcp.ptoserver.com
      - SERVER_HOSTNAMES=nl2-auto-udp-obf.ptoserver.com,nl2-auto-tcp.ptoserver.com

What's interesting about the list of servers you shared is that if the fist part of the server name is supposed to represent the country, then shouldn't they all start nl?

Also it's been a while since I have changed the compose file, can I get away with just choosing a country or a city now, I don't have to specify everything?

nodecentral avatar Apr 03 '23 04:04 nodecentral

@nodecentral

Also it's been a while since I have changed the compose file, can I get away with just choosing a country or a city now, I don't have to specify everything?

Yes, I'd suggest using the broadest scope as far as servers are concerned that meets your needs. If any server in the Netherlands is fine with you, then only specify SERVER_COUNTRIES=Netherlands, and one will be selected at random for you, and you'll rollover to another in the Netherlands if your connection becomes unhealthy for any reason.

Or, if you'd always like an server in Amsterdam specify that, and comment out the others. They way you're doing it, you may only ever get one of the two listed as SERVER_HOSTNAMES. Better to spread your traffic around to a larger group of servers I would think. Maybe try commenting out SERVER_REGIONS, SERVER_CITIES and SERVER_HOSTNAMES and see how that works -- as a starting point.

bnhf avatar Apr 03 '23 05:04 bnhf

The OpenVPN servers data is obtained from https://d32d3g1fvkpl8y.cloudfront.net/heartbleed/windows/New+OVPN+Files.zip I guess PureVPN didn't add those new obf servers to it. Can you contact them and ask them to either update the zip file or provide a new zip url link containing the obf servers?

qdm12 avatar Apr 03 '23 10:04 qdm12

I’ve tried a couple of times to get the full list but they keep sending me to the my.purevpn.com member area, and download each server individually.. ☹️

nodecentral avatar Apr 04 '23 19:04 nodecentral

We need to change the purevpn provider code to fetch servers data from https://www.purevpn.com/servers that should do it instead of their zip file. However this is not a priority, and in case someone wants to take a stab at it, this has to be changed:

https://github.com/qdm12/gluetun/blob/bfe5e4380f27707a9cbd1af4b6788f004c5727a4/internal/provider/purevpn/updater/servers.go#L15

An example of update extracting server data from html code is SlickVPN's update code:

https://github.com/qdm12/gluetun/blob/bfe5e4380f27707a9cbd1af4b6788f004c5727a4/internal/provider/slickvpn/updater/servers.go#L14

But all this is not super ideal either, since if they update the website, the updating code will no longer work 😢

qdm12 avatar May 29 '23 10:05 qdm12