FAQ · V · Setup technique

Setup technique

22 questions pour les mains dans le cambouis

✦

Les questions qui font perdre 4 heures sur StackOverflow, fouiller dans des threads Reddit de 2019 qui pointent vers des commits rebasés. On les résout ici en 3 lignes, avec la commande exacte à coller. Pas de préambule, pas de pédagogie : du fonctionnel.

I

qBittorrent

Network Interface, DHT/PEX, IP filter, connexions max : les réglages qui font la différence.

  1. I.01

    Comment lier qBittorrent uniquement à l'interface VPN (tun0 / wg0) ?

    Dans qBittorrent : Outils → Options → Avancé → « Network Interface », vous choisissez tun0 (OpenVPN) ou wg0 (WireGuard) selon votre VPN. Une fois sélectionné, qBit ne peut plus envoyer de trafic par l'interface physique eth0/wlan0 : si le VPN tombe, le client arrête d'émettre, c'est le kill switch applicatif parfait. Vérifiez ensuite avec ipleak.net ou dans l'onglet peers que l'IP affichée est bien celle du VPN. Le tuto de configuration qBittorrent détaille le pas-à-pas complet.

  2. I.02

    Comment configurer le Network Interface dans qBittorrent sous Linux ?

    Même chemin que sur Windows : Outils → Options → Avancé → « Network Interface » avec la liste déroulante qui liste vos interfaces actives. Sous Linux, votre interface VPN apparaît dès que le tunnel est monté (systemctl start wg-quick@wg0 ou openvpn --config). Si la liste est vide, le tunnel n'est pas monté : lancez-le d'abord. Pour Gluetun sous Docker, c'est différent (voir la question dédiée). Le tuto d'optimisation NAS Synology montre comment faire ça sur DSM.

  3. I.03

    Où trouver le nom de l'interface VPN (wg0, tun0) sur Linux ?

    Une commande : ip a (ou ip addr show). Vous cherchez une interface avec une IP en 10.x.x.x ou 172.x.x.x qui n'est pas votre réseau local. Avec WireGuard, elle s'appelle wg0 par défaut, parfois proton0 (ProtonVPN), mullvad-fr0 (Mullvad). Avec OpenVPN, c'est tun0 ou tap0. Sur macOS, utilisez ifconfig | grep -E 'utun|tun'. Notez bien le nom exact, c'est celui à coller dans qBittorrent.

  4. I.04

    Comment faire du split tunneling pour n'envoyer que qBittorrent par le VPN ?

    3 approches. Un : binding Network Interface dans qBit (le plus simple, ça marche partout). Deux : Gluetun avec qBit en network_mode: service:gluetun (le reste du système reste sur l'ISP). Trois : table de routage avec ip rule sur Linux, ou VPN client qui gère le split tunneling nativement (NordVPN, Mullvad le font). Pour un usage torrent, l'option un suffit dans 90 % des cas. Le tuto qBittorrent couvre ça.

  5. I.05

    DHT et PEX doivent-ils être désactivés sur un tracker privé ?

    Oui, règle d'or. DHT (Distributed Hash Table), PEX (Peer Exchange) et LSD (Local Service Discovery) permettent à votre client de trouver des peers hors du tracker, ce qui est exactement interdit sur un tracker privé. Si le tracker détecte que vous échangez avec des peers qu'il n'a pas annoncés, ban immédiat. Dans qBittorrent : Options → BitTorrent → décocher les trois. Pour les trackers publics, laissez-les activés (c'est ce qui vous trouve des peers). Le tuto qBittorrent a les captures d'écran.

  6. I.06

    Comment configurer les « suspicious DNS queries » dans qBittorrent ?

    qBit depuis 4.5.x intègre un anti-peer-spy : quand un peer envoie des requêtes DNS louches (indicateur de société de surveillance), qBit le blacklist automatiquement. Options → BitTorrent → « Enable anti-leech » et activer « Block suspicious peers ». Ajoutez une liste de filtres IP (ipfilter.dat de iblocklist.com) dans Options → Connexion → IP Filter. Ce n'est pas un remplacement au VPN, mais une couche de plus. Le tuto principal qBit détaille les filtres.

  7. I.07

    Quelle valeur de connexions max utiliser dans qBittorrent ?

    Le bon réglage : 200-300 connexions globales max, 100 par torrent max, 20-30 slots upload par torrent. Trop élevé (500+) : vous surchargez votre box (beaucoup de boxes ISP françaises capent à 1000 connexions NAT) et vos perfs s'écroulent. Trop bas (50) : vous ratez des peers potentiels sur les trackers publics. Sur seedbox ou NAS puissant, vous pouvez monter à 500/200 sans souci. Voir le tuto d'optimisation NAS Synology pour les valeurs selon votre hardware.

  8. I.08

    Pourquoi limiter l'upload à 80 % de ma bande max améliore les DL ?

    TCP fonctionne avec des acks : chaque paquet reçu doit être confirmé par un ack renvoyé. Si votre upload est saturé à 100 %, les acks de vos téléchargements galèrent à passer, et votre débit descendant s'écroule (TCP retransmet, pense qu'il y a de la perte). Laisser 20 % de marge sur l'upload = les acks passent vite = votre download atteint son vrai max. C'est la règle classique pour tout partage de connexion, pas juste BitTorrent. Le tuto qBittorrent recommande 80 % systématique.

II

Gluetun VPN

Gluetun, network_mode, depends_on, publication des ports : le conteneur VPN qui tient la stack.

  1. II.01

    Comment automatiser la mise à jour du port forwardé avec Gluetun ?

    Gluetun expose un endpoint HTTP (localhost:8000/v1/openvpn/portforwarded) qui retourne le port courant. Un petit script bash ou un hook Gluetun (VPN_PORT_FORWARDING_UP_COMMAND) peut alors mettre à jour qBit via son API (curl -X POST /api/v2/app/setPreferences avec le nouveau port). En pratique, les images comme binhex/arch-qbittorrentvpn font déjà ça nativement, et ça marche très bien avec ProtonVPN + WireGuard. Le template docker-compose ARR stack inclut un exemple.

  2. II.02

    Comment installer Gluetun avec docker-compose pour qBittorrent ?

    Un service gluetun (image qmcgaw/gluetun) en tête, avec cap_add: NET_ADMIN et vos variables VPN_SERVICE_PROVIDER, VPN_TYPE, WIREGUARD_PRIVATE_KEY. Puis un service qbittorrent qui passe network_mode: service:gluetun : il hérite du tunnel. Les ports sont publiés depuis gluetun (8080 pour l'UI, 6881 pour le peer port). 3 variables clefs suffisent pour ProtonVPN en WireGuard. Le template ARR stack contient un docker-compose.yml prêt à copier-coller.

  3. II.03

    Pourquoi mon qBittorrent renvoie « errored » quand il passe par Gluetun ?

    Presque toujours le Network Interface : qBit essaie de binder sur tun0/wg0, mais dans le conteneur Gluetun, l'interface s'appelle tun0 (OpenVPN) ou wg0 (WireGuard) avec préfixe. Soit vous laissez « Any interface » dans qBit (le network_mode: service:gluetun garantit déjà que tout passe par le VPN), soit vous allez chercher le bon nom avec docker exec gluetun ip a. L'autre cause : kill switch Gluetun qui coupe avant que qBit ait démarré. Ajoutez depends_on sur gluetun avec condition: service_healthy. Voir le template complet.

  4. II.04

    network_mode: service:gluetun ou container:gluetun, quelle différence ?

    service:gluetun est la syntaxe docker-compose, container:gluetun est la syntaxe docker run brute. Les deux font la même chose : le conteneur cible réutilise la stack réseau du conteneur source (aucune interface propre, c'est celle de gluetun). Dans un docker-compose.yml, utilisez toujours service:gluetun. C'est plus propre, ça respecte les dépendances, et les healthchecks fonctionnent. Le template ARR stack utilise cette syntaxe.

  5. II.05

    Pourquoi je ne peux pas accéder à l'UI qBittorrent derrière Gluetun ?

    Erreur classique : vous publiez 8080:8080 sur le conteneur qBit. Mais qBit n'a plus d'interface réseau propre (il utilise celle de gluetun), donc publier un port dessus ne sert à rien. La solution : publier 8080:8080 sur le conteneur gluetun, pas qBit. Le trafic arrive sur gluetun, qui le route en interne vers qBit qui écoute sur le même localhost. Pareil pour les ports Sonarr/Radarr s'ils sont derrière gluetun. Le template docker-compose montre ça.

III

Kill switch & fuites

DNS leak, IPv6, kill switch firewall, kill switch Windows : ce qui ferme toutes les fenêtres en même temps.

  1. III.01

    Comment tester si j'ai une DNS leak en téléchargeant ?

    Le test rapide : dnsleaktest.com (bouton Extended test). Si les serveurs DNS qui apparaissent sont ceux de votre FAI ou de Google (8.8.8.8), vous fuitez : c'est votre FAI qui résout vos requêtes DNS. Si ce sont des IPs du pays de votre serveur VPN, c'est propre. Fix : forcer les DNS du VPN dans qBittorrent (Options → Avancé) ou au niveau système (systemd-resolved, /etc/resolv.conf, ou directement sur le routeur). Le guide d'installation ProtonVPN explique ça.

  2. III.02

    Comment désactiver IPv6 pour éviter les fuites avec un VPN ?

    La plupart des VPN routent uniquement l'IPv4, donc votre IPv6 continue de sortir en clair par l'ISP : fuite garantie. Windows : Paramètres réseau → carte réseau → décocher IPv6. Linux : éditer /etc/sysctl.conf avec net.ipv6.conf.all.disable_ipv6=1. macOS : Préférences réseau → Avancé → TCP/IP → « Configurer IPv6 : désactivé ». Certains VPN comme Mullvad ou AirVPN routent l'IPv6 correctement, vérifiez dans leur doc.

  3. III.03

    Comment configurer un kill switch au niveau firewall (iptables / UFW) ?

    L'idée : bloquer tout le trafic sortant sauf celui qui passe par l'interface VPN. Avec UFW : ufw default deny outgoing, puis ufw allow out on tun0 (ou wg0). Avec iptables brut : règles OUTPUT qui DROP sauf -o tun0 -j ACCEPT et la route vers le serveur VPN lui-même. Avantage : au niveau kernel, impossible de contourner, zéro fuite même en cas de crash du client VPN. Inconvénient : si le VPN tombe, tout votre système perd internet. À configurer avec précaution, tuto dans le guide d'installation ProtonVPN.

  4. III.04

    Comment faire un kill switch sur Windows via Windows Firewall ?

    Via PowerShell admin, trois règles : une pour bloquer tout le trafic sortant par défaut, une pour autoriser le trafic vers l'IP du serveur VPN (port 51820 WireGuard ou 1194 OpenVPN), une pour autoriser tout par l'interface tun0/wg0. Commandes type netsh advfirewall firewall add rule. Plus simple : la plupart des VPN modernes (ProtonVPN, Mullvad, NordVPN) ont un kill switch intégré dans leur app Windows, activé par une case à cocher. Utilisez celui-là en priorité.

IV

Ports & dépannage

Torrents stalled, port forwarding ProtonVPN : ce qui bloque le débit, et comment le débloquer.

  1. IV.01

    Pourquoi mes torrents restent en « Stalled » quand je configure binding ?

    2 causes à 95 %. Un : le VPN n'est pas actif, donc qBit bindé sur tun0 n'a aucune route sortante. Vérifiez avec ip a ou votre client VPN. Deux : le port n'est pas forwardé côté VPN, donc aucun peer ne peut se connecter à vous (seedbox ratio qui ne monte pas). Testez le port sur canyouseeme.org ou portchecker.co. Si votre VPN ne supporte pas le port forwarding, changez pour ProtonVPN ou AirVPN. Le tuto port forwarding ProtonVPN détaille la manip.

  2. IV.02

    Comment activer le port forwarding ProtonVPN avec qBittorrent ?

    2 étapes. Un : dans votre client ProtonVPN, activer le « NAT-PMP / Port Forwarding » dans les paramètres avancés et se connecter à un serveur Plus marqué « P2P ». Le client affiche alors le port alloué (format 54xxx). Deux : dans qBittorrent, coller ce port dans Outils → Options → Connexion → « Port utilisé pour les connexions entrantes » et désactiver UPnP/NAT-PMP (sinon conflit). Le port change à chaque reconnexion, d'où l'intérêt d'automatiser avec Gluetun. Tuto complet sur le port forwarding ProtonVPN.

V

Clients

Transmission, rTorrent, autodl-irssi : quand qBittorrent n'est pas le bon choix.

  1. V.01

    Transmission ou qBittorrent pour une seedbox ?

    qBittorrent, sans trop hésiter. Transmission est minimaliste, très léger, bien pour une Raspberry Pi, mais limité côté features (pas d'IP filter sophistiqué, gestion de queue rudimentaire, UI web datée). qBittorrent en version sans interface graphique (pilotée depuis un navigateur) consomme à peine plus, et offre tout : RSS avec filtres, catégories automatiques, tags, intégration ARR parfaite, API complète. Pour une seedbox dédiée avec ratio à défendre, c'est qBittorrent. Le tuto optimisation NAS couvre la config.

  2. V.02

    rTorrent ou qBittorrent pour racing sur tracker privé ?

    rTorrent, si le racing est votre objectif premier. rTorrent + ruTorrent est plus léger en RAM/CPU (important quand vous lancez 50 torrents en même temps sur du freeleech), plus rapide à démarrer un torrent, plus stable sur des charges élevées. qBittorrent reste plus confortable au quotidien (meilleure UI, meilleure gestion multi-tracker), mais perd quelques secondes critiques en race. Tous les racers sérieux sont sur rTorrent + autodl-irssi. Le tuto ruTorrent seedbox détaille l'install.

  3. V.03

    Comment installer autodl-irssi avec rutorrent pour automatiser le téléchargement ?

    autodl-irssi est un plugin irssi (client IRC) qui écoute les annonces IRC de vos trackers privés et télécharge automatiquement ce qui matche vos filtres (freeleech, taille mini, catégorie, etc.). L'install : aptitude install irssi, puis plugin autodl-irssi depuis GitHub, puis le plugin ruTorrent (autodl-rutorrent) qui ajoute l'UI. Vous configurez les filtres dans ruTorrent : racing automatique sur chaque nouveau freeleech qui matche. Le tuto ruTorrent seedbox couvre l'install pas à pas.

Autres catégories

Quand votre stack tourne sans fuite, les questions suivantes portent souvent sur le NAS Synology, les VPN, ou directement les tutos pas-à-pas. Tout est rangé par niveau. Besoin d'un VPN avec port forwarding qui tient la route ? L'avis ProtonVPN couvre l'essentiel.