Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Gluetun gets slow download speeds after a while #2677

Open
Iaskweirdquestions opened this issue Jan 28, 2025 · 2 comments
Open

Bug: Gluetun gets slow download speeds after a while #2677

Iaskweirdquestions opened this issue Jan 28, 2025 · 2 comments

Comments

@Iaskweirdquestions
Copy link

Is this urgent?

None

Host OS

Debian

CPU arch

x86_64

VPN service provider

ProtonVPN

What are you using to run the container

docker-compose

What is the version of Gluetun

Running version latest built on 2020-03-13T01:30:06Z (commit 13532c8)

What's the problem 🤔

Everything seems to be working perfectly fine. I set up Gluetun following every tutorial out there, and it’s configured as it should be. I’ve set a limit of 10MB/s in qBittorrent, and as soon as I start the container, I immediately get those speeds. However, after some time, the speed drops completely or goes down to just a few B/s. qBittorrent still shows as connected, and everything appears to be working perfectly fine.

When adding torrents manually, like the official Debian ISO, I again get speeds of 10MB/s. However, for others, like the Ubuntu torrent, the speed drops to just a few bytes. I downloaded a torrent that was stuck on “stalled” for almost a week. Occasionally, it would find one seeder and download at only around 20 B/s again. As soon as I restart the container, I get speeds of about 10MB/s for all my torrents again, but after around 1-2 hours, the speed drops until I’m downloading almost nothing.

I’m honestly at a loss here and don’t understand what’s happening. I’ve tried setting a specific server, so it’s not an issue with Gluetun connecting to a new IP and suddenly working again. I experience the same problem even when I specifically tell Gluetun to use a specific server.

Share your logs (at least 10 lines)

2025-01-28T00:09:11+01:00 INFO [http server] http server listening on [::]:8000
2025-01-28T00:09:11+01:00 INFO [healthcheck] listening on 127.0.0.1:9999
2025-01-28T00:09:11+01:00 INFO [dns] using plaintext DNS at address 1.1.1.1
2025-01-28T00:09:11+01:00 INFO [firewall] allowing VPN connection...
2025-01-28T00:09:11+01:00 INFO [wireguard] Using available kernelspace implementation
2025-01-28T00:09:11+01:00 INFO [wireguard] Connecting to (HIDDEN):51820
2025-01-28T00:09:11+01:00 INFO [wireguard] Wireguard setup is complete. Note Wireguard is a silent protocol and it may or may not work, without giving any error message. Typically i/o timeout errors indicate the Wireguard connection is not working.
2025-01-28T00:09:11+01:00 INFO [dns] downloading hostnames and IP block lists
2025-01-28T00:09:17+01:00 INFO [healthcheck] healthy!
2025-01-28T00:09:19+01:00 INFO [dns] DNS server listening on [::]:53
2025-01-28T00:09:19+01:00 INFO [dns] ready
2025-01-28T00:09:19+01:00 INFO [ip getter] Public IP address is (HIDDEN) (Switzerland, Zurich, Zürich - source: ipinfo)
2025-01-28T00:09:20+01:00 INFO [vpn] You are running 1 commit behind the most recent latest
2025-01-28T00:09:20+01:00 INFO [port forwarding] starting
2025-01-28T00:09:20+01:00 INFO [port forwarding] gateway external IPv4 address is (HIDDEN)
2025-01-28T00:09:20+01:00 INFO [port forwarding] port forwarded is 39185
2025-01-28T00:09:20+01:00 INFO [firewall] setting allowed input port 39185 through interface tun0...
2025-01-28T00:09:20+01:00 INFO [port forwarding] writing port file /tmp/gluetun/forwarded_port
2025-01-28T00:18:42+01:00 INFO [healthcheck] healthy!
2025-01-28T00:18:45+01:00 INFO [healthcheck] healthy!
2025-01-28T00:19:15+01:00 INFO [healthcheck] healthy!
2025-01-28T00:19:18+01:00 INFO [healthcheck] healthy!
2025-01-28T00:43:36+01:00 INFO [healthcheck] healthy!
2025-01-28T00:43:45+01:00 INFO [healthcheck] healthy!
2025-01-28T00:43:53+01:00 INFO [healthcheck] healthy!
2025-01-28T00:44:07+01:00 INFO [healthcheck] healthy!
2025-01-28T00:44:15+01:00 INFO [healthcheck] healthy!
2025-01-28T00:44:23+01:00 INFO [healthcheck] healthy!
2025-01-28T01:02:13+01:00 INFO [healthcheck] healthy!
2025-01-28T01:22:00+01:00 INFO [healthcheck] program has been unhealthy for 6s: restarting VPN (healthcheck error: running TLS handshake: context deadline exceeded)
2025-01-28T01:22:00+01:00 INFO [healthcheck] 👉 See https://github.com/qdm12/gluetun-wiki/blob/main/faq/healthcheck.md
2025-01-28T01:22:00+01:00 INFO [healthcheck] DO NOT OPEN AN ISSUE UNLESS YOU READ AND TRIED EACH POSSIBLE SOLUTION
2025-01-28T01:22:00+01:00 INFO [vpn] stopping
2025-01-28T01:22:00+01:00 INFO [port forwarding] stopping
2025-01-28T01:22:00+01:00 INFO [firewall] removing allowed port 39185...
2025-01-28T01:22:00+01:00 INFO [port forwarding] removing port file /tmp/gluetun/forwarded_port
2025-01-28T01:22:00+01:00 INFO [vpn] starting
2025-01-28T01:22:00+01:00 INFO [firewall] allowing VPN connection...
2025-01-28T01:22:00+01:00 INFO [wireguard] Using available kernelspace implementation
2025-01-28T01:22:00+01:00 INFO [wireguard] Connecting to (HIDDEN):51820
2025-01-28T01:22:00+01:00 INFO [wireguard] Wireguard setup is complete. Note Wireguard is a silent protocol and it may or may not work, without giving any error message. Typically i/o timeout errors indicate the Wireguard connection is not working.
2025-01-28T01:22:05+01:00 WARN [dns] dialing tls server for request IN AAAA ipinfo.io.: dial tcp 1.1.1.1:853: i/o timeout
2025-01-28T01:22:05+01:00 WARN [dns] dialing tls server for request IN A cloudflare.com.: dial tcp 1.0.0.1:853: i/o timeout
2025-01-28T01:22:05+01:00 WARN [dns] dialing tls server for request IN A ipinfo.io.: dial tcp 1.1.1.1:853: i/o timeout
2025-01-28T01:22:07+01:00 WARN [dns] dialing tls server for request IN A cloudflare.com.: dial tcp 1.1.1.1:853: i/o timeout
2025-01-28T01:22:10+01:00 WARN [dns] dialing tls server for request IN AAAA ipinfo.io.: dial tcp 1.0.0.1:853: i/o timeout
2025-01-28T01:22:10+01:00 WARN [dns] dialing tls server for request IN A ipinfo.io.: dial tcp 1.0.0.1:853: i/o timeout
2025-01-28T01:22:11+01:00 WARN [dns] dialing tls server for request IN A cloudflare.com.: dial tcp 1.1.1.1:853: i/o timeout
2025-01-28T01:22:12+01:00 INFO [healthcheck] program has been unhealthy for 11s: restarting VPN (healthcheck error: dialing: dial tcp4: lookup cloudflare.com: i/o timeout)
2025-01-28T01:22:12+01:00 INFO [healthcheck] 👉 See https://github.com/qdm12/gluetun-wiki/blob/main/faq/healthcheck.md
2025-01-28T01:22:12+01:00 INFO [healthcheck] DO NOT OPEN AN ISSUE UNLESS YOU READ AND TRIED EACH POSSIBLE SOLUTION
2025-01-28T01:22:12+01:00 INFO [vpn] stopping
2025-01-28T01:22:12+01:00 ERROR [vpn] getting public IP address information: fetching information: Get "https://ipinfo.io/": context canceled
2025-01-28T01:22:12+01:00 INFO [port forwarding] starting
2025-01-28T01:22:12+01:00 ERROR [vpn] starting port forwarding service: port forwarding for the first time: getting external IPv4 address: executing remote procedure call: writing to connection: write udp 172.19.0.2:39587->10.2.0.1:5351: write: operation not permitted
2025-01-28T01:22:13+01:00 INFO [vpn] starting
2025-01-28T01:22:13+01:00 INFO [firewall] allowing VPN connection...
2025-01-28T01:22:13+01:00 INFO [wireguard] Using available kernelspace implementation
2025-01-28T01:22:13+01:00 INFO [wireguard] Connecting to (HIDDEN):51820
2025-01-28T01:22:13+01:00 INFO [wireguard] Wireguard setup is complete. Note Wireguard is a silent protocol and it may or may not work, without giving any error message. Typically i/o timeout errors indicate the Wireguard connection is not working.
2025-01-28T01:22:15+01:00 WARN [dns] dialing tls server for request IN AAAA ipinfo.io.fritz.box.: context deadline exceeded
2025-01-28T01:22:15+01:00 WARN [dns] dialing tls server for request IN A ipinfo.io.fritz.box.: context deadline exceeded
2025-01-28T01:22:16+01:00 WARN [dns] dialing tls server for request IN A cloudflare.com.: context deadline exceeded
2025-01-28T01:22:18+01:00 WARN [dns] dialing tls server for request IN A cloudflare.com.: context deadline exceeded
2025-01-28T01:22:18+01:00 ERROR [vpn] getting public IP address information: fetching information: Get "https://ipinfo.io/": dial tcp: lookup ipinfo.io on 127.0.0.1:53: read udp 127.0.0.1:41569->127.0.0.1:53: i/o timeout
2025-01-28T01:22:18+01:00 INFO [port forwarding] starting
2025-01-28T01:22:18+01:00 INFO [port forwarding] gateway external IPv4 address is (HIDDEN)
2025-01-28T01:22:20+01:00 INFO [port forwarding] port forwarded is 46434
2025-01-28T01:22:20+01:00 INFO [firewall] setting allowed input port 46434 through interface tun0...
2025-01-28T01:22:20+01:00 INFO [port forwarding] writing port file /tmp/gluetun/forwarded_port
2025-01-28T01:22:24+01:00 INFO [healthcheck] healthy!
2025-01-28T01:24:26+01:00 INFO [healthcheck] healthy!
2025-01-28T01:24:54+01:00 INFO [healthcheck] healthy!
2025-01-28T19:40:53+01:00 INFO [healthcheck] healthy!
2025-01-28T19:41:14+01:00 INFO [healthcheck] program has been unhealthy for 6s: restarting VPN (healthcheck error: running TLS handshake: context deadline exceeded)
2025-01-28T19:41:14+01:00 INFO [healthcheck] 👉 See https://github.com/qdm12/gluetun-wiki/blob/main/faq/healthcheck.md
2025-01-28T19:41:14+01:00 INFO [healthcheck] DO NOT OPEN AN ISSUE UNLESS YOU READ AND TRIED EACH POSSIBLE SOLUTION
2025-01-28T19:41:14+01:00 INFO [vpn] stopping
2025-01-28T19:41:14+01:00 INFO [port forwarding] stopping
2025-01-28T19:41:14+01:00 INFO [firewall] removing allowed port 46434...
2025-01-28T19:41:14+01:00 INFO [port forwarding] removing port file /tmp/gluetun/forwarded_port
2025-01-28T19:41:14+01:00 INFO [vpn] starting
2025-01-28T19:41:14+01:00 INFO [firewall] allowing VPN connection...
2025-01-28T19:41:14+01:00 INFO [wireguard] Using available kernelspace implementation
2025-01-28T19:41:14+01:00 INFO [wireguard] Connecting to (HIDDEN):51820
2025-01-28T19:41:14+01:00 INFO [wireguard] Wireguard setup is complete. Note Wireguard is a silent protocol and it may or may not work, without giving any error message. Typically i/o timeout errors indicate the Wireguard connection is not working.
2025-01-28T19:41:20+01:00 WARN [dns] dialing tls server for request IN A ipinfo.io.: dial tcp 1.1.1.1:853: i/o timeout
2025-01-28T19:41:20+01:00 WARN [dns] dialing tls server for request IN AAAA ipinfo.io.: dial tcp 1.1.1.1:853: i/o timeout
2025-01-28T19:41:25+01:00 WARN [dns] dialing tls server for request IN A ipinfo.io.: dial tcp 1.1.1.1:853: i/o timeout
2025-01-28T19:41:25+01:00 WARN [dns] dialing tls server for request IN AAAA ipinfo.io.: dial tcp 1.0.0.1:853: i/o timeout
2025-01-28T19:41:26+01:00 INFO [healthcheck] healthy!
2025-01-28T19:41:30+01:00 ERROR [vpn] getting public IP address information: fetching information: Get "https://ipinfo.io/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2025-01-28T19:41:30+01:00 INFO [port forwarding] starting
2025-01-28T19:41:30+01:00 WARN [dns] dialing tls server for request IN AAAA ipinfo.io.fritz.box.: context deadline exceeded
2025-01-28T19:41:30+01:00 WARN [dns] dialing tls server for request IN A ipinfo.io.fritz.box.: context deadline exceeded
2025-01-28T19:41:31+01:00 INFO [healthcheck] healthy!
2025-01-28T19:41:32+01:00 INFO [port forwarding] gateway external IPv4 address is (HIDDEN)
2025-01-28T19:41:33+01:00 INFO [port forwarding] port forwarded is 39638
2025-01-28T19:41:33+01:00 INFO [firewall] setting allowed input port 39638 through interface tun0...
2025-01-28T19:41:33+01:00 INFO [port forwarding] writing port file /tmp/gluetun/forwarded_port

Share your configuration

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: 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
      - 8080:8080 # qBittorrent
      - 7878:7878 # Radarr
      - 8989:8989 # Sonarr
      - 9696:9696 # Prowlarr
      - 6767:6767 # Bazarr
    volumes:
      - /opt/docker/gluetun/config:/gluetun
      - /opt/docker/gluetun/port:/tmp/gluetun
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=HIDDEN
      - SERVER_COUNTRIES=Netherlands,Italy,Switzerland,Sweden,Slovenia,Poland
      - VPN_PORT_FORWARDING=on
      # VPN_PORT_FORWARDING_PROVIDER=protonvpn
      - TZ=Europe/Vienna
      - UPDATER_PERIOD=24h

  qbittorrent:
    container_name: qbittorrent
    depends_on:
      - gluetun
    environment:
      - PUID=568
      - PGID=568
      - TZ=Europe/Vienna
      - WEBUI_PORT=8080
    image: linuxserver/qbittorrent:latest
    network_mode: service:gluetun
    restart: unless-stopped
    volumes:
      - /opt/docker/torrenting/qbittorrent/appdata:/config
      - /mnt/media/torrent-downloads/english:/media/torrent-downloads/english

  gluetun-qbittorrent-port-manager:
    image: snoringdragon/gluetun-qbittorrent-port-manager:latest
    restart: unless-stopped
    volumes:
      - /opt/docker/gluetun/port:/tmp/gluetun # Set "yourfolder" to the same directory you used for Gluetun
    network_mode: "service:gluetun"
    environment:
      QBITTORRENT_SERVER: localhost  # IP Address of qbittorrent
      QBITTORRENT_PORT: 8080
      QBITTORRENT_USER: HIDDEN # username
      QBITTORRENT_PASS: HIDDEN  # password
      PORT_FORWARDED: /tmp/gluetun/forwarded_port
      HTTP_S: http  # Select 'http' or 'https' depending on if you use certificates.
Copy link
Contributor

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

@huskaramok
Copy link

i can confirm this exact issue as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants