Optimiser qBittorrent avec Mullvad sur NAS Synology
0 / 7
← Tous les guides

Optimiser qBittorrent avec Mullvad sur NAS Synology

Configuration Docker + GlueTUN + WireGuard avec Mullvad. Parfait pour l'anonymat, mais sans port forwarding (ratio limité).

Choisissez votre guide

Ce guide a un but éducatif. monratio.fr n'encourage en aucun cas le piratage ou le téléchargement illégal de contenus protégés par le droit d'auteur.

Avertissement important : Mullvad et le ratio

Depuis 2023, Mullvad a supprimé le port forwarding sur tous ses serveurs. Conséquence directe : votre qBittorrent n'aura jamais de port ouvert (flamme orange permanente dans l'interface). Vous pourrez toujours télécharger, mais les autres peers ne pourront pas se connecter à vous : le ratio est donc très limité.

Mullvad reste un excellent choix pour l'anonymat pur (paiement cash, pas de compte email, politique no-log stricte), mais si votre priorité est le ratio sur trackers privés, regardez plutôt notre guide qBittorrent + ProtonVPN sur NAS Synology qui conserve le port forwarding natif.

Setup testé dans ce guide

Synology DS418play (Intel Celeron J3355, 2 Go de RAM), HDD classiques en SHR, fibre 800 Mb/s, Docker avec GlueTUN + qBittorrent + Mullvad.

Résultat mesuré : de 3 Mo/s à 25 Mo/s sur le même hardware, avec anonymat maximal.

1

🐢 Pourquoi votre NAS rame

Votre NAS télécharge à 3 Mo/s alors que vous avez une fibre à 800 Mb/s ? Le coupable n'est pas votre connexion. C'est le protocole VPN que vous utilisez.

Il existe deux grandes technologies pour chiffrer votre trafic VPN :

Comparaison OpenVPN vs WireGuard sur NAS :

OpenVPN (l'ancien)
Tourne comme un programme classique. Votre CPU doit faire tout le chiffrement. Sur un petit CPU type Celeron, il sature à 100% et freine tout.
CPU : 100% · Débit : 3 Mo/s
WireGuard (le moderne)
Tourne au cœur du système (kernel). Quasi aucune charge CPU. Même sur un petit NAS, il délivre.
CPU : 15% · Débit : 25 Mo/s (×8)

Dans mes tests, le passage de l'un à l'autre a multiplié le débit par 8 sur le même serveur Mullvad, sans rien toucher d'autre. C'est LA première chose à changer.

OpenVPN = chiffrement userland, overhead CPU massif sur Celeron. WireGuard = kernel-level, zéro overhead. Résultat mesuré : ×8 en débit sur le même serveur Mullvad.

Benchmark DS418play (Celeron J3355) :

# OpenVPN (avant)
$ top
CPU : 98.2% user, openvpn pid 1234
$ iperf3 -c test.mullvad
[  5]   0.00-10.00  sec   36 MBytes   30 Mbits/sec

# WireGuard (après)
$ top
CPU : 14.8% user, wireguard kernel
$ iperf3 -c test.mullvad
[  5]   0.00-10.00  sec  240 MBytes  201 Mbits/sec

Pourquoi la différence est si grande ? OpenVPN fait passer chaque paquet réseau par plusieurs couches logicielles avant de le chiffrer. WireGuard, lui, intercepte les paquets directement dans le noyau du système, là où c'est le plus rapide. Sur un PC avec un CPU puissant, vous ne verrez pas la différence. Mais sur un petit NAS, c'est le jour et la nuit.

2

🔑 Récupérer votre config WireGuard Mullvad

Mullvad a une approche radicalement différente des autres VPN : pas d'email, pas de mot de passe, pas de profil utilisateur. À la création de compte, vous recevez simplement un numéro de compte à 16 chiffres qui vous sert d'identifiant unique. C'est ce qui fait sa réputation en matière d'anonymat.

Pour récupérer votre config WireGuard :

  1. Rendez-vous sur mullvad.net/account/wireguard-config
  2. Connectez-vous avec votre numéro de compte à 16 chiffres
  3. Cliquez sur "Generate key" pour créer une nouvelle paire de clés WireGuard
  4. Sélectionnez un pays et un serveur (France, Suède ou Pays-Bas sont de bons choix pour le P2P)
  5. Téléchargez le fichier .conf généré

Options recommandées :

Plateforme Linux
Pays France / Suède / Pays-Bas
Ville recommandée P2P Paris / Stockholm / Amsterdam
✗ Port forwarding INDISPONIBLE
⚠ Mullvad ne propose plus le port forwarding depuis 2023. Aucune option à activer ici.

Une fois le fichier .conf téléchargé, ouvrez-le avec un éditeur de texte (Bloc-notes, TextEdit…). Vous y trouverez les infos importantes :

Contenu du fichier .conf :

[Interface]
PrivateKey = xxxxx...xxxxx  ← Notez cette ligne
Address = 10.66.xxx.xxx/32  ← Notez cette ligne
DNS = 10.64.0.1

[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
Endpoint = xx.mullvad.net:51820

Gardez ces deux valeurs sous la main, on va les coller dans le docker-compose à l'étape suivante.

Sur mullvad.net/account/wireguard-config :

# Génération config WireGuard :
Account: <16-digit-number>
Platform: Linux
Generate key → nouvelle paire de clés
Country: France / Sweden / Netherlands
City: Paris / Stockholm / Amsterdam

# Récupérer dans le .conf :
PrivateKey = xxxxx
Address = 10.66.x.x/32

# Port forwarding : RETIRÉ DEPUIS 2023
# → ratio limité, pas d'incoming peers

L'anonymat Mullvad, pourquoi c'est unique. Zéro email requis, paiement possible en cash par courrier (littéralement : vous envoyez un billet dans une enveloppe avec votre numéro de compte), audits de sécurité publics réguliers, politique no-log stricte. Si votre priorité est de disparaître complètement du radar, c'est le meilleur choix du marché. Le prix à payer : plus de port forwarding.

3

🐳 Créer le docker-compose GlueTUN + qBittorrent

Docker est déjà installé sur votre Synology (depuis DSM 7.2, c'est Container Manager). On va utiliser Docker Compose qui permet de lancer plusieurs conteneurs en une seule commande.

On va lancer 2 conteneurs qui travaillent ensemble :

🔒 GlueTUN
Gère la connexion VPN. Crée le tunnel WireGuard vers Mullvad.
→
📥 qBittorrent
Le client torrent. Passe par le réseau de GlueTUN. Aucun accès direct à Internet.

Créez un fichier docker-compose.yml dans /volume1/docker/qbittorrent/ et collez le code ci-dessous. Remplacez VOTRE_CLE_PRIVEE et VOTRE_ADRESSE par les valeurs récupérées à l'étape 2.

docker-compose.yml :

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    environment:
      - VPN_SERVICE_PROVIDER=mullvad
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=VOTRE_CLE_PRIVEE
      - WIREGUARD_ADDRESSES=10.66.xxx.xxx/32
      - SERVER_CITIES=Paris
      - TZ=Europe/Paris
    ports:
      - 9775:9775
    volumes:
      - /volume1/docker/gluetun:/gluetun
    restart: always

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    network_mode: "service:gluetun"
    depends_on:
      gluetun:
        condition: service_healthy
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Paris
      - WEBUI_PORT=9775
    volumes:
      - /volume1/docker/qbittorrent:/config
      - /volume1/docker/qbittorrent/downloads:/downloads
    restart: always

Lancez ensuite les conteneurs. Dans Container Manager (DSM 7.2+), cliquez sur "Project" puis "Create", sélectionnez votre fichier docker-compose.yml et validez.

Décortiquons les lignes les plus importantes :

  • VPN_SERVICE_PROVIDER=mullvad : GlueTUN reconnaît Mullvad nativement et sait comment se connecter à son infrastructure WireGuard.
  • SERVER_CITIES=Paris : ciblez une ville précise. Alternatives selon votre localisation : Stockholm, Amsterdam, Zurich, Frankfurt. Vous pouvez aussi utiliser SERVER_COUNTRIES=France si vous ne voulez pas préciser.
  • Aucune variable de port forwarding : contrairement à ProtonVPN, Mullvad ne supporte plus cette fonctionnalité. Ne surtout pas ajouter VPN_PORT_FORWARDING, cela ferait planter GlueTUN.
  • network_mode: "service:gluetun" : qBittorrent utilise le réseau de GlueTUN. Si le VPN tombe, qBittorrent perd Internet. C'est votre kill switch automatique.
  • PUID=1026 PGID=100 : les identifiants utilisateur/groupe sur Synology. Vérifiez les vôtres en SSH avec id.

Fichier /volume1/docker/qbittorrent/docker-compose.yml :

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    cap_add: [NET_ADMIN]
    devices: [/dev/net/tun:/dev/net/tun]
    environment:
      - VPN_SERVICE_PROVIDER=mullvad
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=<key>
      - WIREGUARD_ADDRESSES=10.66.x.x/32
      - SERVER_CITIES=Paris
      # PAS de VPN_PORT_FORWARDING (non supporté par Mullvad)
    ports: [9775:9775]
    volumes: [/volume1/docker/gluetun:/gluetun]
    restart: always

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    network_mode: "service:gluetun"
    depends_on: { gluetun: { condition: service_healthy } }
    environment:
      - PUID=1026
      - PGID=100
      - WEBUI_PORT=9775
    volumes:
      - /volume1/docker/qbittorrent:/config
      - /volume1/docker/qbittorrent/downloads:/downloads

Déploiement :

# En SSH sur le NAS
cd /volume1/docker/qbittorrent
docker-compose up -d
docker logs -f gluetun   # Vérifier "wireguard: connection is up"

Le kill switch automatique. Grâce à network_mode: "service:gluetun", qBittorrent ne peut passer que par le VPN. Si GlueTUN s'arrête ou perd la connexion avec Mullvad, qBittorrent perd Internet instantanément. Aucun risque de fuite de votre vraie IP, même pendant une fraction de seconde. C'est exactement le même mécanisme qu'avec ProtonVPN, l'anonymat Mullvad en prime.

4

💾 Régler qBittorrent pour HDD classiques

Les disques durs mécaniques sont le deuxième goulot d'étranglement après le VPN. Un HDD lit/écrit à 100-150 Mo/s quand les données sont séquentielles. Mais BitTorrent télécharge par petits morceaux en désordre : c'est ce qu'on appelle les écritures aléatoires, et ça tue les performances.

L'astuce : utiliser la RAM du NAS comme tampon pour absorber ces écritures en vrac, puis les écrire sur le disque de façon plus ordonnée.

Connectez-vous à l'interface web de qBittorrent (http://IP-NAS:9775), puis allez dans Paramètres → Avancé :

Paramètres → Avancé :

Fils d'E/S asynchrones 10
Fils de hachage 2
Taille file d'attente disque 1024 Kio
Type d'E/S du disque Compatible POSIX
Mode d'écriture E/S disque Cache du système ⭐
Mode de lecture E/S disque Cache du système
Affinité par extension de morceau Oui
⭐ Le plus important : le "cache du système" utilise la RAM libre du NAS comme tampon d'écriture.

Puis dans Comportement :

Paramètres → Comportement :

Limite mémoire physique 128 Mio (2Go RAM) / 512 Mio (4+Go)
Mémoire en suspens (vérification) 128 Mio
Interface réseau 🛡️ tun0 (obligatoire)
🛡️ Interface tun0 = kill switch de qBittorrent. Si le VPN tombe, aucun trafic ne sort.

Paramètres → Avancé :

  • Fils d'E/S asynchrones : 10
  • Fils de hachage : 2
  • Taille file disque : 1024 Kio
  • Type E/S : Compatible POSIX
  • Mode R/W E/S : Cache du système d'exploitation
  • Affinité extension : Oui

Comportement :

  • Limite mémoire : 128 Mio (2Go) / 512 Mio (4+Go)
  • Mémoire vérification : 128 Mio
  • Interface réseau : tun0 (kill switch)

Pourquoi upgrader la RAM fait une différence. Plus votre NAS a de RAM libre, plus le cache d'écriture peut absorber de données avant de les écrire sur le disque. Sur DS418play, passer de 2 Go à 6 Go coûte ~20€ et double facilement les débits sur HDD. C'est l'upgrade avec le meilleur rapport qualité/prix.

5

🎯 Limiter les torrents actifs

Ça peut sembler contre-intuitif : pourquoi limiter le nombre de téléchargements si on veut aller vite ? Parce que chaque torrent actif écrit sur le disque en même temps. Plus il y en a, plus le disque doit sauter entre des fichiers différents, et plus il ralentit.

C'est comme un serveur dans un restaurant : s'il sert 3 tables, tout va bien. S'il en sert 15, tout le monde attend.

Allez dans Paramètres → BitTorrent → File d'attente :

Téléchargements actifs max 3
Envois actifs max 5
Torrents actifs max 8
En vérification max 1

Résultat concret : passer de 15 torrents actifs à 3 peut doubler votre débit effectif sur HDD.

Paramètres → BitTorrent → File d'attente :

  • DL actifs : 3
  • UL actifs : 5
  • Total actifs : 8
  • Vérification : 1

Moins de torrents parallèles = I/O plus séquentielles = ×2 débit sur HDD.

6

📦 Préallouer l'espace disque

Dans Paramètres → Téléchargements, cochez "Préallouer l'espace disque pour tous les fichiers".

Que fait cette option ? Quand vous lancez un torrent de 20 Go, qBittorrent réserve immédiatement 20 Go d'espace continu sur le disque, avant même de commencer le téléchargement. Sans ça, les morceaux du fichier atterrissent un peu partout (fragmentation), ce qui ralentit tout : le téléchargement, le seeding, et même la lecture si vous utilisez Plex.

Sans préallocation
Fichier éparpillé sur le disque
Avec préallocation
Fichier continu, lecture rapide

Le seul inconvénient : le démarrage d'un torrent prend quelques secondes de plus. Mais le gain en performance sur la durée en vaut largement la peine.

Paramètres → Téléchargements → cocher Préallouer l'espace disque pour tous les fichiers. Réduit la fragmentation HDD, améliore les perfs de seeding et de lecture Plex/Jellyfin.

7

🔥 Vérification : la flamme orange est normale

Une fois tout lancé, regardez en bas à droite de l'interface web de qBittorrent. Vous y verrez une petite icône de connexion. Avec Mullvad, elle restera orange, et c'est parfaitement normal.

🟠 Orange : port fermé (attendu avec Mullvad)
Vous téléchargez normalement, mais les autres peers ne peuvent pas initier une connexion vers vous. Le ratio est donc très limité sur trackers privés.
🔴 Rouge : pas de connexion VPN
Le tunnel WireGuard est tombé. Vérifiez les logs GlueTUN. Le kill switch empêche tout trafic.

Comment vérifier que tout fonctionne bien malgré la flamme orange :

  1. Vérifiez votre IP publique : ouvrez un terminal dans le conteneur qBittorrent (Container Manager → qbittorrent → Terminal) et tapez curl ifconfig.me. L'IP affichée doit être celle de Mullvad, pas la vôtre.
  2. Consultez les logs GlueTUN : dans Container Manager, ouvrez les logs du conteneur gluetun. Cherchez la ligne wireguard: connection is up. Si elle apparaît, le tunnel est actif.
  3. Test de fuite DNS : sur un navigateur depuis votre PC (pas le NAS), allez sur mullvad.net/check. Le site confirmera que vous êtes bien derrière Mullvad.
🛡️
Anonymat maximal activé
Votre NAS télécharge derrière Mullvad : paiement cash possible, no-log audité, aucune trace.
Débit : 25 Mo/s · CPU : 20% · Ratio : limité (port fermé)

Indicateur qBittorrent avec Mullvad :

  • 🟠 Orange : port fermé (normal, Mullvad n'a plus de port forwarding)
  • 🔴 Rouge : VPN down, kill switch actif

Checks rapides :

# 1. IP publique via gluetun
docker exec gluetun wget -qO- ifconfig.me
# → doit retourner une IP Mullvad

# 2. Logs tunnel
docker logs gluetun 2>&1 | grep -i "connection is up"

# 3. Check officiel Mullvad (depuis un client)
curl https://am.i.mullvad.net/json | jq

Implication ratio : incoming peers impossibles, seeding uniquement vers les seeds qui vous contactent en premier. Sur trackers privés stricts, bannissement quasi certain à moyen terme. Pour ratio sérieux, migrer vers ProtonVPN avec port forwarding natif.

Résultats mesurés sur le setup testé. Avant : OpenVPN Mullvad + réglages par défaut = 3 Mo/s. Après : WireGuard Mullvad + réglages optimisés HDD = 25 Mo/s (×8). Le CPU tourne à 20%, la RAM à 40%, Plex continue de streamer pendant les téléchargements.

Limitation connue : sans port forwarding, impossible d'atteindre un ratio élevé sur trackers privés. Mullvad reste idéal pour télécharger en toute discrétion sur trackers publics ou pour l'anonymat strict. Pour le ratio, ProtonVPN conserve le port forwarding et reste la meilleure option.

Votre priorité est le ratio sur trackers privés ?

Mullvad est imbattable pour l'anonymat, mais sans port forwarding il plafonne votre ratio. Si vous voulez seeder efficacement, conserver une flamme verte et maintenir un ratio 2.0+ sur des trackers type PassThePopcorn, HDB ou Orpheus, ProtonVPN est un meilleur choix : il propose le port forwarding natif via WireGuard, au même niveau de sécurité que Mullvad.

Voir le guide qBittorrent + ProtonVPN sur NAS Synology →

Vous avez votre NAS qui tourne avec Mullvad. Et le reste ?

Un seul abonnement Mullvad protège jusqu'à 5 appareils. Continuez à anonymiser votre écosystème.

🤝
Besoin d'un coup de main ?

Je peux vous aider à configurer tout ça à distance. Petit forfait ou au chapeau, on s'arrange.

Me contacter