⚡ nzbfast
Le téléchargeur Usenet rapide - manuel utilisateur
1 · Bienvenue
nzbfast télécharge depuis Usenet aussi vite que votre ligne, vos fournisseurs et votre machine le permettent - et le plus souvent, cela veut dire aussi vite que votre ligne. C'est un programme unique et autonome : le moteur, un tableau de bord web, un explorateur multimédia en mur d'affiches, un indexeur intégré, l'aperçu en temps réel, la réparation PAR2 native et l'extraction RAR native tiennent dans un seul exécutable. Il n'y a rien d'autre à installer.
Ce qui le rend rapide, c'est l'architecture, pas des bidouilles :
- NNTP pipeliné - de nombreuses requêtes d'articles s'enchaînent dos à dos sur chaque connexion, qui reste ainsi à pleine vitesse au lieu d'attendre les allers-retours.
- Un pipeline en une passe - téléchargement, vérification et extraction se chevauchent. Les volumes d'archive sont extraits dans le flux ; sur un post typique en mode « store », les fichiers RAR ne touchent jamais votre disque : la tâche n'a besoin que de 1× la taille de la release, pas 2×, et se termine quand le téléchargement se termine.
- Union multi-fournisseurs - chaque serveur configuré contribue ; un article absent d'un backbone est récupéré sur un autre. Les serveurs lents ou morts ne bloquent jamais la file.
- Un budget mémoire - le moteur s'adapte à une enveloppe de RAM bornée et se rabat sur le disque si nécessaire. Il ne fait jamais swapper votre machine.
Mesuré face à la concurrence sur le même matériel, les mêmes tâches et les mêmes fournisseurs, nzbfast a terminé un téléchargement de 190 GB en environ 5 minutes sur une ligne 10 GbE - les principales alternatives finissant 30 à 220 % derrière sur les mêmes tests, quand elles les terminaient tout court. Les chiffres sont au §3.
2 · Démarrage rapide
macOS
- Ouvrez
nzbfast-<version>-macos.dmget faites glisser NzbFast dans Applications (universel : Apple Silicon + Intel). - Premier lancement : macOS avertit que nzbfast n'est pas encore notarié par Apple. Clic droit sur l'app → Ouvrir - ou ouvrez Réglages Système → Confidentialité et sécurité, faites défiler et cliquez sur Ouvrir quand même. C'est une étape à faire une seule fois.
- La fenêtre de l'app affiche le tableau de bord avec une carte de bienvenue - cliquez dessus et ajoutez au moins un serveur Usenet (hôte, port 563, nom d'utilisateur, mot de passe). Vous pourrez en ajouter d'autres plus tard dans les Paramètres.
- Déposez un
.nzbn'importe où sur le tableau de bord - ou double-cliquez simplement les fichiers.nzbdans le Finder. Les téléchargements arrivent dans~/Downloads/nzbfast. Quittez depuis le menu ; les téléchargements reprennent là où ils en étaient.
Vous préférez sans app ? Le zip simple
(binaire + lanceur Start nzbfast.command, même moteur) fonctionne
toujours comme avant - étapes ci-dessous sous « Depuis un terminal ».
Windows
- Lancez
nzbfast-<version>-windows-x64-setup.exe. Il s'installe pour votre utilisateur uniquement (pas de mot de passe administrateur). Cette version n'étant pas encore signée, SmartScreen peut afficher « Windows a protégé votre ordinateur » - cliquez sur Informations complémentaires → Exécuter quand même. - nzbfast vit dans la zone de notification : double-cliquez l'icône (ou utilisez Open Dashboard dans son menu contextuel) pour ouvrir le tableau de bord, puis ajoutez votre serveur Usenet depuis la carte de bienvenue. Le menu de l'icône propose aussi Pause/Reprendre, votre dossier de téléchargements et Quitter.
- Double-cliquer un fichier
.nzble met en file. Windows Defender peut demander une fois d'autoriser l'écoute sur le réseau local - autorisez-la.
Vous préférez une copie portable ? Le -windows-x64.zip fonctionne
toujours : décompressez-le n'importe où et double-cliquez nzbfast.exe
(ou Start nzbfast.bat) pour l'assistant en terminal.
Depuis un terminal (toutes plateformes)
nzbfast setup # interactive server setup (writes config.local.json)
nzbfast serve --open # start the daemon and open the dashboard
nzbfast import-sab en ligne de commande.Votre clé API
Sur une installation réellement neuve, nzbfast se fabrique une clé API au premier démarrage du daemon et l'affiche une seule fois dans une bannière, juste sous l'adresse du tableau de bord. Ensuite, chaque requête exige cette clé : le tableau de bord et l'API ne sont donc pas ouverts à tout ce qui peut joindre la machine.
Ce que vous en faites dépend de la façon dont vous avez lancé nzbfast :
- L'application macOS, la zone de notification Windows ou
serve --open: rien. Ils transmettent la clé à la fenêtre de navigateur qu'ils ouvrent, le tableau de bord la retient, et vous êtes déjà connecté. - Un navigateur que vous avez ouvert vous-même, ou le tableau de bord sur un téléphone ou un autre ordinateur : la page demande la clé une fois, puis s'en souvient.
- Sonarr, Radarr, nzb360 et consorts : collez-la comme leur clé SABnzbd ou NZBGet (§11, §12).
La clé est conservée dans un fichier nommé apikey, à côté de votre
fichier de configuration : elle reste donc la même d'un redémarrage à l'autre et vous
pouvez la relire quand vous en avez besoin. Sur macOS et Linux, ce fichier n'est
lisible que par le compte qui exécute nzbfast. Elle figure aussi dans la sortie du
daemon lui-même : la carte Journal du tableau de bord l'a donc si le terminal a
défilé.
Pour utiliser votre propre clé à la place, saisissez-la dans Paramètres →
Sécurité ; elle s'applique aussitôt. Ce panneau change la clé mais n'affiche jamais
celle en cours : lisez donc le fichier apikey s'il vous faut récupérer
la valeur générée. Pour tourner sans aucune clé, parce que quelque chose placé
devant nzbfast gère déjà l'authentification, lancez-le avec
NZBFAST_OPEN=1 dans l'environnement. nzbfast reste alors ouvert et le
dit sans détour au démarrage.
Quelles machines peuvent joindre le daemon est un choix distinct :
serve --bind. La valeur par défaut est 0.0.0.0,
c'est-à-dire toutes les interfaces réseau, car un NAS, un téléphone et un Sonarr sur
un autre ordinateur doivent tous pouvoir se connecter. --bind 127.0.0.1
restreint l'accès à la machine où tourne nzbfast, ce qu'il vous faut sur un poste de
bureau unique où rien d'autre n'a besoin d'y accéder.
3 · Comment nzbfast fonctionne
Un petit vocabulaire pour que la suite du manuel se lise facilement :
| Terme | Signification |
|---|---|
| Fournisseur / serveur | Un service Usenet chez qui vous avez un compte (Newshosting, Eweka, XS News…). Chacun autorise un certain nombre de connexions simultanées. |
| Backbone | L'infrastructure derrière un fournisseur. Plusieurs marques revendent souvent le même backbone - utile à savoir, car deux fournisseurs sur un même backbone manquent les mêmes articles. Voir Diversité des serveurs. |
| NZB | Un petit fichier XML listant les articles qui composent un post. C'est ce que vous donnez à nzbfast. |
| PAR2 | Des données de récupération postées avec la release. nzbfast vérifie contre elles pendant le téléchargement et répare automatiquement quand des articles sont endommagés ou manquants. |
| RAR en mode « store » | La plupart des releases sont empaquetées en volumes RAR sans compression. nzbfast le détecte et écrit le fichier interne directement à son emplacement final pendant le téléchargement - aucune étape de décompression ensuite. |
Le pipeline enchaîne téléchargement → décodage → vérification → extraction en parallèle. La carte Pipeline du tableau de bord montre les trois voies avancer en même temps. Quand le dernier octet arrive, la vérification est déjà faite et le fichier déjà extrait ; le temps de « post-traitement » d'une tâche typique est nul. Si une réparation est nécessaire, alors seulement les volumes sont matérialisés sur disque, réparés sur place par le moteur GF(2¹⁶) natif (les données obfusquées - renommées ou décalées d'octets - sont retrouvées et adoptées par un balayage à blocs glissants), puis ré-extraits - le tout automatiquement.
Les téléchargements interrompus (crash, coupure de courant, kill -9) reprennent grâce au journal d'articles : les octets déjà sur disque ne sont jamais récupérés deux fois. Le journal note où les octets de chaque article ont physiquement atterri - même ceux extraits directement dans le fichier final - si bien qu'une reprise se reconstruit depuis le disque local et re-vérifie tout ce qu'elle a restauré contre la carte de blocs PAR2 avant de s'y fier.
La comparaison
Mesuré face à SABnzbd 5.0.4 et NZBGet 26.2 sur la même machine, les mêmes fournisseurs et les mêmes NZB, chronométré jusqu'au fichier utilisable - téléchargement, vérification, réparation et extraction compris, car c'est là que la tâche est réellement terminée :
| Taille de la tâche | nzbfast | NZBGet 26.2 | SABnzbd 5.0.4 |
|---|---|---|---|
| 7 GB | 13.7 s | +26% | +39% |
| 35 GB | 67 s | +61% | +325% |
| 87 GB | 272 s | +36% | +160% |
| 190 GB | 9 m 00 s | +30% | +111% |
L'écart, c'est le post-traitement que les autres doivent encore faire après l'arrivée du dernier octet. Les deux concurrents ont été réglés pour la comparaison, pas laissés sur leurs valeurs par défaut - SABnzbd, en particulier, est livré avec le pipelining des requêtes désactivé, ce qui lui coûte très cher : il a donc été activé.
Deux différences comptent autant que les temps :
- L'espace disque. Une seule passe demande 1× la taille de la release ; les clients qui écrivent les volumes d'archive puis les décompressent demandent 2×. Sur une machine de test avec 97 GB libres, une tâche de 87 GB s'est terminée ici en 3 m 08 s, et les deux autres n'ont pas pu tourner du tout.
- La mémoire. Sur la tâche de 190 GB, le pic d'utilisation était de 3.9 GB contre 9.3 GB pour SABnzbd - et nzbfast fera la même tâche dans environ 1 GB si on le lui demande (voir Budget mémoire).
4 · Le tableau de bord
Ouvrez http://localhost:6789 (ou l'adresse de votre machine depuis
un autre appareil - la mise en page téléphone s'adapte automatiquement). Tout se met
à jour en direct, une fois par seconde. Les cartes, de haut en bas :
Barre d'en-tête
- Menu Limite de vitesse - plafonds fixes, auto · cède au LAN (un mode régulé par RTT qui s'efface quand quelqu'un d'autre dans la maison a besoin de la ligne), ou sans limite.
- Pause pendant… - mettez tout en pause 15 min/30 min/1 h/3 h avec reprise automatique, ou utilisez le bouton Pause pour une pause sans échéance. La pause est immédiate : le transfert actif s'arrête en quelques secondes et reprend plus tard depuis le journal, sans rien perdre. (Les tâches en priorité Forcé continuent de se télécharger, comme dans SABnzbd.)
- Une bannière de mise à jour apparaît ici quand une nouvelle version est disponible (voir Mises à jour).
Débit
Les MB/s en direct avec un graphique défilant ; les repères en pointillés marquent le haut/bas de cette session, la ligne pâle est une moyenne mobile. En dessous, un histogramme montre la distribution des échantillons de vitesse de la session - typique vs pic. Élargissez la fenêtre et les graphiques montrent plus d'historique (jusqu'à une heure).
Tuiles de statistiques
Téléchargé cette session, profondeur de la file, compteurs terminés/échoués, pic de vitesse de la session.
Ressources - une machine, quatre plafonds
CPU, RAM (par rapport au budget mémoire de nzbfast), débit d'écriture disque et réseau sur un même graphique normalisé, avec les valeurs réelles dans la légende et un avertissement d'espace disque faible. Aucun autre client NZB ne vous montre cela ; cette carte existe pour prouver une chose - nzbfast saturera votre ligne, pas votre machine.
Pipeline - les étapes se chevauchent
Trois voies : téléchargement, vérification (blocs PAR2 contrôlés), extraction. Sur une tâche saine, les trois avancent ensemble.
Fournisseurs
Par serveur : débit en direct, utilisation des connexions, part du trafic, GB de la session et un score de complétion d'articles sur la durée (coloré quand un serveur passe sous 98 %). Un graphique en aires empilées montre la contribution de chaque fournisseur au fil du temps. Les lignes se réordonnent selon la performance en direct toutes les 10 s (réglable dans Paramètres → Interface), votre fournisseur le plus rapide restant ainsi toujours en tête.
File d'attente
- Faites glisser les lignes pour réordonner (au sein d'une bande de priorité - Forcé/Haute passent toujours d'abord) ; changez la priorité en ligne.
- Cliquez sur une ligne pour le tiroir de détail : barres de progression par
fichier, compteurs de blocs vérifiés, quel serveur a contribué combien à
cette tâche, et une ligne « ajouté par » qui dit d'où vient la tâche
(dossier surveillé, une appli connectée, l'API…). Un bouton
Télécharger le .nzb vous enregistre le fichier
.nzbde la tâche - nzbfast en garde sa propre copie, donc cela fonctionne pour chaque tâche, même quand le fichier d'origine a disparu depuis longtemps. - Des badges signalent les états particuliers : reporté (lent), préchargement, en pause (voir Outils de performance).
- Un graphique de burn-down suit le total de GB restants dans la file.
Parcourir l'index
Cherchez tout ce que l'indexeur intégré a catalogué depuis vos groupes surveillés (voir Automatisation) et téléchargez en un clic - aucun indexeur externe requis. La ligne d'état montre la progression du scan ; Scanner maintenant force une passe.
Liste de suivi
Ajoutez des titres par leur nom - y compris pas encore postés. Quand une release correspondante apparaît dans l'index, elle est récupérée automatiquement, avec préférences de qualité et règles de montée en qualité (une meilleure copie remplace la moins bonne).
Historique
Les téléchargements récents, une ligne chacun. Les tâches échouées proposent Réessayer (reprise depuis le journal). Les archives
chiffrées affichent un contrôle de déverrouillage 🔑 - saisissez le mot de passe et
la tâche se termine sur place. Le bandeau de santé de vérification trace les blocs
PAR2 défectueux par téléchargement - une queue qui monte signale des articles qui
arrivent endommagés.
Le tiroir de chaque ligne dit qui a ajouté la tâche et propose le même bouton
Télécharger le .nzb que la file - pratique pour télécharger une release à
nouveau ailleurs, ou pour joindre le .nzb à un signalement de
problème.
La carte liste dix téléchargements par défaut et le reste est à un clic, sur le bouton ▤. Le statut, l'emplacement et la raison d'un échec vivent derrière un clic sur la ligne elle-même, si bien que le cas courant - ce qui s'est terminé, quelle taille, quand - reste lisible sans défilement. Tirez le bord inférieur de la carte pour faire défiler la liste à la hauteur de votre choix à la place. History rows dans Paramètres → Interface change ces dix ; comme c'est une propriété du daemon et non de votre navigateur, cela s'applique à tous les appareils qui regardent cette installation. Colour History names, juste à côté, teinte en vert les noms terminés et en rouge ceux qui ont échoué ; en le désactivant les noms restent neutres, et la pastille colorée comme les détails de la ligne disent toujours lequel est lequel.
Consommation
Barres quotidiennes par fournisseur et totaux Aujourd'hui / 7 jours / 30 jours - indispensable pour les comptes au volume et les comptes à bloc. Les comptes à bloc affichent l'usage cumulé par rapport à leur taille.
Journal, Benchmark système, Réglage des connexions, Diversité des serveurs
Un visualiseur de journal intégré à la page, et les trois outils d'auto-mesure décrits dans Outils de performance.
5 · Ajouter des téléchargements
| Méthode | Comment |
|---|---|
| Glisser-déposer | Déposez un ou plusieurs fichiers .nzb n'importe où sur le tableau de bord. |
| Dossier surveillé | Définissez un dossier dans les Paramètres ; tout
.nzb enregistré dedans est pris en charge sous 5 secondes et déplacé vers
la corbeille, et un tableau de bord ouvert annonce chaque prise en charge par son nom
(« … récupéré depuis Téléchargements »), si bien qu'un fichier qui quitte le dossier
n'est jamais un mystère. Vous préférez conserver vos fichiers ? Activez
Conserver les .nzb après prise en charge (voir §9).
Pointez le répertoire de téléchargement de votre navigateur dessus pour des
récupérations en un clic depuis les sites d'indexeurs. |
| Depuis une URL | Collez un lien NZB (API mode=addurl, ou via n'importe quelle appli connectée). |
| Liens nzblnk: | Collez un lien nzblnk: n'importe où sur le tableau de bord, ou glissez-le dedans. Si vous avez installé depuis le DMG macOS ou l'installateur Windows, vous pouvez aussi en cliquer un directement sur un board. Voir les liens nzblnk plus bas. |
| Parcourir l'index | Cliquez sur n'importe quelle release complète dans la carte Parcourir. |
| Liste de suivi / RSS | Automatique - voir Automatisation. |
| Sonarr/Radarr etc. | Ils envoient leurs récupérations directement dans la file - voir §11. |
| Ligne de commande | nzbfast get file.nzb télécharge sans le daemon. |
Catégories, priorités, mots de passe
- Les catégories sont des étiquettes libres ; chacune devient un sous-dossier de votre dossier de téléchargement, et les Dossiers intelligents (voir §10) peuvent les attribuer par règle.
- Priorités : Forcé > Haute > Normale > Basse. Forcé contourne la pause et le quota.
- Les mots de passe des archives chiffrées sont récupérés automatiquement depuis
<meta type="password">dans le NZB, un nom de fichierName{{password}}.nzb, ou le champp=d'un lien nzblnk, et peuvent être fournis par tâche via l'API ou après coup depuis l'Historique (🔑).
Les liens nzblnk
Certains boards, surtout allemands et néerlandais, publient un lien
nzblnk: au lieu d'un fichier NZB. Le post est obfusqué, il n'existe donc
aucun nom de fichier vers lequel pointer. Le lien porte un en-tête, h=,
qui est une clé de recherche et non un emplacement, plus un titre t=, un
mot de passe p= et un groupe g= facultatifs. Il faut donc
d'abord aller retrouver le post.
nzbfast cherche d'abord cet en-tête dans son propre index, ce qui ne demande aucun réseau, et seulement si cela échoue il interroge les indexeurs de recherche que vous avez configurés (Paramètres → Indexeurs de recherche, §9), sous les mêmes budgets quotidiens et le même repli que toute autre recherche. Le titre devient le nom de la tâche et le mot de passe est appliqué automatiquement.
- Coller ou glisser fonctionne sur toutes les installations, Docker et NAS compris : copiez le lien depuis le board et collez-le n'importe où sur le tableau de bord.
- Cliquer un lien exige que le schéma soit enregistré auprès de votre bureau. L'application du DMG macOS l'enregistre, et l'installateur Windows le propose comme tâche : il demande d'abord, et laisse le schéma tranquille si NZB Monkey ou NZBDonkey le détient déjà. L'archive macOS simple, Homebrew et les installations Linux n'ont pas de gestionnaire de bureau : là, le collage est la voie d'entrée.
- La résolution est volontairement limitée en débit. Enregistrer un schéma le place à une invite de navigateur de n'importe quelle page que vous visitez : les liens sont donc plafonnés par minute et seuls les premiers de chaque minute peuvent atteindre vos indexeurs ; au-delà, la réponse vient du seul index local.
6 · Le mur d'affiches
Cliquez sur 🎬 mur dans l'en-tête. Le mur transforme votre index en explorateur multimédia : chaque film et chaque série reconnus deviennent une tuile-affiche avec note, année, genres, casting et synopsis - vos newsgroups, explorables comme un catalogue.
- Onglets Films / Séries / Autre, recherche instantanée et sept tris : Pour vous, Posts récents, Année de sortie, Mieux notés, Titre A–Z, Plus gros et Les plus postés.
- Identifiés seulement est activé par défaut et masque le tout-venant non identifié ; une puce « +N non identifiés » le révèle.
- Cliquez une tuile pour la fiche détaillée : synopsis, note et votes IMDb, casting - et ▶ Lire (prévisualisez immédiatement, voir §7) ou ⬇ Télécharger.
- ✎ Corriger - si un titre a été associé à la mauvaise série ou au mauvais film, choisissez le bon parmi les affiches candidates, ou saisissez titre/année/type à la main. Le texte saisi manuellement n'est jamais écrasé par l'enrichisseur. ↻ Rafraîchir les métadonnées re-récupère un titre ; Paramètres → Indexation peut tout rafraîchir ou effacer/reconstruire l'index entier.
- Les métadonnées sont sans clé par défaut - TVmaze, iTunes, les jeux de données IMDb, Wikidata, Wikipédia et AniList ne demandent aucun compte. Une clé OMDb (gratuite, inscription par simple e-mail - un assistant d'inscription est dans Paramètres → Indexation) améliore l'identification des films ; une clé TMDB est honorée si vous en avez déjà une.
- Pour vous classe le mur selon un profil de goûts construit sur cette machine à partir de votre propre historique terminé et de votre liste de suivi : genres favoris, penchant film ou série, et à peu près quelle époque. Les titres que vous possédez déjà descendent au fond plutôt que de disparaître, et une légende « Parce que vous regardez … » dit sur quoi le classement s'appuie. Sans historique, le tri retombe sur Les plus postés : l'onglet n'est donc jamais vide. Rien de tout cela ne quitte le daemon.
- Pas intéressé sur une vignette masque ce titre, et en masquer quelques-uns du même genre apprend quelque chose au mur : il propose un filtre à accepter d'un clic (« Masquer tous les titres Téléréalité à partir de maintenant ? »). Tout ce que vous avez masqué, et chaque filtre appris, se retrouve sous Masqués & filtres et s'annule là.
- Un petit point de disponibilité sur une vignette est le verdict de l'oracle (§13) : un « ? » orange signifie incertain chez vos fournisseurs, un point rouge que ses morceaux manquent régulièrement. Les groupes en cours de purge portent un badge purgé.
7 · Aperçu et vérification
Vous n'êtes pas obligé d'attendre la fin d'un téléchargement pour savoir que c'est le bon fichier. Ouvrez-le pendant qu'il se télécharge, vérifiez que le contenu, la langue et la qualité correspondent à ce que vous attendiez, et annulez tôt si ce n'est pas le cas - au lieu de le découvrir après le téléchargement complet.
- ▶ Lire sur le mur (ou
/m3u/<id>) tend une URL à votre lecteur multimédia ; le daemon démarre ou réutilise le téléchargement derrière. - Le point de terminaison
/stream/<nzo_id>sert le fichier avec la prise en charge complète des plages HTTP pendant qu'il se télécharge. Vérifier n'importe quel point fonctionne : vérifiez la minute 40 d'un coup d'œil et les articles de cette zone passent en tête de la file de téléchargement - il s'ouvre à cet endroit en quelques secondes au lieu de plusieurs minutes. Le début et la fin du fichier sont récupérés d'abord pour que les lecteurs trouvent immédiatement leurs données d'index. - Mode bibliothèque : les catégories listées dans library_cats
deviennent des entrées instantanées, métadonnées seules - un fichier
.strmapparaît aussitôt, la disponibilité est vérifiée en arrière-plan, et le vrai téléchargement démarre quand vous l'ouvrez pour la première fois.
/stream. Pour vérifier depuis une autre machine, utilisez l'adresse LAN de votre
machine à la place de localhost./stream/<id> exige un jeton
par tâche (?t=…) - les lecteurs ne savent pas envoyer de clé API, donc
le relais /m3u et le pointeur .strm l'intègrent pour vous ;
le générer (/m3u) exige la clé. Le simple service d'octets d'un
téléchargement déjà actif reste ouvert, et les installations sans clé se comportent
comme avant.8 · Serveurs Usenet
Paramètres → Serveurs Usenet est l'éditeur complet : ajouter, modifier, supprimer, réordonner, et faire entrer ou sortir n'importe quel serveur du pool. Chaque serveur a :
| Champ | Notes |
|---|---|
| Hôte / port | Utilisez le port SSL 563. TLS ne coûte rien de mesurable - nzbfast chiffre toujours. |
| Nom d'utilisateur / mot de passe | Stockés localement dans config.local.json, jamais renvoyés au navigateur. Laisser le mot de passe vide à la modification conserve celui qui est stocké. Les mots de passe sont obscurcis sur le disque, pas chiffrés. |
| Connexions | Connexions simultanées par serveur. Utilisez le Réglage des connexions (§13) pour trouver l'optimum de chaque fournisseur plutôt que de viser haut au hasard. |
| Niveau (tier) | 0 = primaire ; les niveaux supérieurs sont des serveurs de fill, sollicités uniquement pour les articles manqués par tous les niveaux inférieurs. Mettez les comptes illimités à 0, les comptes à bloc à 1+. |
| Taille du bloc (GB) | Pour les comptes à bloc (payés au GB) : nzbfast suit l'usage cumulé par rapport à cette taille et cesse d'utiliser le serveur une fois le bloc épuisé (avertissement à 85 %). |
Laissez un peu de marge sous la limite de connexions de votre compte. Régler les connexions un cran en dessous de la limite ne coûte rien : le débit plafonne bien avant les une ou deux dernières connexions, et le Réglage des connexions (§13) s'arrête de toute façon en dessous. Ce sont ces places libres qui permettent à un deuxième appareil, à un autre client ou à une nouvelle tentative après une coupure de socket de passer quand même, au lieu d'être refusés pendant que celui-ci occupe toutes les places.
Comment vos mots de passe fournisseur sont stockés
Les mots de passe fournisseur dans config.local.json sont
obscurcis, pas chiffrés. Ils sont stockés sous la forme obf1:
suivie d'une forme encodée, afin que le fichier ne se lise pas en clair s'il
apparaît dans une capture d'écran, un message de forum, un rapport de bug, ou sur
un écran que quelqu'un d'autre peut voir.
Soyons clairs sur ce que cela apporte et ce que cela n'apporte pas :
- Ce n'est pas du chiffrement et cela ne protège en rien de quiconque possède le fichier. La méthode figure dans nos sources publiques et le décodeur est livré à l'intérieur de nzbfast : quiconque détient le fichier peut retrouver le mot de passe en quelques secondes. Traitez le fichier comme un secret exactement comme si les mots de passe étaient lisibles.
- Cela supprime la fuite banale, qui est la plus courante. Les configs sont bien plus souvent collées dans des fils d'assistance et capturées dans des copies d'écran qu'elles ne sont volées sur le disque.
- Un mot de passe que vous avez saisi vous-même en clair fonctionne toujours. nzbfast lit les deux formes, donc les configs modifiées à la main et les imports depuis d'autres clients ne sont jamais cassés ; il écrit la forme obscurcie à la prochaine sauvegarde.
- Le fichier est en outre écrit lisible uniquement par le compte qui exécute nzbfast (mode 0600 sur macOS et Linux).
À titre de comparaison, NZBGet et SABnzbd stockent tous deux les mots de passe fournisseur en texte lisible dans leurs fichiers de configuration. Nous considérons l'obscurcissement comme une petite amélioration là-dessus, pas comme une fonction de sécurité.
Pourquoi pas le trousseau système ? Le trousseau macOS, le gestionnaire d'identifiants Windows et les services de secrets Linux offriraient une vraie protection, et nous y reviendrons peut-être. Deux choses nous en empêchent aujourd'hui. L'accès au trousseau est lié à l'identité de l'application, et nzbfast n'est pas encore signé, donc les invites et le comportement après chaque mise à jour sont mauvais. Et une grande part des installations sont Docker, des serveurs sans écran et des NAS où aucun trousseau n'existe, ce qui laisserait deux chemins de stockage différents à maintenir corrects. Un format unique et bien compris qui se comporte pareil partout est, pour l'instant, le meilleur compromis.
Deux autres options par serveur n'ont pas encore de contrôle dans le tableau de
bord : ajoutez-les à la main dans l'entrée de ce serveur dans
config.local.json (voir §17), puis redémarrez.
| Clé | Notes |
|---|---|
bind_ip | Lie les connexions sortantes de ce serveur à une adresse locale précise, pour les machines multi-hébergées et les tunnels VPN partagés. La famille d'adresses choisit aussi la famille cible : une liaison v4 se connecte à l'adresse v4 du serveur. |
socks5 | Fait passer le trafic NNTP de ce serveur par un proxy SOCKS5 : host:port, ou user:pass@host:port. Le nom d'hôte est résolu par le proxy, donc aucune fuite DNS locale. |
- La coche à côté de chaque serveur est son interrupteur : cochée, le serveur est dans le pool de téléchargement ; décochée, il est désactivé. Un serveur désactivé conserve ses identifiants et ses réglages et reste testable ; on ne lui demande simplement jamais d'articles. Sa ligne s'estompe, le compteur du titre (2 sur 3 actifs) diminue, et le changement s'applique dès le téléchargement suivant. Pratique pour mettre en réserve un compte au bloc, ou pour prouver qu'un fournisseur est à l'origine d'un problème sans le supprimer.
- Tester effectue une vraie connexion + TLS + login et rapporte le temps d'aller-retour.
- Importer depuis SABnzbd / NZBGet… parcourt les emplacements d'installation habituels, montre ce qu'il a trouvé et copie les serveurs (en sautant les doublons).
- Les modifications de serveurs s'appliquent dès le téléchargement suivant - sans redémarrage.
9 · Référence des paramètres
Presque tout se configure depuis le tableau de bord, sous ⚙ Paramètres ; les
quatre exceptions sont listées en fin de section. Les valeurs marquées
live s'appliquent immédiatement,
restart au prochain lancement. Chaque changement fait
ici est écrit dans settings.json et survit aux redémarrages (les valeurs
de l'interface l'emportent sur les options de ligne de commande).
Vitesse & planification en direct
| Réglage | Effet |
|---|---|
| Limite de vitesse | Plafond en octets/s (50M, 1G, 0 = illimité). Les applis distantes peuvent envoyer des pourcentages - définissez la Vitesse de la ligne pour qu'ils se traduisent correctement. |
| Vitesse auto | Plafond régulé par RTT qui cède la place au reste du trafic du foyer et se ré-étend quand la ligne est calme. |
| Reporter auto les téléchargements lents | Une tâche coincée sur un seul serveur lent pendant que d'autres attendent est renvoyée en fin de file (progression conservée). Voir §13. |
| Préchargement sur serveurs inactifs | Les serveurs inutiles au téléchargement actif démarrent la tâche suivante en file. Voir §13. |
| Mise à jour auto / URL de vérification des mises à jour | Voir §14. |
| Vitesse de la ligne | La vitesse nominale de votre connexion - active les limites en pourcentage depuis les applis compatibles SABnzbd. |
| Planification hebdomadaire | Éditeur de règles horaires hebdomadaires : pause, reprise ou limite de vitesse à des jours/heures donnés (heure locale). Ex. : limiter à 20 MB/s en semaine de 9 à 17 h, sans limite le reste du temps. |
Prochain téléchargement en direct
Connexions (par serveur), fenêtre (profondeur de pipelining par connexion), threads de décodage (décodage parallèle). Échantillonnés au démarrage de chaque tâche. Les valeurs par défaut conviennent à la plupart des lignes ; utilisez les outils de réglage avant d'augmenter à l'aveugle.
Vérification pendant le téléchargement choisit ce qui est contrôlé à mesure que les données arrivent. Complète confirme chaque bloc PAR2 en MD5. Rapide (par défaut) revendique les blocs par CRC32, ce qui est 2-3x plus rapide sur un processeur lent, et vérifie toujours la somme de contrôle propre à chaque article. Économe saute aussi ces sommes d'articles dès que PAR2 couvre un fichier : le dommage apparaît alors un instant plus tard, au niveau de son bloc. Dans les trois cas la passe finale et toute réparation utilisent le MD5 complet, et un téléchargement sans fichiers PAR2 garde ses sommes d'articles.
Disque & quota en direct
Espace libre minimum (met en pause les nouvelles tâches en dessous ; 2 Go par défaut, 0 le désactive), quota de téléchargement par jour ou par mois (UTC ; les tâches Forcé le contournent), budget mémoire - l'enveloppe RAM du moteur (par défaut : ¼ de la RAM, borné ; augmentez-le sur une machine riche en RAM pour la vitesse maximale sur les très grosses tâches, et voyez ce que coûte une mémoire réduite avant de le baisser) redémarrage.
Déplacer les terminés vers : après extraction, nettoyage et renommage,
les téléchargements terminés sont déplacés ici - un partage NAS, un disque
multimédia, là où vit votre médiathèque. L'arborescence des catégories est
conservée (une tâche terminée sous tv/ arrive sous tv/ à
destination), et l'historique suit le déplacement : les applications connectées
importent et suppriment donc au nouvel emplacement. Si la destination est
inaccessible à la fin d'une tâche (partage hors ligne, plus d'espace), les fichiers
restent dans le dossier de téléchargement et la tâche se termine normalement.
Vide = désactivé. Les Destinations par catégorie envoient certaines
catégories ailleurs (tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies) ; chaque chemin listé est le dossier de cette
catégorie, aucun sous-dossier de catégorie supplémentaire n'y est donc créé. Les
catégories non listées suivent Déplacer les terminés vers.
Profondeur des archives imbriquées (5 par défaut) est le nombre de couches archive-dans-archive décompressées automatiquement : un jeu RAR contenant un 7z contenant un autre RAR est courant sur Usenet, et nzbfast suit la chaîne sans seconde passe. À la limite, l'archive la plus profonde est simplement laissée en place, non décompressée, et le téléchargement se termine quand même. Ne l'augmentez que pour des releases anormalement profondes.
Renommage auto & nettoyage live
Renommer les téléchargements terminés (activé par défaut) donne au dossier et
au fichier principal un nom propre et informatif : un film devient
Example Movie (2024), les séries gardent Show - S01E02. Les
noms obscurcis ou non reconnus sont laissés exactement tels que postés plutôt que
devinés.
| Réglage | Effet |
|---|---|
| Inclure la résolution | Ajoute 1080p, 2160p… au nom. Activé par défaut ; les quatre autres marqueurs sont désactivés. |
| Inclure le codec vidéo | x265, x264, AV1… |
| Inclure le codec audio | Atmos, DTS-HD, AC3… |
| Inclure la source | BluRay, WEB, REMUX… |
| Inclure le groupe de release | Le marqueur -GROUP à la fin. |
| Supprimer les fichiers superflus | Activé par défaut. Supprime les .par2, .nzb, .sfv, .nfo restants et les extraits d'échantillon des dossiers film/série terminés. Jamais la vidéo ni ses sous-titres. |
| Ne garder que le fichier média | Désactivé par défaut, et destructeur : supprime définitivement tout le dossier sauf la ou les vidéos et les sous-titres. Chaque épisode d'un pack de saison est conservé. Prend le pas sur Supprimer les fichiers superflus si les deux sont actifs. |
| Keep the other words in the name | Activé par défaut. Le sport, les courses et les autres événements sont souvent un même titre répété toute la saison, à un mot ou deux près - "Round11 Hungary Race" contre "Round11 Hungary Qualifying". Garder ces mots est ce qui empêche toute une saison de se réduire au même nom. Ne s'applique que là où le nom ne pouvait être mis au propre autrement, si bien que les films et épisodes ordinaires ne sont pas touchés. |
L'ensemble s'exécute après réparation et décompression et avant Déplacer les terminés vers, et est entièrement sauté pour une tâche encore en attente de mot de passe. Les deux étapes de suppression ne s'appliquent qu'aux releases reconnues comme film ou série : une charge logicielle ou un jeu non classable (obscurci) n'est jamais nettoyé.
Les fichiers supprimés vont à la Corbeille décide de ce que « supprimer » signifie ci-dessus. Activé, le nettoyage déplace les fichiers vers la Corbeille du système, si bien qu'une erreur sur ce qui était superflu peut être annulée ; désactivé, ils sont supprimés définitivement. Il est activé par défaut sur macOS et Windows, où la Corbeille est un endroit que vous pouvez voir et vider, et désactivé par défaut sur Linux, où ce n'est en général pas le cas.
.Trash-1000 (le nombre est votre identifiant utilisateur) à la racine
du disque de téléchargement et y déplacent les fichiers. Rien ne vous montre ce
dossier, rien ne le vide, et l'espace qu'il occupe ne revient jamais.
Si vous avez utilisé une version antérieure de nzbfast sur Linux avec cette option activée, cherchez ce dossier à la racine de votre partage de téléchargement. Vous pouvez le vider sans risque : tout ce qu'il contient est un fichier dont le nettoyage avait déjà décidé que vous ne le vouliez pas. nzbfast ne le videra pas à votre place, car il est sur votre disque et c'est à vous d'en juger.
Dossiers & traitement
Dossier de téléchargement redémarrage,
dossier surveillé, script de post-traitement (exécuté après chaque
tâche avec les arguments compatibles SABnzbd et l'environnement SAB_* -
vos scripts SAB existants fonctionnent tels quels), extensions de nettoyage
(fichiers parasites supprimés après réussite), Dossiers intelligents
et classement TV (voir §10).
Conserver les .nzb après prise en charge (désactivé par défaut) laisse le
.nzb d'origine dans le dossier surveillé après sa mise en file, au lieu
de le déplacer vers la corbeille - pour les collectionneurs, et pour transmettre le
fichier quand un téléchargement pose problème. Un fichier conservé est mémorisé, y
compris entre les redémarrages, et n'est pas remis en file ; réenregistrez-le pour le
télécharger à nouveau. Quel que soit votre choix, le tiroir de chaque tâche a un
bouton Télécharger le .nzb, donc une copie du .nzb de n'importe
quelle tâche n'est jamais à plus d'un clic.
Indexation en direct
| Réglage | Effet |
|---|---|
| Indexeur intégré | L'interrupteur principal, éteint tant que vous ne l'allumez pas. Éteint signifie aucun scan, aucune recherche de métadonnées, aucun échantillonnage de disponibilité et aucun flux newznab ; un index déjà sur le disque est conservé (il y a un bouton pour le supprimer), donc le rallumer reprend au lieu de tout rescanner. |
| Groupes | Les newsgroups que l'indexeur intégré scanne (ex. alt.binaries.teevee). |
| Intervalle de scan | Secondes entre les passes (900 par défaut). |
| Articles de backfill | En-têtes récupérés au tout premier scan d'un groupe. |
| Approfondir par scan | Chaque passe indexe aussi ce nombre d'articles plus anciens, étoffant votre historique consultable en arrière-plan jusqu'à l'âge max (200 000 par passe par défaut ≈ des dizaines de millions d'articles par journée de fonctionnement). |
| Âge max | Ignorer les posts plus vieux que ce seuil (90d, 6m, 2y) - borne la taille de l'index et le temps de scan. |
| Limiter à la fenêtre d'âge | Activé par défaut. Supprime aussi les releases déjà stockées une fois passé l'âge maximum, pour que l'index tienne à peu près cette fenêtre au lieu de grossir sans fin. Désactivé = seuls les nouveaux posts sont filtrés et ce qui est stocké reste. Les fragments morts (masqués, toujours incomplets après une semaine) sont récoltés dans les deux cas. |
| Filtres d'ingestion | Règles JSON filtrant ce qui entre dans l'index : types (le tout-venant obfusqué est écarté par défaut), année/résolution/langue, bornes de taille. |
| Scanner maintenant / rescan profond | Lance une passe immédiatement ; avec une profondeur, rescanne ce nombre d'en-têtes récents. |
| Clé OMDb / rafraîchir les métadonnées / effacer | Contrôles d'enrichissement du mur (§6). Effacer reconstruit la base de zéro - la voie de secours si elle est un jour corrompue. |
| Flux de pres | Désactivé tant que vous ne l'activez pas. Beaucoup d'envois sont publiés sans leur nom, et une analyse n'a alors rien à lire. Des canaux de relais publics annoncent le vrai nom, seule voie ouverte pour rapprocher ces envois. Activer garde une connexion ouverte vers un réseau IRC et écoute : rien n'est jamais envoyé et aucun compte n'est créé. Exige l'indexeur actif, car un flux sans endroit où ranger ce qu'il entend n'est qu'une socket ouverte pour rien. |
| Serveur de relais, Canaux de relais | Le réseau IRC qui porte les annonces (hôte ou hôte:port) et les canaux à écouter, séparés par des virgules. Un changement prend effet à la connexion suivante : coupez puis rallumez le flux pour l'appliquer tout de suite. |
| Nommer par corrélation | Les relais publics en direct ne portent aucun nom de fichier, donc la plupart des envois obscurcis ne peuvent pas être rapprochés directement. Ce qu'une annonce fixe, en revanche, c'est le moment d'apparition d'une release et sa taille. Ceci compare l'heure et la taille annoncées aux envois sans nom et, quand cela concorde, propose le vrai nom dans Parcourir. Une suggestion est signalée comme telle, demande votre clic, et ne renomme jamais de fichier sur le disque. |
| Appliquer automatiquement les correspondances fortes | Désactivé par défaut, et strict une fois actif : la taille doit concorder étroitement, aucune autre annonce ne doit convenir presque aussi bien, et l'annonce doit choisir cet envoi en retour lors du contrôle inverse. Un nom appliqué ne change que l'affichage, il est marqué comme déduit, et il se retire tout seul si un téléchargement terminé le contredit. Tout ce qui est plus faible reste une suggestion. |
| Historique des annonces | Le flux en direct n'entend que les annonces postérieures à son activation. Ceci récupère environ six mois d'annonces passées auprès d'une base de pres publique, poliment et une seule fois, pour que les envois déjà indexés puissent aussi être rapprochés. Tourne en arrière-plan une demi-heure environ. |
Bibliothèque, Sécurité, Interface
Bibliothèque : catégories traitées comme entrées de bibliothèque instantanées + intervalle de revérification. Sécurité : la clé API complète (tout) et la clé NZB (ajout seul - sans risque à donner aux sites d'indexeurs), toutes deux renouvelables en direct. Chaque champ remplace la clé qui lui correspond dès que vous le quittez, et laisser un champ vide conserve la clé qu'il a déjà. La clé API dispose en plus de Show, qui révèle et copie la clé en cours pour que vous la colliez dans Sonarr, Radarr ou NZB360 quand cela vous arrange, et de Create new, qui en fabrique une de remplacement - l'ancienne cesse de fonctionner immédiatement, donc tout ce qui est déjà connecté doit recevoir la nouvelle. Les deux sont conditionnés à la clé API elle-même : la clé NZB en ajout seul ne peut pas la lire, ce qui est tout l'intérêt de cette clé. Pour savoir d'où vient la clé sur une installation neuve, voir §2. Interface : sons de clic, notifications de bureau à la fin des téléchargements, intervalle de retri des fournisseurs.
Unités de vitesse live décide de l'affichage de chaque vitesse du tableau de bord : mégaoctets (Mo/s, la norme des gestionnaires de téléchargement, par défaut) ou mégabits (Mb/s, comme les FAI annoncent les lignes). Les tailles de fichiers restent en octets. C'est une propriété du daemon, pas de votre navigateur : cela vaut donc pour tous les appareils qui regardent cette installation.
Avancé : les réglages fins derrière les évidents
Six réglages sans option de ligne de commande. Chacun a désormais sa ligne avancée
sur la carte de réglages qui le concerne, et reste accessible par l'API
(§16), p. ex.
/api?mode=config&name=verify_mode&value=lean&apikey=…. Comme
tous les autres, ils sont écrits dans settings.json.
| Nom | Effet |
|---|---|
verify_mode | full | fast | lean (fast par défaut). lean est le coup de pouce pour processeur lent : comme fast, mais en sautant aussi le CRC yEnc par article dès que PAR2 couvre un fichier, soit une couche de CRC32 au lieu de deux. Les téléchargements sans PAR2 gardent leurs CRC d'articles, et la vérification et la réparation de fin de tâche sont inchangées dans tous les cas. Le sélecteur Vérification pendant le téléchargement ci-dessus est ce réglage. |
auto_retry_mins | Délai avant l'unique nouvelle tentative automatique accordée à un premier échec pour articles manquants (20 par défaut). Le retard de propagation est une vraie cause d'articles manquants et se résorbe seul ; grâce au journal, la reprise ne récupère que ce qui manque encore. Les échecs pour mot de passe ou retrait n'y ont jamais droit. |
index_scan_par | Nombre de groupes analysés en parallèle par l'indexeur (3 par défaut, borné à 1-8). |
oracle_sample | Budget de STAT au repos de l'oracle de disponibilité (§13), sondes par heure et par serveur. 300 par défaut, 3600 au maximum, 0 désactive complètement l'échantillonnage. |
predb_max_rows | Nombre d'annonces pre conservées dans la table du flux (250000 par défaut, borné à 10000-5000000). Le nettoyage horaire ramène la table à ce nombre et l'import historique refuse de démarrer s'il devait le dépasser, de sorte qu'un import n'ajoute jamais des lignes que le nettoyage suivant effacerait. |
predb_seed_days | Profondeur d'historique atteinte par un import de départ lancé sans fenêtre propre (180 jours par défaut, 366 au maximum). Une fenêtre plus large signifie plus de requêtes vers la source pre, cadencée à une toutes les deux secondes. |
10 · Automatisation
Liste de suivi
L'automatisation la plus simple : ajoutez un titre sur le tableau de bord, réglez vos préférences de qualité, c'est tout. Les nouvelles releases sont récupérées dès qu'elles apparaissent dans vos groupes indexés ; les copies de meilleure qualité remplacent les précédentes ; une vue calendrier montre ce qui arrive.
Flux RSS
Paramètres → RSS : n'importe quelle URL RSS newznab/indexeur, avec intervalle, catégorie et règles de filtrage par flux (motifs de titre, bornes de taille). Les éléments correspondants sont téléchargés automatiquement.
Dossiers intelligents
Des règles évaluées à l'ajout d'une tâche : correspondance par motif/mots-clés et
taille, attribution d'une catégorie (la première correspondance gagne). Avec le
classement TV activé, les épisodes terminés sont renommés et classés en
Show/Season 01/Show - S01E02.mkv -
prêts pour Plex/Jellyfin sans outil externe.
Planificateur
La planification hebdomadaire (voir §9) automatise pause/reprise/vitesse selon l'heure de la journée.
Scripts
Un script de post-traitement reçoit les arguments positionnels de SABnzbd et les
variables d'environnement SAB_* - le vaste écosystème de scripts SAB
tourne tel quel.
11 · Sonarr, Radarr & compagnie
nzbfast parle nativement l'API SABnzbd, donc chaque *arr fonctionne d'emblée - et il peut aussi jouer le rôle de leur indexeur.
Comme client de téléchargement
- Dans Sonarr/Radarr : Settings → Download Clients → ajoutez SABnzbd.
- Hôte : votre machine nzbfast · Port : 6789 · Clé API : votre clé API complète (où la trouver : §2).
- Catégorie au choix (ex.
tv/movies). Test → coche verte → Save.
File, historique, statut par tâche, « retirer & supprimer », réessai et routage par catégorie se comportent comme les *arr l'attendent.
Comme indexeur (newznab)
- Settings → Indexers → ajoutez Newznab.
- URL :
http://<host>:6789/· chemin d'API :/api· clé : votre clé API. - nzbfast sert les requêtes
caps,search,tvsearchetmoviedepuis son propre index de vos groupes surveillés, et/getnzb/<id>renvoie le NZB.
<error code="101"> plutôt que par un résultat vide, si bien qu'une
erreur se voit au moment où vous ajoutez l'indexeur et non des semaines plus tard.Pourquoi s'en donner la peine ? Un indexeur auto-hébergé couvrant exactement les groupes qui vous intéressent : pas de comptes, pas de limites d'appels API, une rétention aussi profonde que vous le laissez scanner. C'est un complément à vos indexeurs habituels plutôt qu'un remplacement, car il ne trouve que ce qui a été posté sous un vrai nom de fichier.
12 · Téléphone & applis distantes
nzbfast implémente les deux grands protocoles de contrôle à distance, donc presque toutes les applis mobiles/tablette fonctionnent. Choisissez le protocole que votre appli prend en charge :
Applis qui parlent NZBGet (nzb360, LunaSea, NZB Unity…)
| Champ dans l'appli | Valeur |
|---|---|
| Type | NZBGet |
| Hôte / port | votre machine : 6789 |
| Nom d'utilisateur | n'importe lequel (ex. nzbfast) |
| Mot de passe | votre clé API |
Toute la surface JSON-RPC utilisée par ces applis est servie : statut, file avec réordonnancement/pause/suppression, historique, ajout de NZB, limite de vitesse, pause/reprise, journal.
Applis qui parlent SABnzbd
| Champ dans l'appli | Valeur |
|---|---|
| Type | SABnzbd |
| Hôte / port | votre machine : 6789 |
| Clé API | votre clé API (ou la clé NZB pour un accès ajout seul) |
Le tableau de bord sur votre téléphone
Ouvrez simplement http://<machine>:6789 dans un navigateur
mobile - tout le tableau de bord et le mur ont une mise en page tactile. Le panneau
Paramètres → Accès à distance affiche les URL exactes et un QR code à scanner.
Accéder à nzbfast depuis l'extérieur de chez vous
Il n'y a pas de page de connexion, et c'est délibéré. Une connexion par cookie de session est une surface de sécurité à maintenir indéfiniment, et elle resterait le maillon le plus faible de tout ce qui est exposé à Internet. nzbfast s'authentifie plutôt avec votre clé API, et il accepte cette clé dans un en-tête de requête aussi bien que dans l'URL (X-Api-Key, ou Authorization: Bearer) - c'est ce qui permet à un service placé devant lui de gérer correctement la connexion.
La solution la plus simple est de ne rien publier du tout. Installez Tailscale sur cette machine et sur votre téléphone : les deux rejoignent un même réseau privé, rien n'est exposé, aucun réglage de routeur ni de certificat n'est nécessaire, et Réglages → Accès à distance affiche une adresse qui fonctionne de partout dès qu'il détecte Tailscale. Préférez cette voie sauf si vous avez besoin d'un domaine public.
Si vous en avez vraiment besoin, placez un proxy inverse devant, confiez-lui le certificat et laissez-le assurer l'authentification. Démarrez nzbfast avec --bind 127.0.0.1 pour que le proxy soit la seule entrée, et pointez le proxy vers http://127.0.0.1:6789 :
# Caddy
example.com {
reverse_proxy 127.0.0.1:6789
}
# nginx
location / {
proxy_pass http://127.0.0.1:6789;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Ajoutez par-dessus ce que propose votre proxy : authentification basique, un service de forward-auth comme Authelia ou Authentik, ou des certificats client. Un détail piège tout le monde - Sonarr, Radarr et les applications mobiles ne peuvent pas effectuer une connexion via navigateur, laissez-leur donc un passage. La plupart des proxys savent laisser passer une requête portant un en-tête X-Api-Key valide et exiger l'authentification pour tout le reste.
13 · Outils de performance
Benchmark système
Un clic mesure vos trois plafonds - débit réseau (une vraie sonde multi-connexions de 8 secondes), vitesse de vérification du CPU et vitesse d'écriture disque - et commence par la réponse : votre vitesse de téléchargement maximale attendue et le plafond qui la limite. La barre la plus courte est votre goulot d'étranglement ; les autres montrent leur marge. Planifiez-le (toutes les 6 h → hebdomadaire) et chaque exécution est consignée dans un historique, pour voir quand votre fournisseur, votre FAI ou votre matériel change de comportement. Les exécutions planifiées n'ont lieu que quand la file est au repos.
Réglage des connexions
Mesure un fournisseur à des nombres de connexions croissants et recommande le réglage - plus de sockets aident jusqu'à saturation du fournisseur ou de votre ligne, et certains fournisseurs punissent la sur-demande. Tout tester compare chaque fournisseur, puis les lance tous ensemble pour vérifier que le pool sature votre ligne.
Diversité des serveurs
Échantillonne par STAT des articles de différents âges sur chaque serveur et regroupe les fournisseurs par lacunes partagées : des fournisseurs avec ~100 % d'articles manquants en commun sont le même backbone (redondant pour la récupération) ; les indépendants étendent réellement votre couverture. Se conclut par une recommandation en langage clair.
Intelligence de file automatique
- Report automatique : un téléchargement qui se traîne sur un seul serveur lent pendant que d'autres tâches attendent est garé en fin de file (le journal conserve sa progression) et retenté quand la file est dégagée.
- Préchargement sur serveurs inactifs : les serveurs qui ne peuvent pas aider la tâche active (leurs copies ont disparu) téléchargent pendant ce temps la tâche suivante en file. Aucun autre client ne fait de chevauchement inter-tâches.
- Enchaînement inter-tâches : pendant que la fin d'une tâche (vérification/extraction) se termine sur disque, le téléchargement de la suivante possède déjà la ligne.
L'oracle de disponibilité
Les retraits sont la première cause d'échec d'un téléchargement Usenet, et ils sont prévisibles : la même release disparaît d'un backbone pendant qu'un autre l'a encore. nzbfast tient un petit registre de ce que vos propres fournisseurs ont réellement servi, et dépense un minuscule budget de sondes STAT au repos (quelques centaines par heure et par serveur, jamais pendant un téléchargement) pour le tenir à jour. Il ne télécharge jamais de charge utile pour cela.
Ce que cela vous apporte :
- Un verdict de disponibilité sur les vignettes du mur et les lignes de l'index (§6) : « ? » orange pour incertain chez vos fournisseurs, rouge pour perdu avec certitude. Aucune marque signifie que tout semble en ordre.
- Un badge purgé sur les groupes dont les posts récents sont déjà retirés : de quoi distinguer un groupe qui meurt d'une release malchanceuse.
- Ignorer les fournisseurs que l'oracle déclare vides (Paramètres, désactivé par défaut, expérimental) : quand la vérification est sûre qu'un backbone a perdu une release, ce fournisseur est passé directement pour ce téléchargement au lieu d'attendre son échec. Il ne sautera jamais votre dernier fournisseur.
Le verdict est une prédiction fondée sur des indices, pas une garantie.
Pour une réponse ferme sur un NZB, nzbfast check
(§15) compte les articles réels.
Budget mémoire - et ce que coûte une mémoire réduite
Tous les caches du moteur partagent un même budget (par défaut ¼ de la RAM
physique, borné à 256 MB–16 GB). Fixez-le explicitement avec Budget mémoire
dans les Paramètres, ou --mem-limit en ligne de commande.
nzbfast est conçu pour saturer votre réseau et votre disque en même temps, et c'est la RAM qui lui permet de faire les deux en une passe : les articles sont décodés, vérifiés et écrits directement à leurs positions finales, si bien que les volumes d'archive n'ont jamais besoin de toucher le disque. Privez-le de mémoire et rien ne casse - chaque cache a une voie de débordement, et le moteur se rabat sur davantage d'E/S disque plutôt que de swapper ou d'échouer. Mais ce débordement n'est pas gratuit, et sur les grosses tâches il se mesure.
Mesuré sur une seule machine et une seule ligne (M1 Ultra, 10 GbE), mêmes fichiers à chaque budget. Chaque exécution a produit un résultat correct, entièrement vérifié et extrait :
| Taille de la tâche | RAM abondante | Budget 2 GB ≈ machine 8 GB | Budget 1 GB ≈ machine 4 GB | Budget 256 MB ≈ NAS 2 GB |
|---|---|---|---|---|
| 7 GB | 15 s | 15 s | 15 s | 15 s |
| 35 GB | 65 s | 70 s | 70 s | 65 s |
| 87 GB | 148 s | 206 s +39% | 196 s +32% | 180 s +22% |
| 190 GB | 330 s | 427 s +29% | 402 s +22% | 411 s +25% |
Le pic mémoire suit le budget, pas la tâche : ce téléchargement de 190 GB se termine dans environ 1.1 GB de RAM. Ce que vous échangez contre cela, c'est du temps - et seulement sur les grosses tâches.
- Jusqu'à ~35 GB, la mémoire réduite est gratuite. Le jeu de travail tient de toute façon, donc une machine de 4 GB termine une telle tâche aussi vite qu'une machine de 64 GB.
- Au-delà de ~87 GB, vous payez 20–40 % - mais seulement quand votre ligne devance votre disque. Les blocs de vérification et les volumes d'archive qui seraient restés en RAM sont écrits puis relus, et cela ne coûte du temps que si le réseau livre plus vite que le disque ne peut absorber le trafic supplémentaire. Les 20–40 % ci-dessus ont été mesurés en 10 GbE ; la même tâche de 87 GB aux mêmes budgets, sur une ligne d'environ 2.4 Gbps, n'a montré aucune pénalité (−1 à +7 %, dans le bruit de mesure). La pénalité dépend de l'écart entre la ligne et le disque, pas de la taille de la tâche - sur une connexion domestique typique, un petit budget est quasiment gratuit même sur de très grosses tâches.
- La pénalité plafonne. Dès qu'une tâche est assez grosse pour déborder, chaque budget contraint déborde à peu près autant - les exécutions à 2 GB, 1 GB et 256 MB relisent en pratique le même nombre de blocs depuis le disque et finissent dans le bruit l'une de l'autre. Un peu plus de RAM sous le seuil qui évite entièrement le débordement ne rachète donc pas le coût : donnez-lui de quoi garder la tâche en mémoire, sinon le chiffre exact importe peu.
Sur un petit NAS, baissez aussi les Connexions (2–4) en même temps que le budget. À 256 MB de budget et 2 connexions, le pic mémoire reste proche de 190 MB - confortablement dans ce qu'un NAS 2 GB a de disponible. Sachez qu'à ce stade, c'est le nombre de connexions, pas la mémoire, qui vous limite : la même tâche de 35 GB a pris 286 s au lieu de 65 s. C'est la forme honnête du compromis - elle finira toujours, et finira correctement ; elle ne saturera simplement pas la ligne.
Les benchmarks sont relancés à chaque version ; la méthode et les chiffres par machine sont publiés avec les résultats.
14 · Mises à jour
- Les mises à jour sont notification seulement : nzbfast ne télécharge ni ne remplace jamais son propre binaire, et il ne contient aucun code capable de le faire. Quand une nouvelle version existe, l'en-tête affiche ⬆ v X disponible - télécharger ; la puce mène à la page de téléchargement officielle (le lien est figé dans l'app, il ne vient jamais du manifeste de mise à jour). Installez la nouvelle version comme vous avez installé l'actuelle.
- nzbfast vérifie les nouvelles versions deux fois par jour. Désactivez Vérifier les mises à jour (Paramètres) et il ne contacte plus du tout le manifeste de mise à jour ; une URL de vérification vide fait pareil.
Mettre à jour sans perdre vos paramètres
Une seule règle couvre toutes les installations : une mise à jour remplace le programme, jamais vos paramètres. Tout ce que vous avez configuré - serveurs, chemins, clé API, file - vit dans une poignée de fichiers d'un seul dossier (§17), et aucun installateur, récupération d'image ou mise à niveau de paquet ne touche à ce dossier. Quand les paramètres semblent tout de même disparus après une mise à jour, c'est presque toujours parce que la nouvelle installation lit un dossier différent, vide, pas parce que quoi que ce soit a été supprimé ; les anciens fichiers sont toujours là où ils ont toujours été. §18 donne les étapes de récupération.
| Installation | Comment mettre à jour |
|---|---|
| App macOS | Ouvrez le nouveau DMG et faites glisser NzbFast dans Applications, en remplaçant l'ancienne. Votre dossier de données est séparé et n'est pas touché. |
| Installateur Windows | Lancez le nouveau programme d'installation par-dessus l'installation existante. Votre dossier de données est séparé et n'est pas touché. |
| Docker (ligne de commande) | docker pull nzbfast/nzbfast,
supprimez l'ancien conteneur, puis lancez le nouveau avec exactement les mêmes
montages -v. L'image est jetable ; le dossier
/config monté est votre installation. Si votre commande de lancement
utilise un chemin relatif comme -v ./config:/config, exécutez-la
depuis le même répertoire à chaque fois - depuis n'importe où ailleurs,
./config est un dossier différent, vide. |
| Docker Compose | docker compose pull && docker compose
up -d, avec le même fichier compose au même endroit. Le
./config du fichier est ancré au dossier du fichier lui-même, donc
laissez le fichier là où il est. |
| Watchtower | Rien à faire : il recrée le conteneur avec les mêmes montages quand une nouvelle image sort. |
| Unraid | Onglet Docker → Check for Updates → Apply
Update. Ne mettez jamais à jour en supprimant puis réajoutant l'app ; si un
jour vous réinstallez vraiment, gardez le même chemin appdata pour qu'elle
retrouve votre /config existant. |
| Synology (Container Manager) | Téléchargez la nouvelle image, arrêtez le conteneur et recréez-le avec les mêmes réglages de volumes - le guide Synology détaille l'opération clic par clic, y compris la façon de le faire selon une planification. |
| Synology (paquet) | Installez le nouveau .spk dans
Package Center ; il se met à niveau sur place. |
| Homebrew | brew upgrade nzbfast |
| Binaire simple | Remplacez le binaire. Votre config reste là où vous l'avez créée (§17). |
-e NZBFAST_APIKEY=…, ou le bloc environment de votre fichier
compose ou de votre template Unraid). Une clé stockée là survit à n'importe
quelle mésaventure du conteneur, car elle vit sur l'hôte, dans la définition, et
est réappliquée à chaque démarrage. Une clé que vous définissez plus tard dans
les Paramètres garde tout de même la priorité sur elle.15 · Ligne de commande
Tout ce que fait le daemon est aussi scriptable. Les commandes de tous les jours :
| Commande | Rôle |
|---|---|
nzbfast setup | Configuration interactive des serveurs. |
nzbfast serve | Lance le daemon (tableau de bord + API + automatisation). --open ouvre le navigateur ; --apikey fixe la clé à la main (§2) ; --bind choisit l'adresse d'écoute, par défaut 0.0.0.0 (toutes les interfaces), 127.0.0.1 pour cette machine seulement. Voir --help pour la liste complète des drapeaux - chaque réglage du tableau de bord a son jumeau en drapeau. |
nzbfast get file.nzb | Télécharge un NZB, pipeline complet, sans daemon. --preflight abandonne tôt si le post ne peut pas aboutir ; --password pour les archives chiffrées. |
nzbfast check file.nzb | Verdict de disponibilité - COMPLETE / REPAIRABLE / IMPOSSIBLE - sans télécharger la charge utile. |
nzbfast verify DIR | Vérifie les fichiers d'un répertoire contre son jeu PAR2. |
nzbfast sysbench | Le benchmark système + le rapport de diversité, dans le terminal. |
nzbfast index / search | Scanne des groupes dans l'index / le cherche, sans le daemon. |
nzbfast import-sab | Importe les serveurs depuis un ini SABnzbd. |
Également disponibles : inspect, probe,
bench, bench-cpu, soak, fetch,
spots/spot-search/spot-get (Spotnet),
predb-seed (remplit la base de pres d'avant l'activation du flux),
make-release-nzb/make-test-nzb (fixtures de test). Chaque
commande accepte --config et --help. S'y ajoute post : il téléverse des
fichiers en articles yEnc et écrit le NZB correspondant. Outil d'exploitation, il exige
un --post-server explicite et ne choisit jamais de serveur à votre
place.
16 · Aperçu de l'API
Point de terminaison de base : http://host:6789/api?mode=…&apikey=…&output=json -
compatible SABnzbd, donc les intégrations SAB existantes fonctionnent sans
changement. Deux clés : la clé API (contrôle total) et la clé NZB
(ajout seul : addfile/addurl). addnzblnk ne fait délibérément pas partie de l'ensemble en ajout seul : résoudre un lien peut consommer du quota d'indexeur facturé, ce qui n'est pas l'affaire d'un identifiant en ajout seul.
| Domaine | Modes |
|---|---|
| File | queue (avec name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, addnzblnk, retry, set_password |
| Infos | history, status/fullstatus, stats, version, server_stats, usage, log, warnings, plus /jobnzb/<nzo_id> (ressort le .nzb mis en réserve de la tâche elle-même, en file ou en historique ; clé API complète uniquement) |
| Config | get_config, config&name=<setting>&value=… (chaque champ des Paramètres), server_save/delete/test/enable/reorder, import_probe/apply |
| Index & mur | index_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, plus newznab sur /api?t=caps|search|tvsearch|movie et /getnzb/<id> |
| Automatisation | watchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule |
| Diagnostics | sysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply |
| NZBGet JSON-RPC | /jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (auth Basic : n'importe quel utilisateur, la clé API comme mot de passe) |
| Aperçu / lecture | /stream/<nzo_id> (plages HTTP ; démarrer une tâche de bibliothèque en attente exige le jeton ?t= ou la clé), /m3u/<id> (exige la clé ; génère le jeton), /wall, /art/… |
17 · Fichiers & emplacements
L'emplacement du dossier des paramètres dépend de la façon dont nzbfast a été installé. Ce seul dossier contient tout ce qui mérite une sauvegarde :
| Installation | Dossier des paramètres |
|---|---|
| App macOS | ~/Library/Application Support/nzbfast/ |
| Windows | %LOCALAPPDATA%\nzbfast\ |
| Docker / conteneurs NAS | /config à l'intérieur du
conteneur, c'est-à-dire le dossier de l'hôte que vous y avez monté. Sur Unraid,
c'est le dossier appdata de l'app. |
| Paquet Synology | /var/packages/nzbfast/var/ |
| Terminal | Le dossier dans lequel vous avez lancé
nzbfast setup, ou l'endroit vers lequel pointe --config
/ $NZBFAST_CONFIG. |
Et ce qu'il contient :
| Fichier | Contenu |
|---|---|
config.local.json | Identifiants des serveurs et options par serveur. Créé par l'assistant ; modifiable dans les Paramètres. Gardez-le privé. Les mots de passe sont obscurcis, pas chiffrés. |
settings.json | Chaque réglage modifié dans le tableau de bord. Vit à côté de la config ; les valeurs de l'interface priment sur les drapeaux de ligne de commande. Supprimez une clé (ou le fichier) pour retomber sur les drapeaux/valeurs par défaut. |
apikey | La clé API que nzbfast s'est fabriquée lors d'un premier démarrage (§2). Vit à côté de la config ; lisible seulement par le compte qui exécute nzbfast sur macOS et Linux. Ne le supprimez pas pour obtenir une clé neuve : sur une installation qui a déjà tourné, rien ne la remplace et le daemon revient sans aucune clé. Définissez-en plutôt une nouvelle dans Paramètres → Sécurité. |
index.db | L'index des releases (SQLite) + les métadonnées du mur. Sans risque à supprimer - il se reconstruit par le scan (Paramètres → Indexation → Effacer le fait pour vous). |
<config>/.spool/ | État de la file (survit aux redémarrages), NZB par tâche, registre de consommation, historique des benchmarks, cache des affiches. |
| Journal d'articles | Dans le dossier de sortie de chaque tâche tant qu'elle est incomplète - alimente la reprise après crash et le réessai. Supprimé en cas de succès. |
| Outils externes | Aucun n'est nécessaire - l'extraction RAR et la réparation PAR2 sont natives. Si un jeu exotique nécessite un jour un unrar ou par2 externe en repli, nzbfast regarde à côté de son exécutable, puis dans $PATH. |
18 · Dépannage
| Symptôme | À vérifier |
|---|---|
| Téléchargements lents | Lancez le Benchmark système - il nomme le goulot d'étranglement sans détour. Si c'est le réseau : lancez le Réglage des connexions, vérifiez le nombre de connexions par serveur, et assurez-vous que vos fournisseurs ne sont pas tous sur le même backbone (Diversité des serveurs). |
| Lent seulement sur les très grosses tâches (NAS ou machine avec peu de RAM) | Attendu, et mesurable : un budget mémoire trop maigre fait déborder les caches sur disque et coûte 20–40 % au-delà de ~87 GB. Voir Budget mémoire pour les chiffres et la RAM à lui donner. Les tâches plus petites ne sont pas affectées. |
| Le téléchargement échoue « articles manquants » | Le post a expiré ou a été retiré chez vos fournisseurs. Un second fournisseur sur un autre backbone en sauve la plupart. nzbfast check le prédit avant de télécharger. Et le mur signale à l'avance les probables disparues avec son point de
disponibilité (§13). Un premier échec de cette forme se relance
tout seul une fois après un délai, car le retard de propagation lui ressemble trait
pour trait et se résorbe seul. |
| Une archive terminée demande un mot de passe | La ligne d'Historique montre 🔑 - saisissez-y le mot de passe ; la tâche se termine sur place. |
| Une archive ne se décompresse pas | Les échecs de mot de passe et de réparation se nomment eux-mêmes dans la ligne d'Historique. Pour tout le reste il existe une porte de sortie : Paramètres → Dossier surveillé & post-traitement → Décompresser avec l'unrar externe (un réglage avancé) confie la décompression au programme unrar installé sur votre machine au lieu de l'extracteur intégré. Laissez-le désactivé sinon : le chemin intégré est plus rapide sur toutes les formes que nous avons mesurées, et les publications obfusquées aux noms hachés l'utilisent de toute façon toujours, car unrar ne peut pas suivre leur renommage. Le même interrupteur pour les exécutions nzbfast get est la variable d'environnement NZBFAST_NO_NATIVE_UNRAR=1. Si unrar décompresse une archive que l'extracteur intégré a refusée, merci de le signaler pour que nous corrigions le chemin intégré. |
| Sonarr/Radarr ne se connecte pas | Port 6789 joignable ? Clé API correcte (la clé complète, pas la clé NZB) ? Type de client réglé sur SABnzbd ? |
| Le tableau de bord réclame une clé API que je n'ai jamais définie | Une nouvelle installation s'en fabrique une et l'affiche une fois au démarrage (§2). Elle est dans le fichier apikey à côté de votre config, et dans la sortie de démarrage. Ou saisissez votre propre clé dans Paramètres → Sécurité depuis un navigateur déjà connecté. |
| Tous mes paramètres semblent disparus après une mise à jour (serveurs, chemins, clé API) | Rien dans une mise à jour ne supprime des paramètres ; cela signifie que nzbfast lit un dossier différent, vide. D'abord : le champ de la clé API dans les Paramètres s'affiche vide à dessein - cliquez sur Show avant de conclure qu'elle est perdue. Sur Docker, comparez le montage /config du nouveau conteneur avec celui de l'ancien : un chemin hôte modifié, un chemin relatif lancé depuis un autre répertoire ou un dossier appdata tout neuf font tous repartir nzbfast de zéro pendant que vos vrais paramètres restent intacts au chemin précédent. Retrouvez l'ancien dossier (cherchez settings.json, votre fichier de config et apikey - les emplacements sont en §17), puis soit repointez le montage vers lui, soit copiez ces fichiers dans le nouveau dossier et redémarrez. Le journal de démarrage nomme le fichier de paramètres exact en usage : [settings] applying saved settings from … |
| Rien sur le réseau n'arrive à joindre le daemon | Vérifiez --bind : 127.0.0.1 ne sert que la machine où tourne nzbfast. La valeur par défaut, 0.0.0.0, sert toutes les interfaces. Vérifiez ensuite le pare-feu de la machine pour le port 6789. |
| La carte Parcourir reste maigre | L'indexeur grandit en arrière-plan - vérifiez que les groupes sont définis dans Paramètres → Indexation, et laissez à Approfondir par scan le temps d'accumuler l'historique. « Scanner maintenant » force une passe ; la ligne d'état montre la progression en direct. |
| Le mur montre une mauvaise affiche / aucune | Fiche détaillée → ✎ Corriger ou ↻ Rafraîchir les métadonnées. L'identification des films s'améliore avec une clé OMDb gratuite. |
| macOS dit que l'application « nzbfast » ne peut pas être ouverte | Deux causes, toutes deux vite réglées. Si vous utilisez le zip simple -macos-universal.zip, double-cliquez sur Start nzbfast.command, pas sur le fichier nzbfast à côté : celui-ci est le programme lui-même, et le Finder répond à un double-clic dessus par exactement ce message. C'est le lanceur qui met tout en place et démarre le programme. Si le lanceur donne le même message, la copie a perdu son bit d'exécution Unix en chemin : macOS conserve ce bit à l'intérieur du .zip, mais pas les applis de chat, les disques cloud ni un nouveau zip, si bien qu'une copie transmise de la main à la main arrive non exécutable. Téléchargez le .dmg ou le .zip directement depuis la page des releases et cela n'arrivera pas. Pour récupérer la copie que vous avez déjà : ouvrez le Terminal, tapez chmod +x suivi d'une espace, faites glisser Start nzbfast.command et le fichier nzbfast sur la fenêtre, appuyez sur Entrée, puis double-cliquez à nouveau sur le lanceur. |
| Le daemon ne démarre pas : port occupé | Une autre instance tourne - ou changez --port. |
| Où sont les journaux ? | La carte Journal du tableau de bord, ou le terminal/fichier de log avec lequel vous avez lancé serve. |
nzbfast --version.nzbfast - ce manuel accompagne chaque version. Les réglages, points de terminaison et valeurs par défaut cités ici correspondent à la version avec laquelle il a été livré.