qdm12 / gluetun

VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
https://hub.docker.com/r/qmcgaw/gluetun
MIT License
7.44k stars 350 forks source link

Bug: Privado servers data does not match server hostnames #2439

Open Fleggy opened 3 weeks ago

Fleggy commented 3 weeks ago

Is this urgent?

No

Host OS

OpenMediaVault 6

CPU arch

x86_64

VPN service provider

Privado

What are you using to run the container

docker-compose

What is the version of Gluetun

Running version latest built on 2024-08-23T13:50:02.262Z (commit ff7cadb)

What's the problem 🤔

I am running Privado VPN and it is giving me an error that only United States, Germany, Hungary and Netherlands are available countries. Up until now, I have been using Australia or New Zealand. I have manually updated the provider list but it has not helped

Share your logs (at least 10 lines)

Running version latest built on 2024-08-23T13:50:02.262Z (commit ff7cadb)

🔧 Need help? ☕ Discussion? https://github.com/qdm12/gluetun/discussions/new/choose
🐛 Bug? ✨ New feature? https://github.com/qdm12/gluetun/issues/new/choose
💻 Email? quentin.mcgaw@gmail.com
💰 Help me? https://www.paypal.me/qmcgaw https://github.com/sponsors/qdm12
2024-08-25T08:08:48+10:00 INFO [routing] default route found: interface eth0, gateway 172.17.0.1, assigned IP 172.17.0.2 and family v4
2024-08-25T08:08:48+10:00 INFO [routing] local ethernet link found: eth0
2024-08-25T08:08:48+10:00 INFO [routing] local ipnet found: 172.17.0.0/16
2024-08-25T08:08:48+10:00 INFO [firewall] enabling...
2024-08-25T08:08:48+10:00 INFO [firewall] enabled successfully
2024-08-25T08:08:49+10:00 INFO [storage] merging by most recent 20480 hardcoded servers and 20483 servers read from /gluetun/servers.json
2024-08-25T08:08:49+10:00 INFO [storage] Using privado servers from file which are 5 days more recent
2024-08-25T08:08:49+10:00 ERROR VPN settings: provider settings: server selection: for VPN service provider privado: the country specified is not valid: value is not one of the possible choices: none of AUSTRALIA is one of the choices available Germany, Hungary, Netherlands, United States
2024-08-25T08:08:49+10:00 INFO Shutdown successful

END OF LINE

Share your configuration

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    network_mode: bridge    #depends on your setup, I use docker on synology
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
      - 8001:8001/tcp # Built-in HTTP control server
      - 8080:8080 # sabnzbd
      - 9090:9090 # sabnzbd
      - 8191:8191 # flaresolverr
      - 9117:9117 # jackett
      - 8282:8282 # qbittorrent
      - 6881:6881 # qbittorrent
      - 6881:6881/udp # qbittorrent
    volumes:
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/Config/gluetun:/gluetun
    environment:
      - VPN_SERVICE_PROVIDER=privado
      - OPENVPN_USER=xxxxxx
      - OPENVPN_PASSWORD=xxxxxx
      - SERVER_COUNTRIES=AUSTRALIA
      - UPDATER_PERIOD=24h
      - HTTPPROXY=on
      - PUID=1000               #your local user ID (this can be the same for all following containers)
      - PGID=100                #your local users group (this can be the same for all following containers)
      - TZ=Australia/Melbourne          #for acurate logs (change to your Timezone)
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"    #this is my watchtower label to automatically update the container

#-----SABnzbd
  sabnzbd:
    image: ghcr.io/linuxserver/sabnzbd:latest
    container_name: sabnzbd
    network_mode: "service:gluetun"
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Australia/Melbourne
    volumes:
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/downloads:/downloads
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/incomplete-downloads:/incomplete-downloads
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/Config/sabnzbd:/config
    restart: unless-stopped
    labels:
      - "com.centurylinklabs.watchtower.enable=true"  

#-----Flaresolverr    
  flaresolverr:
    # DockerHub mirror flaresolverr/flaresolverr:latest
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    network_mode: "service:gluetun"
    environment:
      - LOG_LEVEL=${LOG_LEVEL:-info}
      - LOG_HTML=${LOG_HTML:-false}
      - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
      - TZ=Australia/Melbourne
    restart: unless-stopped
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

#-----Jackett
  jackett:
    image: lscr.io/linuxserver/jackett:latest
    container_name: jackett
    network_mode: "service:gluetun"
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Australia/Melbourne
    volumes:
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/Config/jackett:/config
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/downloads:/downloads
    restart: unless-stopped
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

#-----qBitTorrent  
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    network_mode: "service:gluetun"
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Australia/Melbourne
      - WEBUI_PORT=8282
    volumes:
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/Config/qbittorrent:/config
      - /srv/dev-disk-by-uuid-68b6b54d-7eda-4545-b0cb-0100bff5f4fe/downloads:/downloads
    restart: unless-stopped
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
github-actions[bot] commented 3 weeks ago

@qdm12 is more or less the only maintainer of this project and works on it in his free time. Please:

qdm12 commented 3 weeks ago

So all the servers are here, but given Privado doesn't give location information in each of their openvpn configuration file found in the zip file https://privadovpn.com/apps/ovpn_configs.zip, for now, Gluetun uses ipinfo.io to get location data for each server IP address. For example, for zrh-009.vpn.privado.io, the IP is 91.148.238.4 and checking ipinfo.io/91.148.238.4 gives Frankfurt am Main, Hesse, Germany with a warning:

Other providers place this IP in Zurich, Zurich, CH, 278.6 kms away from its actual location. We're confident we have it right. See our evidence.

Same thing with the "Sydney" server, pointing to California US: https://ipinfo.io/85.12.6.224

🤷

I can't really do anything without breaking the update automation for the time being, BUT what you can do:

  1. Ask Privado about their VPN server location, and why would ipinfo.io say for example their Switzerland VPN server IP address is in Frankfurt, since that's quite a big mismatch (it can happen sometimes by city, but not by country).
  2. Find a publicly available (live) webpage mapping each of these hostnames (i.e. syd-012.vpn.privado.io) to location data, for example on Privado's website.

In the meantime, you can use SERVER_HOSTNAMES=syd-012.vpn.privado.io as the server filtering to use the "Sydney" server, although it may not be (ipinfo.io being wrong or Privado server hostnames misconfigured/lying)

Fleggy commented 3 weeks ago

Contacted Privado and they just pointed me to their knowledgebase articles. They are not going to be very helpful so I will try the SERVER_HOSTNAMES=syd-012.vpn.privado.io for now. The logs still say it is connected to the US, however I will test and see if the speeds are different. Thanks for your help @qdm12

jchurchward commented 3 weeks ago

Stumbled here for the same reason. Thank you @qdm12 for providing the workaround using the below. I can see it's now working via Sydney. Shame using SERVER_COUNTRIES=Australia has stopped working properly though but at least I am now aware.

qdm12 commented 3 weeks ago

As in, I could hardcode country values if you want. It's just odd ipinfo.io is stating that warning message and I'm a bit shared with blindly trusting Privado and possibly putting users in the wrong country 🤷 I'm still curious if you can debunk this. I can't believe They are not going to be very helpful, that's literally their job ugh.