• Valmond@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    14
    ·
    2 days ago

    Proton VPN have had one of their chefs praising donald trump, but that’s the worst I have heard about them. Swiss based (they have among the most protective privacy laws out there), email servers are deep down in the mountains (I don’t know about the VON ones), no logs (for what I remember, maybe short lived ones?), made by the dudes at CERN.

    So compared to others quite flawless IMO.

    Only technical problem I have had is the VPN switches port from time to time and you have to rebind the network interface of your favourite torrent if you’re running a tight ship. I have found no simple way of detecting when it happens.

      • Valmond@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        Interesting!

        So it pings some entity and they send back your external port? I speed read the code (but I’m on mobile) and that’s what it looks like. Any information greatly appreciated.

        • Jakeroxs@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day ago

          Gluetun itself already knows the forwarded port via NAT-PMP, this program just gets it from gluetun and assigns it in qbt via the qbt api and if it returns a 200 response it considers it confirmed, here’s an example log:

          waiting for qBittorrent WebUI…

          qBittorrent WebUI is ready (authenticated).

          port file did not contain an integer: /tmp/gluetun/forwarded_port

          port file did not contain an integer: /tmp/gluetun/forwarded_port

          gluetun provided forwarded port: 36884

          syncing port 36884 to qBittorrent…

          successfully updated qBittorrent to port 36884 (confirmed)

          port file did not contain an integer: /tmp/gluetun/forwarded_port

          port file did not contain an integer: /tmp/gluetun/forwarded_port

          gluetun provided forwarded port: 39293

          syncing port 39293 to qBittorrent…

          successfully updated qBittorrent to port 39293 (confirmed)

          • Valmond@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            18 hours ago

            Where is the Gluetun server running? I mean if you run it yourself you have to like forward all ports to it?

            Thanks for the writeup!

            • Jakeroxs@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              14 hours ago

              So gluetun is for docker networks and lets you isolate traffic to/from other docker containers into a VPN, you run it and qbt inside docker containers with gluetun configured to your vpn, then qbt configured to route all its traffic through it.

              Edit: I didn’t have to port forward at all on my network for this to access it locally (I run it on a separate computer), because all the “outside” traffic in qbt is going through the vpn that has a forwarded port seeders/leachers can connect (which is dynamically updated as it changes with the aforementioned qbt port manager)

              For example (truncated docker compose just the part related to above): services: qbittorrent-vpn: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent-vpn depends_on: gluetun: condition: service_started restart: true restart: unless-stopped network_mode: “service:gluetun”

              Then gluetun: services: gluetun: image: qmcgaw/gluetun container_name: gluetun restart: unless-stopped networks: - default cap_add: - NET_ADMIN devices: - /dev/net/tun - 8888:8888/tcp # HTTP proxy volumes: - /appdata/gluetun:/gluetun - /appdata/gluetun/tmp:/tmp/gluetun environment: TZ: $TZ VPN_SERVICE_PROVIDER: $GLUETUN_VPN_SERVICE_PROVIDER VPN_TYPE: $GLUETUN_VPN_TYPE # wireguard / openvpn WIREGUARD_PRIVATE_KEY: $GLUETUN_WIREGUARD_PRIVATE_KEY WIREGUARD_ADDRESSES: $GLUETUN_WIREGUARD_ADDRESSES VPN_PORT_FORWARDING: on VPN_PORT_FORWARDING_PROVIDER: protonvpn # or your provider VPN_PORT_FORWARDING_STATUS_FILE: /tmp/gluetun/forwarded_port # OPENVPN_USER: $GLUETUN_OPENVPN_USERNAME # OPENVPN_PASSWORD: $GLUETUN_OPENVPN_PASSWORD healthcheck: test: [“CMD”, “/gluetun-entrypoint”, “healthcheck”] interval: 5s timeout: 5s retries: 1 start_period: 10s

              gluetun-qbittorrent-port-manager: image: jopiermeier/gluetun-qbittorrent-port-manager:latest network_mode: “service:gluetun” container_name: gluetun-port-manager depends_on: gluetun: condition: service_started restart: true qbittorrent-vpn: condition: service_started restart: true environment: - QBITTORRENT_USER= - QBITTORRENT_PASS= - QBITTORRENT_PORT=$QBITTORRENTVPN_PORT volumes: - /appdata/gluetun/tmp:/tmp/gluetun