⚡ 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-setup-<version>.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.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, et quel serveur a contribué combien à cette tâche.
- 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 avec statut, taille, emplacement ; 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.
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 le fichier
retiré. 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). |
| 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 détectés automatiquement
depuis
<meta type="password">dans le NZB ou un nom de fichierName{{password}}.nzb, et peuvent être fournis par tâche via l'API ou après coup depuis l'Historique (🔑).
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é. |
| 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 %). |
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 rapide (CRC32) (activée par défaut) revendique les blocs PAR2 par CRC32 pendant que le téléchargement tourne encore, ce qui est 2-3x plus rapide sur un processeur lent. La somme de contrôle propre à chaque article reste vérifiée, et la passe finale utilise toujours le MD5 complet : rien n'est sacrifié côté exactitude. Décochez pour calculer aussi le MD5 par bloc pendant le téléchargement.
Disque & quota en direct
Espace libre minimum (met en pause les nouvelles tâches en dessous), 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. |
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é.
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).
Indexation en direct
| Réglage | Effet |
|---|---|
| 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. |
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. 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é : réglages sans contrôle dans le tableau de bord
Quatre réglages n'ont ni contrôle dans l'interface ni option de ligne de commande.
Passez 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. La Vérification rapide ci-dessus est le même contrôle pour full contre fast. |
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. |
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 (Paramètres → Sécurité ; le contrôle QR/copier est juste à côté).
- 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.
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.
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.
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 ; 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),
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).
| Domaine | Modes |
|---|---|
| File | queue (avec name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, retry, set_password |
| Infos | history, status/fullstatus, stats, version, server_stats, usage, log, warnings |
| 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
| Fichier | Contenu |
|---|---|
config.local.json | Identifiants des serveurs et options par serveur. Créé par l'assistant ; modifiable dans les Paramètres. Gardez-le privé. |
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. |
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. |
| 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 ? |
| 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. |
| 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é.